Kubernetes Case Study: AppDirect

Nischal Vooda
4 min readMar 14, 2021

Hello Guys,

Today We are going to discuss new technology which brought a boom in the current Industry which is Kubernetes. Before going to Kubernetes we will Understand what is the Base of it. It is the Container management Tool, Containerization is the base of Kubernetes.

# What is Containerization and why we use Containers?

Containerization is the Upgraded version Of Virtualization that provides virtual OS in the form of Containers. These containers are the lightweight OS that can be installed, Configured, and Boot within a second. The need for Containerization comes when Virtualization cannot help us if we want to do same setup in 1000 systems we have to install OS which is a time-consuming task and requires extra resources. Instead, if we use Containers it saves time by quick deployment and saves resources.

We use Container Engine to run these Containers and one of the mainly used Container Engine is Docker

Docker is a great tool but there are many cases in which Docker(Container Technology) fails to fulfill our demands :

  1. If one of the Container OS fails, Docker doesn’t come to know about it and it can show downtime in App deployed in that OS. Means it cannot monitor OS, we have to do it manually.
  2. It requires time and effort to deploy the same setup again if the previous OS setup fails and there are higher chances of Human errors.
  3. Management of these containers becomes a challenge for us because we cannot see to it 24/7.

To solve these Issues we came up with a software soution which will Monitor our Containers 24/7 and has a capacity to Launch new container if previous one fails. That is the reason Kubernetes is called as Container Management Tool .

Here is a small video that describes the brief about Kubernetes

Why use Kubernetes?

Kubernetes helps you to control the resource allocation and traffic management for cloud applications and microservices. It also helps to simplify various aspects of service-oriented infrastructures. Kubernetes allows you to assure where and when containerized applications run and help you to find resources and tools you want to work with.

Key Features Of Kubernetes:=

  1. Kubernetes helps to manage containerized applications in various types of physical, virtual, and cloud environments.

2. Automated Scheduling

3. Self-Healing Capabilities

4. Automated rollouts & rollback

5. Horizontal Scaling & Load Balancing

6. Offers environment consistency for development, testing, and production

7. Infrastructure is loosely coupled to each component can act as a separate unit

8. Provides a higher density of resource utilization

9. Offers enterprise-ready features

10. Application-centric management

11. Auto-scalable infrastructure

12. You can create predictable infrastructure

Here is the architecture of Kubernetes :

Kubernetes Case Study: AppDirect…

Challenge:

AppDirect provides an end-to-end commerce platform for cloud-based products and services. When the Director of Software Development Pierre-Alexandre Lacerte began working there in 2014, the company had a monolith application deployed on a “tomcat infrastructure, and the whole release process was complex for what it should be,” he says. “There were a lot of manual steps involved, with one engineer building a feature, then another team picking up the change. So you had bottlenecks in the pipeline to ship a feature to production.” At the same time, the engineering team was growing, and the company realized it needed a better infrastructure to both support that growth and increase velocity.

Solution

“My idea was: Let’s create an environment where teams can deploy their services faster, and they will say, ‘Okay, I don’t want to build in the monolith anymore. I want to build a service,’” says Lacerte. They considered and prototyped several different technologies before deciding to adopt Kubernetes in early 2016. Lacerte’s team has also integrated Prometheus monitoring into the platform; tracing is next. Today, AppDirect has more than 50 microservices in production and 15 Kubernetes clusters deployed on AWS and on-premise around the world.

Impact

The Kubernetes platform has helped support the engineering team’s 10x growth over the past few years. Coupled with the fact that they were continually adding new features, Lacerte says, “I think our velocity would have slowed down a lot if we didn’t have this new infrastructure.” Moving to Kubernetes and services has meant that deployments have become much faster due to less dependency on custom-made, brittle shell scripts with SCP commands. The time to deploy a new version has shrunk from 4 hours to a few minutes. Additionally, the company invested a lot of effort to make things self-service for developers. “Onboarding a new service doesn’t require Jira tickets or meeting with three different teams,” says Lacerte. Today, the company sees 1,600 deployments per week, compared to 1–30 before. The company also achieved cost savings by moving its marketplace and billing monoliths to Kubernetes from legacy EC2 hosts as well as by leveraging autoscaling, as traffic is higher during business hours.

Connect me on my LinkedIn as well.

--

--