Tech-companies: It’s time to adopt microservices

At Cadenza(subscription eCommerce platform) we managed to save 82.5% cloud costs read here

Sikandar Khan
3 min readFeb 11, 2019
unsplash

Are you looking for reducing the cloud costs of your existing application?
Are you having trouble with securing and monitoring your big application?

The blog is intended for Business people, Technology enthusiasts.

User acquisition is a primary and fundamental part of becoming a Startup to Unicorn business. Let’s say PayTM, OYO, PhonePe, NetFlix, Uber etc,. In process of user acquisition Unicorns had been investing in huge cloud infrastructure. It’s appreciable that, CTOs and Technology leads have been striving hard enough to tackle fundamental issues like scalability and security.

End to end application can be broadly categorized, as frontends(mobile and web interface), backend(REST APIs) and finally DevOps(Cloud Servers). Many contributors from DZone, Medium have been continuously having been recommended best practices to use the above 3 categories in our application.

What organization need:

As mentioned starting up from startups to Unicorns have been exchanging a lot of information(location, OTP, Push notifications, orders, user management etc,.) from end users. Surely building such end to end systems require 100 -150 API services. Architecting this kind of sophisticated technology platform needs 3 stages: developing, orchestrating, and deploying. Usually most these application preferred to have Monolithic architecture. Usage between Monolithic vs Microservices, it’s been constructive debate among technology enthusiasts, read here.

To understand monolithic architecture, in simple terms: all RESTful API services will be developed and deployed on one cloud machine(GCE/EC2/any private cloud). It means cloud machine’s RAM, disk space, SWAP memory and hard-disk will be shared by these services irrespective of their(services) usage levels.

Real problem:

Compute resources are not being used in optimised fashion. Let me give you a context from real-time case study: In Cadenza, we had more traffic for API services Get products, Purchases comparing to user management APIs. In such odd scenarios, as a Solution architect, I prefer to have freedom for customization of allocating RAM, SWAP memory and Hard disk more for getting Products and purchase than user management services. Depending on the API service- traffic you can make better use of your given cloud infrastructure.

I firmly believe that adapting cutting edge REST APIs implementations like Micro-Services-Architecture[MSA] gives more freedom from huge costs on development and deployment. And optimized performance for individual service.

  • Development: Multiple teams can work in parallel, instead of having a dependency from other pending/ongoing API services building.
  • Computation: Huge costs can be saved comparing to monolithic architecture.
  • Scalability : Platform can scale even at big number of concurrent services. Check out my blog on real time solution : https://medium.com/@dearsikandarkhan/microservices-architecture-for-e-commerce-f8b49270e72f
  • Security : As each service will have its own host and port, securing will be much easy.
  • DevOps : Eases deploying with popular platforms like Docker and Kubernetes.

Microservices pattern is being hugely appreciated and used by big tech-giants like :

Uber : https://eng.uber.com/building-tincup/

PayTM : https://www.paytmlabs.com/architecture-and-technology-stack/

Netflix : https://www.nginx.com/blog/microservices-at-netflix-architectural-best-practices/

Let’s welcome to microservices architecture.

My colleague Sumalatha(Backend dev at RudraLabs ) has authored extensive part-2 for this microservices. And she has shared unique properties and cost optimisation techniques using microservices.

Happy exploration.
Learn — Grow — Glow
Reach me at LinkedIn

--

--

Sikandar Khan

Head of Engineering | Product Management, Strategic Thinking