Introduction

Many organizations, from small startups to large enterprises, are adopting more and more “serverless-first” architectures to obtain a faster time-to-market with optimized development and operation costs, and higher availability rates. But sometimes, this paradigm shift can be seen as a challenge in how our Engineering teams develop their microservices in an organized fashion while ensuring the best practices are still being applied, how DevOps teams ensure the organization is using the correct tools and how to adequate their existing delivery pipelines to this new concept, and how Operations teams can ensure to measure and monitor these workloads without having to acquire a new skillset.

This workshop will walk you through some of the best practices to create a serverless backend API and create and configure a multi-environment CI/CD pipeline that can be reused across multiple development teams inside an organization, and is composed of three core objectives:

    Structuring a Serverless application

    Let's create a sample Serverless application that will be given to our developers using AWS Serverless Application Model(SAM) applying some of the best practices regarding serverless microservices workspace structure, logging, monitoring, and creating the basic unit tests for each one of these microservices.

    Creating a Reusable Delivery Pipeline

    In this step, you will learn how to use AWS Code Suite services to create a CI/CD pipeline for serverless workloads with multi-environment promotion and automated rollbacks.

    Packaging and Distributing your Pipeline

    Let us now package everything up and transform the CI/CD pipeline we just create in a reusable product avaible across all our developer teams in our organization using AWS Service Catalog.