Get In Touch
Sky Loft, Creaticity Mall, Off, Airport Rd, opposite Golf Course, Shastrinagar, Yerawada, Pune, Maharashtra - 411006

Containerization Experts Increased Developer Velocity by Reducing 50% Scrum Time

Developers who were spending more time on container-related issues are now able to focus on Application Features

 Table of Content:

  1. Introduction
  2. How we Accelerated Dev Productivity by Providing Ops Support for Kubernetes
  3. Questions You Should Ask Before Initiating Your Containerization Journey
  4. Key Benefits of Containers & Containerization for Businesses
  5. Microservices – Standardization and Technology Infrastructure
  6. Security-oriented DevOps mindset 
  7. Specific Containerization Challenges Our Client was Facing And How we Resolved Them 
  8. Three main reasons for Container-related Issues
  9. Secrets of our Containerization Expertise
  10. Gene Kim – Amplify DevOps Success with Containers 

Introduction

In this article, you’ll learn how we helped an identity management firm save more than half of their scrum time and focus more on their development features.

Plus, our Secrets as a Containerization Experts!  

You will also get to know some basics, while we share techniques to embark on your containerization journey with a leading orchestrator – “Kubernetes”.

Before that, let’s face this!

Over the last few years, the container space has exploded in popularity. 

Kubernetes and Docker have ascended to the ranks of the most popular technologies in the tech world.  

And while developers have adopted containers to increase reliability and scalability. There are many unspoken reality checks.

 Let’s see a real-world example,

 And understand that even if you started out with a “container-first” approach, what might hold you back.

And how taking assistance from containerization experts can boost your developer’s velocity.

It’s time to get some background.

Increase your Developer’s productivity by 96.5% with DevOps-in-a-box

How we Accelerated Dev Productivity by Providing Ops Support for Kubernetes

A leading Identity management firm from Bengaluru has started its containerization journey with the intention to achieve isolation, security, agility, and portability in its development. 

But soon things started to change.

Their teams started spending more time on container-related issues than focusing on the features itself.

You might be wondering how come a secure and agile solution started becoming a bottleneck for them!

Well, let’s look at the below 2 questions to understand the answer: 

1.) Before adopting the “container-first” approach, Have you done some research on the key aspects of the application containerization journey? 

2) Are you equipped with the right expertise to manage containers, not just create them?

Here, to give you a brief on the containerization journey that comprises three major stages:

And below is the question list you should consider.

Questions You Should Ask Before Initiating Your Containerization Journey

  • Are there any applications in the business portfolio that can be containerized?
  • Which container platform serves best for your enterprise?
  • Is it worth containerizing all the applications?
  • What extensions will you need in the container platform to accommodate the applications?
  • What will the upskill path be for developers?
  • Will the containerized applications be able to meet existing Service Level Agreements (SLAs)?

And as you can see, we have our own set of questions during the evaluation process. I.e:

  • Is the app pre-packaged as a single binary or jar file?
  • Is the platform on which your app is built available in a containerized version or package yet?
  • Are any of your 3rd party apps available in a container version yet?
  • Is the app stateless?
  • Is your application already part of the continuous integration, continuous deployment pipeline yet?

Answers to these questions help us better strategize steps for you. 

Would you like to explore our DevOps services along with the toolkit expertise? Click here

To those who don’t have a clear idea of why businesses choose containerization, here is a quick brief:

Containers allow numerous apps to run on a single virtual machine (VM), reducing the number of software licenses required for an enterprise organization to develop in a container environment.

And how do they accomplish this?

They do this by sharing OS kernels, instead of requiring their own. 

That further makes containerization a more resourceful approach, both financially and computationally, to enterprise software development.

So, keeping that in mind, businesses see the following key benefits that come with Containerization.

Key Benefits of Containers & Containerization for Businesses

  1. Faster startup times
  2. Less redundancy
  3. Improved security
  4. Better resource distribution
  5. less space requirement, usually measured in MB rather than GB
  6. Consumption of minimal amount of resources.

