Deployment of Containers and Kubernetes

The Business – Requirements Software Vendor

This product is the leading platform for requirements, risk, and test management. With their software and industry-focused services, teams build complex products, systems, and software, improve cycle times, increase quality, reduce rework, and minimize effort while working in a high-compliance environment.

Customers can run the application in the cloud (as a SaaS offering) or as a local/on-premises install. The “air-gapped” and local install allows customers to use all of the same capabilities of the product in the cloud, but in a more secretive and highly compliant environment.

 

The Challenge

Our client didn’t have a means for flexibly deploying its software into both Cloud and On-Premises (restricted) environments and allowing for any horizontal/fan-out style scale with the on-premises installs.

The ideal solution would balance the need/ability to deploy the solution into AWS leveraging modern cloud resources (e.g. RDS, EBS, etc.), while also allowing the customer to deploy locally into on-premises infrastructure (VMs, network storage).

An ideal outcome would also enable both internal DevOps teams that were monitoring AWS resources, and local on-premises IT staff that would be responsible for observing the local install.

Finally, the on-premises install would need to scale out individual product services as more compute/VMs were awarded to the on-premises install. This allows the locally installed product to grow/scale in a similar way as the cloud hosted alternative.

Balancing these competing concerns and keeping ongoing product development as efficient as possible was the primary challenge.

 

Project Goals

This project was designed to service the challenges above and provide the software product the ability to:

  • Flexibly and frequently deploy its solution into AWS making use of modern AWS technologies/accelerants
  • Deploy the same version of the product into locally “customer provisioned” hardware.
  • Continue to test the way it does today (e.g. not grow/complicate the testing investment of a release)
  • Allow both solutions (cloud and on-premises) a means to add more resources and scale up/out the product as additional load/users materialized.
  • Maximize the productivity of the company’s production and DevOps staff as they continue to enhance and monitor the product.
  • Ability to leverage diverse (changing) hardware configurations at customer sites.
  • Ability to flexibly deliver new (micro)services to the product’s ecosystem as the product evolved (shifting topology of services).

 

Finding the Solution

Axian paired with company architects to qualify tooling that would enable all the project goals with minimal internal investment.

Replicated Kubernetes Off the Shelf (KOTS) was selected as an orchestrator and release channel for the company’s software services.

Axian engineers helped the company reposition its services into correctly configured Docker containers that provided the capabilities needed to deliver the product.

Axian production staff performed updates to DevOps infrastructure (CI/CD pipelines) to ensure that usable images for each product service were created and deployed to container registries.

Axian also created Helm charts and other Kubernetes assets so that the solution could effectively run and scale in Kubernetes (delivered by KOTS).

Axian integrated Cloud DevOps practices with KOTS channels so that the same software releases could be deployed to both Cloud and on-premises installs using AWS or KOTS means of deployment.

 

Solution in Action – The Results

The final project outcome was a win for the company and its customers. All the project goals were realized and on-premises customers (especially large ones) rejoiced at their ability to scale out a self-hosted version of the product that had all the capabilities they’d come to know.

In addition, the project roadmap kept its shape/velocity as no/minimal technical debt was introduced to service these different environments (AWS vs. on-premises) or different support staff (SaaS Ops vs. on-premises administrators).

Product development continues to this day, supported by its new containerized infrastructure, designed by Axian, and integrated into its AWS and Replicated KOTS delivery channels.

The project is a good example of Axian’s wide acumen dealing with complexities that straddle topics like:

  • New technology adoption/acceleration (K8s, Replicated, Docker, Containerization)
  • Pragmatically leveraging “in-the box” capabilities from the available tools (Helm, AWS, KOTS)
  • Knowledge of software development challenges/capabilities (Java, MySQL, python, K8s)
  • Empathic DevOps practices that focus on enabling support staff (SaaS Ops, on-premises IT)

 


Let Axian assist you with your custom application strategy, develop a roadmap, work with your business community to identify areas of opportunity, and provide clarity and direction to a daunting task. For more details about Axian, Inc. and the Custom Application Practice email us directly to setup a meeting.