Deploying Lambda Function and API Gateway using Terraform
Executive Summary
Since its foundation, in 1965, the company has been pioneering new standards in pet care, delivering wide-ranging wellness solutions through its products and services, and creating communities that deepen the pet-pet parent bond.
Client’s teams & individual developers, not so familiar with AWS, previously had fragmented delivery pipelines. Through our solution of defining, standardizing, and automating delivery process of all AWS resources across all teams. client’s team can now focus on implementing business logic, instead of having to learn new skills to deploy their solutions or building pipelines to do so.
Background
Several workloads are deployed across multiple AWS accounts & new workloads are being built all the time. These vary from traditional EC2-based workloads up to fully serverless APIs & Lambdas.
As such, each team built their manual or partly automated ways to deploy their code & infrastructure changes on AWS. These varied from fully manual approaches like uploading Lambda ZIP’s in AWS console & writing shell scripts using AWS CLI to trigger deploys, to partly automated approaches like GitLab-based pipelines with custom scripts, etc.
The Challenge
There was no well-defined process in place to automate the deployment and the delivery of these workloads on AWS. This led to unnecessary delays in deliverables, with every team coping in their own way. When this started affecting the business, our client’s IT team stepped in and hired QloudX to standardize & automate the deployment and delivery process of all AWS resources across all teams.
A Solution that creates Value & Benefits
Staying in line with our client’s “no vendor lock-in“ philosophy, QloudX proposed using Terraform Enterprise (TFE) as the standard way to deploy all AWS resources throughout the organization. Our client has adopted GitLab as its central code repository for all its projects. GitLab repositories connected to automated deployment pipelines in Terraform Enterprise are found to be the ideal solution for their needs.
Terraform is now the standard way to deploy all AWS infrastructure throughout our client’s business. This speeds up repeated deployments considerably across teams. Terraform Enterprise also makes it possible to roll back to an earlier deployment in case of issues. Manual review before deployment is incorporated where necessary. Standardizing deployment mechanisms has not only made development faster but has also made it possible for our client to start building a dedicated DevOps team with key skills like Terraform. QloudX is helping build this team as well.
Some of the key values the new process has generated are as follows.
- Manual deployments have been replaced by fully automated deployments.
- Deployments that could potentially take hours in the past, now take just minutes.
- Easy rollback to an earlier deployment, in case of any issues.
- The reliability of deployment is increased many folds.