Reducing Deployment and Management overhead in Microservices Architecture
Submitted by Saurabh Badhwar (@h4xr) on Sunday, 9 April 2017
Section: Full talk of 40 mins duration Technical level: Intermediate
Microservices is an implementation architecture in Service Oriented Architecture where we are building fine grained services, which specialize in doing a single kind of task and doing it well. These services are loosely coupled and lightweight, and usually interact with each other over prevailing network protocols through the use of RESTful APIs, message buses, etc. The Microservices architecture provides several benefits, such as, helping parallelize service development, freedom in choice of tools, etc. But everything has its own pros and cons, In case of Microservices, we have some cons, out of which, one is the increased overhead that comes in the case of deployment and management of these services.
With a single application, we just have to take care about the deployment of a few components, but with the case of Microservices, we need to take care of several services and their management. The situation gets even worse as the number of Microservices in the application stack increase beyond a certain threshold.
This talk will focus automating the deployment and management of Services in Microservice Architecture so as to reduce the overhead that comes with Microservices Architecture. The session will cover topics such as how to build your infrastructure for hosting up your Microservices, efficient use of CI/CD tools so as to keep the deployment and management overhead associated with Microservices Architecture to a Minimum.
The key takeaways from the session will be:
- Knowledge about what factors cause increase in overhead with Microservices architecture and how to avoid them
- How to take best advantage of the CI/CD tools to reduce the pain associated with the Deployment of the Services
- How to efficiently plan and layout the Infrastructure for Microservices Architecture
The intended audience for the talk are:
- Developers writing Microservices
- Developers planning to start with/migrating to Microservices Architecture
- Introduction to Microservices
- How Microservices architecture has an increased overhead
- Taking advantage of CI/CD tools in Microservices Architecture
- Laying out your Microservices Infrastructure
- The end results
Saurabh Badhwar is a young developer and open source contributor who has been active in Open Source communities since last few years. His major contributions during his open source journey are majorly in the domains of development, quality assurance, release validation and community buildup. During this duration of being an open source contributor, Saurabh has been involved with the community at different levels of operation. He has been actively delivering talks at various Universities on the topics of frontend and backend development, new and emerging technologies in front of audience with varying level of technical expertise. The talks have also been aimed on bringing new contributors on-board to the the Open Source communities.
His professional experience include working as a freelancer with different organizations to develop and deploy their internal and public platforms to accomplish their tasks. His work includes development of web platforms following different design patterns including Monolithic applications based on the MVC architecture to Microservices based platforms. With his focus on building applications providing consistent user experience and high performance, he spends a lot of time on UX and Optimizations of the architecture.
Saurabh has a great passion for working with Linux Kernel development and Microservices development, and has been actively learning and experimenting with different ideas in the field. His other personal and professional projects include, Arrow - A MVC based web framework focusing on clean user experience and high performance, Leap - A tool for profiling performance of Linux based systems, MicroReg - A platform for deploying and managing Microservices.
Recently, Saurabh has been to DevconfCZ 2017 where he delivered a session on “Building Scalable API Gateways for Microservices Architecture”.
Currently working as an Intern at Red Hat in Performance Engineering Team, Saurabh works on conducting performance and scale experiments on Red Hat Satellite as well as developing tools for automating product deployment on large number of systems.
Saurabh also writes on topics covering Microservices and Containers and has been actively contributing articles to Fedora Magazine and Red Hat Developer Blog.