However, the bigger purpose of businesses today is to move to microservices based architecture to achieve the desired scalability in their applications.

Let’s take a closer look at the microservices and how Containers and Kubernetes are at the core of them.

Microservices – Standardization and Technology Infrastructure

Microservices have become a popular architectural pattern in the last decade or so.

A key part of this evolution has been the use of containers and container orchestration tools like Docker and Kubernetes.

Need not to mention that with microservices, we divide a large application into smaller units that can be released separately. That gives businesses an edge to innovate continuously.

And when we look at the core of the microservices architecture then 2 very crucial aspects come to light:

  1. Standardization 
  2. Technology Infrastructure 

That’s where docker and kubernetes come in. 

Docker enables standardization! 

It does not matter which language you use to develop your microservice whether it’s java or  python you can create a docker image and you can treat that the same way.

This standardization also applies when it comes to observability.

And Kubernetes enables the technology infrastructure that is needed to run your microservices.

So, whether you need a naming server or a service registry, Kubernetes has such features built in.

Do you seek AWS partners? Our AWS experts have assisted numerous businesses in scaling their operations. Explore here

Security-oriented DevOps mindset

Let’s say, you are an enterprise and want to switch from VMs to using containers to host your application code.

Because containers can be deployed almost anywhere, they allow you to streamline the application development workflow.

However, The flexibility of being able to deploy virtually anywhere brings attack services around your container environment.

These include the images you use to build your containers, the image registries we use to store our images, and our container run times.

Also, the orchestration platforms like Kubernetes which we use to manage the lifecycle of multiple containers.

However, by prioritizing releases and new features, security measures often lack. 

But this is where we at Applied AI Consulting practices the DevOps mindset with the focus on securities.

Our DevOps experts integrate security objectives into continuous delivery processes that reduce the setbacks you might face in future.   

As a result, the amount of time spent on resolving security issues has been halved.

Additionally, we have reduced cost by 40% and achieved 90% automation with AI-powered testing and pre-designed pipeline.  

Now, going back to our original story. The Identity management firm reached out to us through a reference from an existing client.

And because they have already been introduced to our DevOps expertise as well as our certified Kubernetes team. 

 They were confident that we could assist them in making things right with our containerization expertise.  

We worked with them, understood their containerization-related issues, and resolved them.

Specific Containerization Challenges Our Client was Facing And How we Resolved Them 

With Our Kubernetes Expert Solution

Now, the question arises why did our client get stuck in the above challenges?

Well, there are 3 key reasons for that.

Three main reasons for Container-related Issues

  1. The application container was not set up in the right way.
  2. The utilities were not available –  to read the logs, start the container, report the container, etc.
  3. The focus on feature delivery is so high that there was no pressure on solving container problems which is usually not the true skill of many teams.

You have come a long way, and 

It’s high time to reveal the Secrets of our Containerization Expertise

  • We have certified Kubernetes administrator and application developer with amazing detail-oriented skills.
  • We take prime attention while setting permissions, limiting resources, and monitoring systems that help us build a differentiated strategy.
  • We optimize the builds for the build cache that speeds up the workflow

Check out our Success Stories to learn more about the numerous ways we assist businesses.

Gene Kim – Amplify DevOps Success with Containers 

As per Gene, Containers are kind of a technical miracle.  He shares how containers can decrease lead times and increase feedback to developers.

A senior director of engineering was facing a biggest problem in her recent project, let’s call it X.

So whenever a developer made a code change to X it would require spinning up 45 VMs, and it would take 30 minutes to get the X instance running. 

Then they moved on to a project that essentially put the entire X instance into containers so that they could run them on every dev laptop.

After that, whenever they made a change it would take about five minutes to get the new instance running. 

Quality went up, lead time went down, and the developers were finding issues faster and fixing them faster. 

You couldn’t do that before containers.

This is all from our end today to help you educate and innovate through containers.

