Mar 3, 2022

Micro Services: Building blocks of digital native world

Micro Services are little building blocks of the digital native world. It’s a progression of services oriented architecture. This blog explains what it is, its advantages, who uses micro services and what the future holds.Before understanding microservices…### …Let’s build carsBuilding a car is a complex process. A car has 30,000 parts, each delivering a specific value and connected to other components. Same is true for software development.Do you know OEMs like Honda, Toyota don’t manufacture these parts? There is an insane level of outsourcing and subcontracting involved. Why?1. Complexity2. Difficulty of managing everything in house3. Speed of production slows downThus, OEMs consume the services of others. Same is true with almost all manufacturing companies. Let’s see how multi-tier outsourcing works from the diagram below. ![Cars](//images.ctfassets.net/urdv1oztwvyo/1SBdRcAAsYN0UMkRW9cb76/1bd4a765547b5b17fae37e27a9c3ef24/Micro_Services.jpg)A car producer, Toyota in our case, outsources manufacturing of engine, tyres, and outer body production to tier 1 suppliers along with specifications. Tier 1 suppliers further outsource this to tier 2 suppliers (1 to 9) along with requirements. Toyota just assembles a car.The above process requires consuming the services of others to create something complex and beautiful. That’s what “micro” - “services” do as well. It helps you create complex and scalable apps.### What are “Micro”-“Services”?It’s a software development practice, also called software architectureIt structures an application as a collection of servicesObjective is to weed out complexities so that one can build interconnected applications on top of multiple components. Each component is called a serviceService as the name suggests performs a function. If we were to consider an ecommerce portal, such services could be Authentication, Listing, Cataloging, Delivery or Payment.A service is a distinct component of a huge software development project with its own codebase, infrastructure, and database. They are loosely coupled because each of these services could use different language, infrastructure or database architecture.But the question arises. How do these components consume the services of others? Short answer is APIs. APIs are communication protocols. It's a way of exchanging information.__Features of Micro Services__![Features](//images.ctfassets.net/urdv1oztwvyo/36BiUZcwRL5MMTdzPcVDhM/069e548001349e83c3c0c21f2a5b5be4/Features.png)*The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications*### Advantages of micro services over Monolithic Architecture?Disadvantages of Monolithic Architecture like large code base, difficulty of understanding and maintaining the code, slow deployment, loaded IDE, scalability of application, etc are solved through microservices approach.1. __Rapid and easy deployment__: Each service performs a special function. Therefore, it is easy to work on that service and deploy it without affecting other services2. __Easy to understand and maintain__: Monolithic architecture has a large code base. It’s difficult to understand such codes. Modularity improves understanding.3. __Scalability__: Given modular architecture, one can add, modify, delete services independent of other services. Therefore, scaling systems becomes a lot more manageable4. __Hybrid cloud or multi cloud hosting__: With the micro-services, emerged the standardization for packaging and for managing the lifecycle of it. And having some standard APIs makes it possible to move applications from one cloud to another thus supporting multi-cloud without much effort.5. __Multi-Language and framework support__: As each microservice has a different codebase and they communicate with each other through APIs only, we have the opportunity to develop each of them with different and most suitable languages and frameworks for that type of service.6. __Portability across environment__: Micro Services are built on containerisation frameworks that abstracts the underlying complexity of hardware or OS . Therefore such microservices are easier to deploy on any type of hardware, OS and environments.7. __Robustness__: If one service fails, the other can still function. It’s easy to identify faults , reduced impact radius and faster recovery time.__Summarizing key pros and cons of microservices architecture__![Pros and Cons](//images.ctfassets.net/urdv1oztwvyo/2C7WYji4RsTlikm7K03rWx/09dda79c7fe145ac82690a3af43bc0ca/Pros_and_Cons.png)### Microservices are all around youMany companies use microservices, be it Fintechs, Digital Banks, Traditional banks and of course Big Tech (FAANG). If the company is publishing a tech blog, most probably you will find a mention of microservices.Fintech landscape is evolving fast and thus requires fast adoption of new technologies and business logics. This requires continuous innovation and shipping of new features so that you don’t fall behind. Monolith Architecture will make you slow and error prone. This makes microservices architecture a necessary approach.__Consumer Tech__ : Netflix was one of the early adopters. Uber and SoundCloud have recently switched to microservices architecture. [Uber](https://eng.uber.com/microservice-architecture/) was facing growing pains and repeated issues with deployment that often resulted in code rollback. Thus, a new approach was necessary.__Fintech__: Tinkoff, Revolut, N26, Klarna to name a few. The list keeps growing__Digital transformation (Deloitte, TCS and Infosys)__ : Microservices based architecture is the foundation of platform banking. If you want to embark on platform banking journey, this article by [Deloitte](https://www2.deloitte.com/content/dam/Deloitte/us/Documents/financial-services/us-enabling-platform-banking-pov.pdf) is a must read. TCS Global Banking Platform is based on [microservices](https://www.tcs.com/content/dam/tcs-bancs/pdf/bancsprotected/brochure/TCS%20BaNCS%20Global%20Banking%20Platform-web-02102021.pdf). Finacle (core banking platform by Infosys) also leverages microservices.### When to choose Microservices?![when to use microservices](//images.ctfassets.net/urdv1oztwvyo/riYSBdyklrg0OtEncy90R/1ce46af72a5ad2f10f24be40a2bceee2/Use_microservices_when.jpg)I am pretty sure if you are reading this, you will have to deal with complex and scalable projects, which involves numerous teams, multiple programming languages, and faster shipping of new features. Isn’t the choice obvious then?### Future of MicroservicesMicroservices technologies are seeing rapid advancement which will make business running standard monolithic architecture obsolete and slow to innovate and compete with businesses which are on microservices tech stack.Below are the few prominent technologies in microservices architectures __Serverless Architecture__: Cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers__Function as a Service__ : These is a cloud computing service that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure__Multi cloud environment__: It will enable the use of microservices across multiple cloud environments which brings added advantage of their specific features.### Still not sure?If you need a consultation or a partner to discuss problems, we are here to help.We at Nuclei, have 25+ years of combined experience working with microservices. Our tech team has worked across companies like Amazon, Samsung R&D, and fintech startups which were sold to the likes of Amazon. Even today, we leverage microservices architecture to build modular code, which is trusted by 18 banks and telecom companies. We are frontrunner in adopting and improving new cutting edge technologies in microservices and Saas technologies space. __Problems we can help you with__1. How to ship features fast by avoiding dependency on internal teams2. How to build scalable products and other interesting use cases3. How to have Faster Time to Market4. How to Improve ROI with reduced TCO for the applicationWhat do we expect in return? An engaging discussion. We believe coaching is selfish. When we teach others, we learn a few things that help us improve.---References[1](https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition), [2](https://www.nginx.com/learn/microservices/?_bt=573371260706&_bk=&_bm=&_bn=g&_bg=134448916480&gclid=Cj0KCQiAjc2QBhDgARIsAMc3SqQeUQft3lqGfZMZfCHD77LsEoNrLjaRXckPDFdXiLspLjuQ-jSJwQsaAmj0EALw_wcB), [3](https://microservices.io/), [4](https://advapay.eu/how-microservices-architecture-helps-digital-banks/), [5](https://medium.com/its-tinkoff/tagged/microservices), [6](https://www2.deloitte.com/content/dam/Deloitte/us/Documents/financial-services/us-enabling-platform-banking-pov.pdf), [7](https://program-ace.com/blog/microservices-vs-monolith/), [8](https://eng.uber.com/microservice-architecture/), [9](https://tuumplatform.com/blog/can-banks-be-built-on-microservices/), [10](https://medium.com/revolut/recording-more-events-but-where-will-we-store-them-4b1dad457cf5), [11](https://wiredelta.com/how-was-revolut-developed/), [12](https://www.infoq.com/news/2020/03/technology-scaling-hypergrowth/)

RELATED ARTICLES

No items found.
Written by
Full Name
Published on
22 January 2021

Get a free consultation on Segmentation strategy and
Ecosystem practices

Drop us a line.
Thank you! We'll be in touch soon.
Oops! Something went wrong while submitting the form.
Schedule a demo
Let’s Connect
We’ve received your request. We’ll be in touch soon.
Oops! Something went wrong while submitting the form.