Setting up a CI/CD pipeline in Azure DevOps for Api Gateway + Lambda + DynamoDb and Deploy to AWS

Ricardo Humberto Vivanco Effio
PipelineSpace
Published in
6 min readMay 15, 2019

Overview

PipelineSpace.com provides an end-to-end, cloud-native solution for creating, building and deploying applications.

What is covered in this lab?

In this lab, you will

  • Generate the Ecommerce project in your Azure DevOps Services organization with PipelineSpace.com tool.
  • Generate the Build pipeline in Azure DevOps Organization.
  • Generate the Release pipeline in Azure DevOps Organization.
  • Deploy Api Gateway + Lambda in AWS.
  • Destroy Api Gateway and Lambda.

Pre-requisites for the lab

  1. Refer the Getting Started page to know the prerequisites for this lab.

Exercise 1: Create Project in Azure DevOps Services

You can create projects quickly in the Azure DevOps account. The tool will help automate the tasks of connections to the cloud and git connections.

  • Navigate to the Projects and click in the Create Project button.
  • Now, We need associate a Git Provider. This step is important since it is where you will store the code of the services that we are going to use for the project.
  • Now, We need associate an Agent Pool. These agents are loaded from the Azure DevOps account.
  • Now, We need associate a Cloud Provider. This step is important since it is where the services that we are going to use for the project will be deployed.
  • Now, We need select the project template. PipelineSpace.com, It has preloaded templates to accelerate the configuration of projects. For this lab we using the Empty Template.
  • And finally, we give a name to our project and what will be its objective. The name of the project is very important and it has to be unique, since it is used to create the project in Azure DevOps Organization account.

When the project is created it is initialized in a state “Preparing”, this means that the tool is configuring tasks. This may take a few seconds.

  • Now, click in the Continuous Integration Link, redirects you to the project created in Azure DevOps Organization Account.

Exercise 2: Create a Pipe and Deploy to AWS

You can create, build, deploy and destroy (Api Gateway + Lambda Functions) quickly in your Cloud Provider. The tool has preloaded templates that will help you quickly adopt the DevOps and Cloud concepts.

  • Navigate to the projects and select the Ecommerce project and select the Pipe tab, a pipe can be a “Api Services, Web App
  • Now, should be select the pipe type, for this lab we select the Api Service type and then the template “Microservice with Data Driven”. This template contains the pipeline for CI/CD.
  • And finally, we give a name to our api and what will be its objective. The name of the pipe is very important and it has to be unique, since it is used to create the Azure Repo in Azure DevOps Organization account.

When the pipe is created it is initialized in a state “Preparing”, this means that the tool is configuring CI/CD. This may take a few seconds.

  • Now, click in the Git Link, redirects you to the Azure Repo created in Azure DevOps Organization Account.
  • Navigate to Pipelines/Builds. You can see that the tool automatically configured the CI and launched the first build.
  • Navigate to Pipelines/Releases. You can see that the tool automatically configured the CD with 2 stages (Development and Production).
  • Now, back to PipelineSpace Console and select the Pipeline tab. You can also see the status of the pipeline in the tool.
  • Select the Environments tab and copy the ServiceUrl link.

The template generate an endpoint “/appsettings

  • Now, for this demonstration we will use the Postman client.
  • Go to AWS Console account, select the CloudFormation option. You can view the infrastructure that is provisioned based on the CloudFormation template.
  • Go to Api Gateway option. You can see that a resource endpoint has been deployed this is generated by template.

Exercise 3: Eliminate pipe and destroy all deployed infrastructure.

You can quickly destroy all the infrastructure deployed in your cloud provider.

  • Select the pipe and click in Delete pipe option.
  • Confirm the deletion by typing the name of the pipe and then click on the Delete button. The tool will remove the Repositories, CI/CD Definitions and will also destroy the deployed infrastructure in the Cloud Provider.

You can see that Azure Resource Group is being eliminated.

You can see that Azure Repo was deleted.

You can see that Build Definition was deleted.

You can see that Release Definition was deleted.

Conclusion

We have shown how easy is to setup a CI/CD pipeline to deploy applications in AWS, and how to use PipelineSpace to do efficient development in the cloud. And what it is even more awesome, is that you have been able to efficiently develop, build and deploy a application without typing a single command.

--

--