FlexiSAF Brown Bag Series: Enter Microservices

In this brown bag session, Bulama Yusuf, one of  FlexiSAF’s Software Developers introduces people to the concept of Microservices. The talk examined what Microservices is, how they differ from monoliths and what are some of the pros and cons of Microservices.

What is Microservices?

According to one definition, “Microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies”

The Reality: How Microservices Works

From my experience, I’ve come to realise that building an application is one thing, maintaining it is another. More often than not, how a system is built affects how it gets maintained. Up until now, the known approach and best practice towards building software has been to build the whole system as single deployable unit… a BIG single deployable unit.

Making changes to these big deployable units becomes painful and this is because one small change may require several changes to other parts of the system. In the same way, the whole system will have to be redeployed when minor modifications are made. Such systems are referred to as monoliths and monoliths cause a lot of pain to software development teams that have to maintain the system.

Figure 1: Monoliths and Microservices

Figure 1: Monoliths and Microservices

Pros vs Cons of Microservices

Because of the much talked about advantages of microservices, some big enterprise players – like Amazon, Netflix, and eBay – have been convinced to begin their transitions.  But just because something is all the rage around the industry, doesn’t mean it has no drawbacks.

Altoros, a software company building complex applications, have summed up some of the plus & minuses of microservices:

Pros of Microservices

Pros of Microservices

 

Cons of Microservices

Cons of Microservices                                                                                                                           

Have you worked in both worlds? Do you have any of your own experiences you’d like to share?

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *