HomePortfolioGaining Transparency and Automation Across a Kubernetes Deployment

Gaining Transparency and Automation Across a Kubernetes Deployment

Cloud-Native
Java
Kubernetes
Python
Supply chain
Azure

A distributor of electrical, communication, and data networking products turned to Altoros to automate deployment, autoscale resources, ensure stability, and gain transparency.

Gaining Transparency and Automation Across a Kubernetes Deployment

About the project

Brief results of the collaboration:

  • By adopting the Azure Kubernetes Service platform, the company automated deployments, freeing up hundreds of engineering hours monthly for other technical tasks.
  • The customer enabled autoscaling, reducing the amount of idle resources by 40% and saving thousands of dollars.
  • With customizable dashboards, the distributor gained transparency into user activity, resource usage, performance, etc.
  • The company fixed critical security issues through the proper management of application secrets and roles.

The customer

The customer is a Fortune 500 corporation that distributes electrical, communication, and data networking products. It also offers related supply chain management and logistic services daily to over 100,000 customers across 280 locations.

The need

To cope with their environment, the customer had been employing several engineers managing day-to-day operations. Spending hours on app deployment and cluster scaling, thousands of dollars were wasted on idle resources. The distributor also lacked transparency in user activities, analytics, configuration management, versioning, etc.

As a solution, the company wanted to migrate to Azure Kubernetes Service (AKS). Along with the migration and re-architecture of the platform, the customer was looking to improve security. The distributor turned to Altoros, an experienced and certified service provider with a proven track record in the field.

The challenges

Under the project, the team at Altoros had to address the following issues:

  • The migration needed to be seamless to prevent downtime and not affect over 100,000 daily users.
  • Secrets were stored in a repository that any microservice could access, performing unauthorized operations and creating a major security risk. That’s why it was important to enforce security as soon as possible.

The solution

Stage 1. Readiness and maturity assessment
Together with the customer, engineers at Altoros evaluated the existing architecture in order to outline a strategy for migrating to AKS, as well as provide a roadmap for other improvements. Company stakeholders were interviewed about the business goals and priorities of the migration. Additionally, our team reviewed existing application development and platform operations. After the assessment, we delivered a report documenting critical to low priority issues and other recommendations.

Stage 2. Analysis and planning
With an established roadmap, our developers created a plan based on the company's business goals. Several priorities were accounted for, including zero-downtime migration, automation for building the platform, resiliency testing, improving the development process with versioning, as well as ensuring stability, high availability, and performance of the platform. With a clear plan, our experts minimized the risk of any issues occurring during the transition to AKS.

Stage 3. Platform deployment
Next, the team executed the plan by first deploying the platform to AKS and configuring the infrastructure. To enable automation, our engineers relied on Azure DevOps in creating CI/CD pipelines for building apps.

The team introduced the GitOps model for API versioning and configuration. Using Git as a source control, this enabled a quick reversion of changes, improving stability. A message queue was added for events and interprocess communications, managing errors and job queues. To improve availability, the developers created a separate microservice to have single control over the database, queueing CRUD tasks.

To ensure transparency, our engineers created alerts to track resource thresholds and log events, as well as conducted training on Azure Monitor and its dashboards. This helped to get visibility into microservices and the system.

Stage 4. App migration and platform scaling
With the platform deployed, our experts moved on to application migration, completing the move to AKS. To prevent downtime, the team planned out a gradual process, starting with 10 microservices and establishing the groundwork for the transfer of the remaining 150 microservices. Implementing rolling updates with Helm also contributed to ensuring zero downtime. Altoros implemented Kubernetes Horizontal Pod Autoscalers to optimize resource usage. Additionally, cluster scaling enabled the dynamic utilization of resources.

Stage 5. Training and mentoring
To help the company understand basic and advanced Kubernetes concepts, such as containers, cluster administration, scheduling, and eviction, they were involved in the deployment from day 1.

Despite the remote nature of the delivery due to ongoing pandemic, our engineers paired with the customer's team to help them understand best practices for platform operations and application migration. Our team delivered an in-depth Kubernetes training to the customer's engineers with a focus on hands-on practice. The training also introduced basic and advanced concepts, such as containers, objects, secrets, health checks, cluster management, logging, monitoring, etc. This mentoring process ensured that the company would get the necessary knowledge to operate the new system in production.

Stage 6. Post-deployment support
To gain access to the best practices emerging on the market and to address the most critical issues of the production site, the customer retained Altoros for support services. In this regard, our team acted as the second line of support for issues that required advanced knowledge of AKS. In addition, backlog activities and improvements based on internal feedback were delivered. Through our ongoing support, the company is able to fully utilize the platform and rely on our Kubernetes expertise should there be any inquiries or problems.

Summary
Initially, engineers at Altoros assessed the customer's existing architecture to better understand potential migration bottlenecks. A plan was created to minimize the risk of errors during the transition.

Next, our team deployed the AKS platform and configured the infrastructure. The GitOps model for API versioning and configuration was introduced. The model also improved the developer experience, enabling code to be pushed without in-depth Kubernetes knowledge.

To manage job queues and errors, our developers added a message queue for events and interprocess communications. A separate microservice was created to have single control over the database, improving availability.

Following platform deployment, 10 microservices were migrated, laying the groundwork for the remaining 150 microservices and preventing any downtime. With autoscaling, our experts enabled microservices to automatically scale up or down, reducing idle resources by 40%.

To help the customer understand the concepts surrounding Kubernetes, our engineers involved their team from day 1 and provided them with firsthand experience through pair programming. With ongoing support from Altoros, the company is able to efficiently operate the platform and rely on our Kubernetes expertise for any potential issues.

The outcome

With the help of Altoros, the customer was able to assess their existing architecture and identity critical to low priority issues. With a detailed plan, the company was able to transition to AKS without any problems. By automating CI/CD pipelines, the customer reduced the effort required in day-to-day operations, enabling engineers to focus on creating new features and delivering better technical support to users. By gradually migrating microservices, there was zero downtime. With autoscaling, the company reduced idle resources by 40%, saving thousands of dollars per month. With continuous support from Altoros, the customer is able to rely on our expertise for any future problems and maximize their use of the platform on Kubernetes.

Technology stack

Platform

Azure Kubernetes Service

Programming languages

Python, Java, Node.js

Frameworks and tools

Azure Key Vault, Azure Monitor, Azure API Management, Azure DevOps, Spring Boot, SAP Services Registry, Terraform

Databases

Redis, MySQL

100,000

users daily

160

microservices

40%

less idle resources

/
01

Want to develop something similar?

Preloader
Ryan Meharg

Ryan Meharg

Technical Director

ryan.m@altoros.com650 265-2266

4900 Hopyard Rd. Suite 100 Pleasanton, CA 94588