And if you are embarking on the containerization journey we can help you do it right for the first time.

Furthermore, If you are facing similar issues we shared above, reach out to us at  vijayroy@appliedaiconsulting.com

S.NoChallengeSolution
1The client is having separate K8s clusters for the different development teams and each team develops the microservice as per their requirement but database structure is common for all the teams. If there are database changes done by the developers on the individual clusters but those changes are creating the application breakdown then they have to reset the database.
We reset the database to reference DB using an automated pipeline.
2Again, because database structure is common for all the teams. If one team has made some changes in the database and those changes are required by other teams then they have to migrate the entire DB from one cluster to another.
Build a pipeline to Migrate the database from one cluster to another.
3Different teams require fresh clusters for testing the application so they have to create the ad-hoc clusters.
Created an automated pipeline for EKS cluster creation and deployment of required microservices on those clusters.

4 Initially, secrets were deployed using shell script but it was very difficult to maintain so there was a need for an automated pipeline.
Deployed the secrets using an automated pipeline.
5The development team requires a centralized log for identifying the bugs and errors.
Used fluentd to send the application logs to a centralized location and display the logs on the application page so that the development team can see the issues/errors.
6Analysis of memory utilization for performance testing.
Created heapdump for the running pod using an automated pipeline.
7Checking different metrics from performance testing is important so we have to set up this.
Integrated prometheus and grafana for monitoring the different metrics for performance testing.
8Pods were getting restarted due to improper memory assignment.
Fixed the restart issues of the pods by optimizing the memory requirement.
9
As the client is having many clusters so monitoring the individual cluster is a very challenging task.
Installed botkube for monitoring of the cluster and timely notification on the slack.
10Application scalability and cost optimization were important for the application.
Implemented Kubernetes horizontal pod autoscaling (hpa) and autoscaler for the cluster so that all the requests are processed without any issue.

11The client was getting a docker pull rate limit error as they were using community edition.
Enabled Gitlab dependecy proxy pull through the cache to avoid the docker pull rate limit issue.

Now, the question arises why did our client get stuck in the above challenges?

Well, there are 3 key reasons for that.

Three main reasons for Container-related Issues

  1. The application container was not set up in the right way.
  2. The utilities were not available –  to read the logs, start the container, report the container, etc.
  3. The focus on feature delivery is so high that there was no pressure on solving container problems which is usually not the true skill of many teams.

You have come a long way, and 

It’s high time to reveal the Secrets of our Containerization Expertise

  • We have certified Kubernetes administrator and application developer with amazing detail-oriented skills.
  • We take prime attention while setting permissions, limiting resources, and monitoring systems that help us build a differentiated strategy.
  • We optimize the builds for the build cache that speeds up the workflow

Check out our Success Stories to learn more about the numerous ways we assist businesses.

Gene Kim – Amplify DevOps Success with Containers 

As per Gene, Containers are kind of a technical miracle.  He shares how containers can decrease lead times and increase feedback to developers.

A senior director of engineering was facing a biggest problem in her recent project, let’s call it X.

So whenever a developer made a code change to X it would require spinning up 45 VMs, and it would take 30 minutes to get the X instance running. 

Then they moved on to a project that essentially put the entire X instance into containers so that they could run them on every dev laptop.

After that, whenever they made a change it would take about five minutes to get the new instance running. 

Quality went up, lead time went down, and the developers were finding issues faster and fixing them faster. 

You couldn’t do that before containers.

This is all from our end today to help you educate and innovate through containers.

And if you are embarking on the containerization journey we can help you do it right for the first time.

Furthermore, If you are facing similar issues we shared above, reach out to us at  vijayroy@appliedaiconsulting.com

Post a comment

Your email address will not be published.

We use cookies to give you the best experience.
Applied AI Consulting

AWS Migration Readiness Checklist To Evaluate Your Systems

  1. Step-by-step guide
  2. Conduct the process yourself
  3. Save 80% time
  4. Get accurate results to proceed