Microservices Architectures Are Here to Stay

Publish date:

Microservices Architecture are not only for digital natives like Netflix, PayPal, Uber, Twitter, Airbnb, Lyft, and Spotify, but something that most organizations will have to adopt sooner or later.

Like many with me, I have considered microservices architectures just for a select few forerunners, like Netflix, PayPal, Uber, Twitter, Airbnb, Lyft, and Spotify, but recently I’ve realized that this is a path that most organizations will have to take sooner or later on their digital transformation journey. In the animated image below you can see how Netflix is monitoring their 500 services or so in real-time, and each white dot is a request. On the left is the load balancer and on the right are the databases, and the most crowded paths of requests in the middle are their APIs.

When a new approach to building digital solutions comes along, the instant impression that you have to start over is usually not true. When mobile apps came along, a lot of what we already knew was valid, and the new stuff was mostly on the client side, with new operating systems and programming languages to learn. With the Internet of Things, apart from the hardware and the embedded code, even some parts on the server side changed, with new protocols and ways to handle large amounts of real-time data. But when it comes to building systems with microservices architectures, it’s actually a drastic change on many levels, and not only related to technology.

But to start with the technology of microservices, the smallest change is to split up old monolithic code into smaller services, and with an already well-designed (e.g. SOA) architecture, that’s actually not very hard. What gets hard is to load balance, fail-over, and auto-scale these services on a sub-machine container level, which in turn require new approaches to dynamic service discovery, versioning, and various security aspects, like authentication. When you got all that figured out, you realize that the remaining obstacle to infinite scalability is the inherently monolithic relational database. Despite its fantastic ability to adapt to any new requirements with a new (join) query, in many cases it simply has to go away (and yes, as an old-timer, I’ve been struggling a lot with this one). Each service has to own its data, and the best way to make sure that every service is up-to-date with what it needs to know and/or affect, is to have them tap into a central data streaming pipeline with everything that is happening. To be more specific, on the Microsoft platform I’m talking about Azure Service Fabric, CosmoDB, and Event Hub in Azure, with IBM it’s mostly about Containers, Cloudant, and MQLight in BlueMix, and some open source alternatives are Docker/Swarm, DynamoDB, and Apache Kafka. An interesting detail is that languages are actually of less importance, and it’s mostly easy to mix them, but this diversity can make it harder to share/reuse and can create a fragmented culture. For those that want to go deeper, I recommend the free book Microservice Architecture.

Beyond tech, and probably most important, is what has to change in the way people work. The old large silos of business/sales, marketing/design, development, test, operations has to move into small autonomous teams with all these capabilities that can take something of value from idea to run in production with high speed and high quality.

Whether you have been thinking about this already, or this comes as news to you, I suggest you start experimenting with this approach, these technologies, and these new ways of working.

Related Posts

API

Oracle Code London

Phil Wilkins
Date icon June 11, 2018

At the event, I spoke about strategies for starting the journey into microservices while still...

IaaS

Oracle Cloud Native – deploying scalable isolated functions in the cloud

Léon Smiers
Date icon May 29, 2018

There are three major deployment options within the Oracle Cloud for deploying your...

API

Registries for monoliths

Phil Wilkins
Date icon May 15, 2018

Regardless of microservices or monoliths, APIs are crucial today.

cookies.

By continuing to navigate on this website, you accept the use of cookies.

For more information and to change the setting of cookies on your computer, please read our Privacy Policy.

Close

Close cookie information