July | 2016
The world of Microservices architecture is inching in popularity and the same is true about Container technology. It is a known fact that the two complement each other perfectly well since Containers provide a means to package and deploy Microservices in lightweight runtime processes.
Keeping in line with the global trends and digital adoption, enterprises want to embrace Microservices architecture for agility. However, security and operational readiness will take a while for adoption of Container technology just as how the adoption of Virtual Machine (VM) technology took its time. The million-dollar question today is - should enterprises wait to adopt Container technology and then adopt Microservices or should enterprises adopt Microservices regardless of containers.
Before we go ahead and push Containers at the curb, let's look at what may go wrong when enterprises ignore Containers for Microservices architecture.
Lightweight - Containers are lightweight when compared to VMs. Containers with Microservices bring in the following benefits:
Economic Impact - A strong service isolation requires services to be deployed on separate VMs (one service per VM) or Containers (one service per Container). With the availability of Containers, it becomes easier to deploy on physical machines. On the other hand, VMs need higher resources to run the same number of Microservices
Compromising Isolation - For optimized usage, businesses generally encourage multiple services to be deployed per VM. This approach however carries across several challenges such as -
Although Containers have many advantages as listed above, their unavailability is not the end of the road for Microservices. Enterprises can still reap benefits through the adoption of Microservices because of following reasons.
Agility - Developers benefit from design time isolation in designing, developing, testing and release a service independent of other teams building other services.
Polyglot Thinking - Architects can adopt fit-for-purpose technologies for different services. For example, Elastic Search for product search, Redis for shopping cart, and MySQL for order capture.
Deployment Flexibility - Microservices gives flexible deployment options that can evolve. One can start with deploying multiple services within a VM. If a VM is to be deployed to handle high-intensity traffic, the same could be done in a separate VM and scale it independently
Employ dynamic Service Registry, Load balancing mechanisms to handle proliferation, runtime discovery and access to services
To conclude, enterprises should proceed with Microservices adoption. Transition to containers only requires change in deployment mechanism. Once containers are ready, the transition can be done seamlessly.
Ajay Mahajana is working as a Lead Architect in Global Enterprise Architecture division at Wipro Technologies. He has 18 years of IT experience in architecture, design and implementation across breadth of technologies in data, application and integration areas in the Banking Domain. He has worked on large-scale transformational engagements and lead re-engineering efforts of mission critical systems. He was also involved in creating IP assets for Retail vertical in the area of Recommendation Systems. Currently is helping a large bank adopt Microservices architecture
© 2021 Wipro Limited |
|
© 2021 Wipro Limited |
Pharmaceutical & Life Sciences