Approach for choosing the right deployment strategy for your Containerized Cloud App
In the previous parts of our Container Orchestration blog series, we covered:
- The need for containerization of cloud applications
- Different Container Orchestration Platforms available on Public and Private cloud infrastructure
We considered the key features of these platforms and how they can help you – the ISVs and Enterprises achieve ease of set-up, administration, along with faster development and deployment of products.
In this blog, we will look at the general approach for choosing the right Container Orchestration Platform specific to your unique business situation. This blog will outline typical product development and deployment scenarios and present options to select the right deployment strategy.
Additionally, we will emphasize on the key strategies for deploying containerized cloud applications across Public Clouds and on different PaaS platforms on Private Clouds.
In public cloud deployment, SaaS product offerings from ISVs can be categorized as:
- Enterprise products such as Salesforce, ServiceNow, etc.
- End-consumer products such as Expedia, Workday, Intuit, etc.
Both categories of offerings need support for scalability, reliability and high availability. In this case, the product architectures can be entirely cloud-native and serverless. But based on underlying product development and maturity scenarios, it also makes sense to leverage container platforms on the Public Clouds for quick deployment.
For a Greenfield development project, once you finalize which Public Cloud Provider, it makes perfect sense to build the product using very modern cloud-native serverless architectures. This enables product owners to bring their products to market quickly and at a minimal cost.
Xoriant improved analytics and reconciliation of an online ad platform by using Amazon Elastic Kubernetes Service (EKS) based K8s cluster. Containers were hosted to process millions of ad impressions in an auto-scaled manner for data ingested into the system using Amazon Simple Queue Service (SQS). This containerized system improved the overall data reconciliation time by almost 40%.
Under the Brownfield scenario, you could be an ISV, who instead of offering an on-premise product wants to offer a low-priced alternative with a Public Cloud hosted solution. In this case, to make the re-architecture and migration process quicker and easier, you can leverage Docker containerization to build product components and deploy those under container orchestration platform on Public Cloud.
An ISV product customer offering hyper-converged storage product wanted to migrate their on-premise real-time analytics product to AWS cloud-hosted service. Xoriant recommended conversion of the product’s middle API layer into a Docker image and then deploy it inside ECS or EKS on AWS for a scalable and resilient deployment. This enabled a rehost approach for the product artifacts and helped bring down the development and deployment time by almost 50% over traditional server-based deployment.
3.1 Infrastructure Modernization
For at least some time, medium to large enterprises and financial institutions have been setting-up data centers using bare-metal hardware. But with the advent of virtualization, we are now seeing these companies modernize their legacy infrastructure. Multiple enterprises and financial institutions are adopting Private Clouds with virtualization software from vendors such as VMware or Open Source OpenStack distribution.
In that process, these companies are also modernizing their legacy monolithic application architectures to cloud-natives. In order to support modernization, we see these companies are adopting Container Orchestration platforms such as Docker EE as well as Kubernetes. Also, to ease operational aspects of the application deployment, these companies are adopting PaaS platforms such as OpenShift and Pivotal on top of their Private Cloud based infrastructure.
Application modernization follows with infrastructure modernization. Most of the medium to large enterprises and financial institutions are following this trend. One of the most common scenarios is to convert a legacy monolithic application into microservices-based architecture. Most enterprises have hundreds of such applications that need to be converted to containerization paradigm.
An enterprise customer with a large number of legacy monolithic applications wanted to improve deployment efficiency which was time-consuming. Xoriant adopted the containerization approach and used RedHat OpenShift platform for their underlying support for Docker and Kubernetes technology. This enabled quick development and deployment of Docker containerized components, saving deployment time by almost 40%. Containerization also added non-functional improvements such as resiliency, auto-scaling and enabled it to perform better under heavy load scenario.
ISVs need product offerings that can cover the maximum number of enterprise customers. To achieve this, they need portability across a variety of Private Cloud infrastructure and PaaS platforms. Containerization plays a vital role here. Based on containerization platform adoption and future trends, ISVs are adopting containerization and offering their products as Docker images too. Many application performance monitoring tool vendors such as AppDynamics, Datadog, Splunk offer Docker images. Even NoSQL database vendors that need storage volume support are also moving to Docker image-based deployments.
This scenario typically surfaces when ISVs are building a product or a platform offered as a hosted service to enterprise customers. In some situations, enterprises may use a single public cloud service provider to reduce complexity and ease of operations. Addressing public cloud portability is a difficult task, especially if you want to keep the deployment costs low by leveraging cloud-managed services or building serverless architectures. Nonetheless, to address this restriction, ISVs can exploit the containerization paradigm along with cloud-agnostic components.
As enterprises start modernizing their IT systems, they also think about moving from CapEx to OpEx model for improving their bottom-line. From that perspective, enterprises are adopting a hybrid cloud model and leverage Public cloud services wherever possible. While redesigning the software components, they are thinking about the portability of rearchitected systems to the Public Cloud. This is a scenario where enterprises are choosing containerization approach for building software systems.
Enterprises can achieve this with the following two options:
In this option, enterprises can build and deploy a containerized app inside on-premise set-up of Docker Enterprise or Kubernetes cluster. It helps in easy migration to Public Cloud-based containerization platforms such as Amazon ECS or Amazon EKS or on similar platforms such as Azure or Google.
In the second option, enterprises can make use of on-premise set-up of PaaS platforms such as RedHat OpenShift or Pivotal. These PaaS platforms support Public Cloud as the infrastructure layer, and hence, enterprises can choose to deploy these platforms on Public Cloud. That, in turn, will enable them to move applications built on on-premise PaaS platforms to Public Cloud hosted ones.
To sum it up, in this blog series, we covered cloud architectures, how the software industry has evolved through the virtualization paradigm. We simplified the need for container orchestration platforms to build containerized cloud apps, taking into consideration the different container orchestration platforms available on a public and private cloud, highlighting their key features. We have presented our premise with various enterprise and ISV product development, deployment scenarios and the ideal strategies that businesses can adopt while deploying containerized cloud applications.
We hope this blog series helps you leverage the interesting tidbits of insights surrounding various container orchestration platforms and helm in your containerization journey.
If you’d like to explore a bit more, check out the Product Modernization Hub and how your business can leverage the cloud to catalyze growth with Xoriant’s cloud enablement offerings.
You may also reach us at PE@Xoriant.com and our experts will schedule a FREE product assessment session to provide you with a custom approach as per your needs.