Companies using DevOps are undergoing a serious culture shift. But before understanding the reason behind it, let’s take a look at what is DevOps? DevOps is a methodology that brings the “Dev” and “Ops” team together. This practice aims in delivering products at a faster pace by using different automation tools. DevOps helps businesses that are keen on improving the flexibility and agility of their team. In this article, we will look at some fast-growing MNCs and startups that have implemented DevOps.
The following list of Companies using DevOps have seen triumph:
- You must be aware that Amazon is one of the biggest e-commerce companies in the world. But back in 2001, their website followed a traditional monolithic architecture. Here, all processes were coupled together and run as a single service
- Over time as the source files grew, it became hard to scale, maintain, and upgrade their applications on physical servers
To solve the problems of the monolithic architecture, Amazon moved from physical servers to cloud-based Amazon Web Services (AWS).
Currently, AWS follows a microservice architecture as shown in the figure below. Within this architecture, the client initially makes a request. Here a load balancer inspects the client request and assigns it to the correct microservice. In turn, the microservice has a target group that keeps track of the instances and ports. In Amazon, they are three types of microservices namely, Users, Threads, and Posts.
Features and tools
Now that we know how a microservice works, let us look at some of the tools and features Amazon implement to adopt DevOps practices.
Developers apply frequent but small changes over their code via version control tools like Git and GitHub. Practices like code deployment help fix bugs and add new features to improve the underlying software application. AWS CodeDeploy is one such service that keeps track of deployments and simplifies the software release process.
Amazon also uses Apollo, a simple one-click internal deployment tool. Apollo’s job is to deploy a specified set of software across a group of hosts. It also provides versioned artifacts and test rollbacks.
On the other hand, practices like Configuration management and infrastructure-as-code help to monitor and make changes in the software. It keeps track of the system’s performance and resources used by developers. This way, the testing team can identify problems before in hand and fix them immediately.
These DevOps practices and implementations helped Amazon save millions of dollars!
Moving on, I will be talking about the second case study of this article.
In 2006, HP’s LaserJet Firmware division built different products(printers, scanners, etc.). This entire project was led by the director of LaserJet Firmware, Gary.
He analyzed developers spent around 5% of their time developing and supporting new features while the rest went into planning, integration, and testing.
- Gary’s team consisted of around 400+ developers distributed across countries like the USA, Brazil, and India but only made two software releases per year! This is because LaserJet models had separate code bases which developed enumerable inefficiencies
- Software bugs were detected via manual testing after 6 weeks of writing code. Fixing a bug that incurred within a code weeks ago, was labor-intensive and tiresome for the developers
- This is where the team needed a new approach to remove the bottleneck
The HP team adopted Continuous Integration/Continuous Deployment (CI/CD) pipeline and test automation.
As you can see in the given figure below, their first step was to create a common platform to support all the products and models. This was called trunk-based development or continuous integration which eliminated toil caused by the integration of different code branches.
They also built a set of automated unit tests running against the trunk, which reduced the 6 weeks manual test time, thereby improving product quality and inducing faster feedback.
Within these automated tests, HP uses a tool called “Stopped the line” that alarms the developer when code breaks any of the unit tests or builds.
These DevOps practices-led around 100 to 150 code commits and 75,000 to 1,00,000 lines of code changes in a single day!
In the next part of this article, I will discuss how a startup implemented the practices of DevOps.
Etsy is one of the earliest Companies Using DevOps. It is an American e-commerce website focused on selling handmade and vintage supplies.
- Initially, Etsy struggled with the development of their organization because they adopted the monolithic architecture
- Their deployment rate was about two times a week resulting in the isolation of departments. Etsy had to find a way out of this traditional system
The new chief technology officer(CTO) brought in a team to adopt DevOps practices. As shown in the figure below, the CI/CD pipeline helped in deploying services about 50 to 100 times a day.
The first release of code is to a random set of users within the organization. After testing and feedback, it is then pushed on to the entire community of Etsy.
Advancements and tools
In code deployment, Etsy uses Deployinator a tool that offers one click-deployments. It helps deploy code about 40 times a day.
They also use Amazon Web Services(AWS) to perform their DevOps operations.
The entire testing phase can thus be automated with the help of a very famous Continuous Integration tool called Jenkins. It helps with the smooth functioning of the CI/CD pipeline. Jenkins now executes more than 14,000 test suites per day.
Etsy developed Kale to detect outliers within data. Kale helps to monitor every deployment performed to make sure the application is user-friendly and stable.
In Etsy, employees are to embrace risks and prepare for failures well in advance!
In the next part of the article, I will be talking about the most famous case study of Companies Using DevOps,
Netflix started as a DVD rental business, but now they are currently the biggest media service provider. They’ve around 182 million streaming subscribers all around the world.
- Just like any other organization, Netflix too adopted monolithic architecture
- To handle a huge amount of scale and traffic caused by their subscribers, Netflix was in short of commercial tools
They began to move from a monolithic to AWS cloud-based microservice architecture.
Netflix uses around 700 microservices to control each part of the full service.
The microservice architecture separates engineering teams from each other & lets them build, test, and deploy their services. This flexibility enables them to increase their pace.
Preparing for failure
Preparation is the best way to handle unexpected failures. Netflix built a tool called “Chaos Monkey” which helps in testing the stability of its application. So, Chaos Monkey enforces failures on purpose by terminating servers randomly while the developers are working on it.
It is a part of the “Netflix Simian Army” the organization’s effort to find solutions for their unexpected problems.
This practice is DevOps at its best because making changes in an unfavorable environment during the development process results in the top class and highly resilient applications.
Netflix has also developed a container management tool known as Titus. It runs existing applications without making any changes in the container, therefore, eliminating scaling issues. It handles resource sharing capacity and integrates with Amazon Web Services. Titus helps Netflix with streaming, recommendation, and content systems.
Last but not the least, I will be addressing the last case study of this article.
Adobe Creative cloud consists of a set of services that gives users the ability to work on different software applications. You must be aware of some of them they are Photoshop, Lightroom, Illustrator, etc.
- Initially, communication between services in Adobe was point-to-point as they employed the monolithic architecture
- But as load grew rapidly on these applications, integration became an impossible task
In this DevOps transformation journey, the key tools and practices Adobe employed are Microservices, containers, and CI/CD.
The ‘Adobe Experience Platform Pipeline’ as shown in the figure below is a distributed, Apache Kafka based message bus for communication across Adobe solutions. Its goal was to break Adobe’s internal silos and simplify communication between services by reducing the number of manual steps.
The messages received by the pipeline are replicated across 13 data centers in AWS, Azure, and Adobe data centers.
You must know by now that automation in deployment helps save time. Here I will discuss some of the automation tools used in the pipeline :
- Git is the version control tool to make code configurations
- Docker for the containerization process
- Jenkins is a continuous integration tool
- Kubernetes and Spinnaker for container deployment and a multi-cloud continuous delivery platform
Adobe Experience Platform is the best to decrease resource costs, improve infrastructure management, and make service movements across different clouds and platforms easy.
Now that we have reached the end of this blog I hope you got an insight into how Companies Using DevOps have seen several benefits by implementing its practices. DevOps elevates productivity, transparency, and prevent communication silos and bottleneck problems. You do not have to be a million-dollar worth IT organization to be a part of this ideology. Any team with the right attitude can make the transition and succeed!
If you have enjoyed reading the article Companies using DevOps, check out the DevOps Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka DevOps Certification Training course helps learners to understand what is DevOps and gain expertise in various DevOps processes and tools.
Got a question for us? Please mention it in the comments section and we will get back to you.