MicroServices is a good fit for ‘Fuzzy’ applications – Fred George
Through the workshop titled “Microservices – Let’s Build Some (V2)” conducted by Fred George on March 5th, 2018 at the Agile India 2018 Conference, the participants will be able to dive deep into writing tiny asynchronous services and will learn from actual issues while implementing the paradigm. Fred will also be delivering a talk titled “IoT and MicroServices” on Digital Transformation Day, on March 8th, 2018.
Fred George is an active industry consultant and has been writing code for nearly 50 years in over 75 languages. He has delivered projects and products across his career, and in the last decade alone, has worked in the US, India, China, and the UK. An early adopter of new technologies, Fred continues to impact the industry with his leading-edge ideas, advocating MicroService Architectures since 2005 and flat team structures (under the moniker of Programmer Anarchy). He travels the globe speaking and consulting on these topics.
The #agileindia2018 team talked to Fred, this interview features the insights that Fred shared with us about IoT and Microservices
How do you see IoT and Microservices shaping organizations in the context of Digital Transformation?
I see the synergy between two major technology trends. MicroServices provides broad flexibility for change. IoT is in its infancy, and there are no industry-standard approaches; experimentation is the watchword now. MicroServices fits that uncertainty well.
The organizations are investing heavily towards cloud-native apps and microservices. Do you see a need for every app to go that route or should organizations be selective with this strategy?
MicroServices addresses a new class of application quite well, applications I term as fuzzy. That is applications which cannot guarantee a perfect answer, such as, “ Should I loan you money?” or “What advert would entice you to spend more?” It is no coincidence that the explosion of MIcroServices coincides with those fuzzy applications becoming more prevalent. On the other hand, I see no significant competitive advantage in using MicroServices for the more traditional applications, like bank balances or reservation processing. These sort of applications have definitive answers and the technology from the last 30 years addresses them well.
What are some of the key challenges organizations and individuals need to overcome as they move towards microservice?
The important consideration is whether the key business applications fuzzy or traditional. If your business is in the former category (fuzzy), competitive advantage accrues to the company that can experiment fastest. The fuzzy nature means that only the market can tell you if your idea is sound. Organizations who want detailed plans and commitments of success for fuzzy problems are doomed to fall to faster competitors who have optimized for continuous experiments. So the key organizational issue is removing those checks and balances, those numerous sign-offs, and those endless planning sessions and embracing experimentation. And experiments, by their very nature, will have failures; the organization must expect and embrace those failures. Those sort of organizational changes are difficult then the traditional application development cycle is baked into the organizational structure itself.
What are the key takeaways from your workshop titled “Microservices – Let’s Build Some (V2)” to the attendees?
In the workshop, we address a fuzzy problem: Placing adverts into a car rental website to sell additional services to potential customers. We build the solution with a small set of very simple MicroServices that are extremely decoupled from an event bus. No RESTful calls here! We then make the implementation smarter and smarter by building additional, yet still very simple, MicroServices. Throughout this process, we discover we don’t need an orchestration service to control everything. And we are developing new services in minutes, not months. Through first-hand experience, the attendees begin to understand the power of asynchronous MicroServices to address fuzzy problems.
What are the key takeaways from your talk titled “IoT and MicroServices” to the attendees?
In this talk, I take an uncertain domain (How do I want to automate my house) and address it with asynchronous MicroServices. The audience will walk away with an appreciation of how fast IoT is coming, and how asynchronous MicroServices elegantly addresses uncertainty. The audience will also begin to understand that a traditional process, even some of the current Agile processes are not necessarily well suited to address this new class of fuzzy (aka uncertain) problems.
For all the talks and workshops that Fred will be delivering at Agile India 2018 Conference please visit, https://2018.agileindia.org/speaker/fred-george/. Click here for conference details and tickets.