Customer Stories / Engineering, Construction & Real Estate
2022
Scaling CI/CD Pipelines to Support Rapid Growth Using Amazon EKS with EquipmentShare
Learn how EquipmentShare in engineering, construction, and real estate used Amazon EKS to reduce manual deployment time by 75 percent.
75% reduction
in time spent on deployments
120%
year-over-year growth
70 hours
of downtime reduced per year
3x growth
in user base
10x increase
in traffic to main API
Overview
Scaling to support sustainable growth was a key challenge for construction equipment startup EquipmentShare as it began growing rapidly in 2019. The company had prioritized speed of development over scalability in its early cloud infrastructure, and it realized that it needed to reshape its deployment pipeline to grow successfully.
To achieve this, the company built a continuous integration and continuous deployment (CI/CD) pipeline on Amazon Web Services (AWS). It used a suite of AWS services, including Amazon Elastic Kubernetes Service (Amazon EKS)—a managed container service to run and scale Kubernetes applications in the cloud or on premises—to standardize its deployment pipeline, automate much of its processes, and improve productivity for its engineers.
Opportunity | Using Amazon EKS to Automate and Standardize Deployments across Teams for EquipmentShare
EquipmentShare provides construction rentals, fleet-tracking software, and hardware security solutions to its customers in the construction industry. The startup aims to increase customers’ productivity by providing both equipment and software solutions that are reliable and convenient. It was founded in 2015 as part of a pitch competition in Columbia, Missouri, and has since grown to a company with 5,000 employees and branches in 40 states. As part of that expansion, EquipmentShare launched an initiative in 2019 to quadruple its organization’s size, growing from 25 software engineers to 100 and developing many more applications.
To support its ongoing growth and scale its engineering team efficiently, EquipmentShare wanted to standardize its deployment process and build reliability into the pipeline. “When we started, it was like the Wild West of development,” says Hunter Scheib, senior software engineer at EquipmentShare. “Every new project introduced duplication in the pipelines that we had to re-create, so we wanted to simplify that by standardizing the pipeline across all departments.” Equally difficult was that each product launch required manual configuration, which was time consuming, introduced downtime, and increased the risk of human error and issues on the live API. The company estimates that it was experiencing 70 hours of downtime per year due to deployments.
EquipmentShare set to work redesigning its architecture on AWS to be container based and feature both an automated, standardized pipeline and a dedicated nonproduction environment. The company had been using AWS since its beginning, and it knew that AWS was the right foundation for its new architecture. “We wanted to use the full power of AWS to do all the hard work for us,” says Mike McClannahan, director of engineering at EquipmentShare. “AWS was an easy choice, and it’s continued to be great.”
AWS is the backbone of our efforts to modernize the construction industry, which has long been resistant to change. As a cloud native company on AWS, we are nimble and can scale to meet the connectivity demands of contractors around the country.”
Paul Rogers
Chief Technology Officer, EquipmentShare
Solution | Improving Deployment Productivity by 75% on AWS
EquipmentShare built a “super pipeline”: a CI/CD pipeline that standardized and automated the deployment process across teams and projects. It achieved its new microservices-based architecture using Amazon EKS in 2019 and completed the super pipeline in 2021 using AWS. EquipmentShare uses GitLab for its DevOps workloads and hosts it on Amazon Elastic Compute Cloud (Amazon EC2), which provides secure and resizable compute capacity to support virtually any workload. When it’s saving changes to a repository, the company uses an operator in Amazon EKS to pull the repository and apply the proper deployment configuration. In that way, the company can track who made changes and when.
EquipmentShare hosts all its Docker artifacts in Amazon Elastic Container Registry (Amazon ECR), a fully managed container registry for storing, sharing, and deploying container software. When needed, the company can use Amazon EKS to retrieve the Docker image so that it can roll back deployments and code changes without affecting the production environment. “If we need to roll back, we can just use the pipeline to pull a stable version and deploy it,” says Scheib. With this container-based approach, EquipmentShare can test ideas in a nonproduction environment without interrupting the compute layer of its architecture and trace any issues in a deployment.
Another key benefit for the company is the ease with which it can link the different AWS services that power its infrastructure. For example, EquipmentShare runs many serverless workloads—including running tests and deploying Docker projects—on AWS Lambda, a serverless compute service that lets users run code without managing servers. “AWS Lambda makes connecting other AWS services very simple,” says Scheib.
Outcome | Shifting Focus from Infrastructure to Innovation
In 2021, as it was building the new super pipeline, EquipmentShare brought in $300 million in revenue. In 2022, it projects revenue of $1.3 billion. As the company continues to expand, EquipmentShare is prepared to support that growth on its new infrastructure.
“Our teams aren’t worried about building the pipelines anymore because we can standardize everything on AWS,” says Scheib. “Instead of worrying about infrastructure, engineers get to focus on building the best products possible.”
About EquipmentShare
EquipmentShare is a construction equipment rental startup that also provides fleet-tracking software and hardware security solutions to its customers. The company was founded in 2014 and secured $230 million in funding in 2021.
AWS Services Used
Amazon Elastic Kubernetes Service (Amazon EKS)
Amazon EKS is a managed Kubernetes service to run Kubernetes in the AWS cloud and on-premises data centers. In the cloud, Amazon EKS automatically manages the availability and scalability of the Kubernetes control plane nodes.
Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Elastic Compute Cloud (Amazon EC2) offers the broadest and deepest compute platform, with over 500 instances and choice of the latest processor, storage, networking, operating system, and purchase model to help you best match the needs of your workload.
Learn more »
AWS Lambda
AWS Lambda is a serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers.
Learn more »
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECR is a fully managed container registry offering high-performance hosting, so you can reliably deploy application images and artifacts anywhere.
Learn more »
Get Started
Organizations of all sizes across all industries are transforming their businesses and delivering on their missions every day using AWS. Contact our experts and start your own AWS journey today.