In part 1 of this series, we created a basic serverless function with AWS Lambda. In part 2, we’re going to use GitHub and Travis-CI to set up a continuous integration workflow. If you completed part 1 successfully, you should have a working AWS Lambda function. However, it’s only exists locally on the machine it was developed on. What if we want to deploy it to an AWS account? With an S3 bucket available, we could simply use sam package and sam deploy to create a deployment package for, and deploy our Lambda function to AWS.
As serverless computing makes its way into the toolbox of more engineers and developers, the need for streamlined development and deployment options grows in importance. This 2-part series will share a basic workflow I’ve developed for developing and deploying serverless functions to AWS. This workflow is going to employ the largely ubiquitous, free platforms offered by GitHub and Travis-CI for version-control and CI, respectively, but it could be adapted to a wider variety of VCS and CI/CD platforms.
Defining your infrastructure as code has become an integral part of many successful DevOps workflows. Terraform has become a key tool, which I often employ to define a variety of infrastructure. Today I’m going to show you how to set up the basic backend infrastructure needed to allow multiple engineers to collaborate on the same resources in AWS, using Terraform and CloudFormation. Prerequisites To complete the actions described in this tutorial, you’ll need access to an AWS account in which you have permissions to access and provision resources.