Overview of Frameworks and CI/CD Tools for Serverless

Riyaz Sayyad | AWS Certified Database Specialist
A free video tutorial from Riyaz Sayyad | AWS Certified Database Specialist
Best Selling Instructor, Tech Evangelist at Rizmax Software
4.5 instructor rating • 3 courses • 28,186 students

Learn more from the full course

AWS Lambda & Serverless Architecture Bootcamp (Build 5 Apps)

AWS Serverless with AWS Lambda, API Gateway, Amazon DynamoDB, Step Functions, SAM, the Serverless Framework, CICD & more

25:23:00 of on-demand video • Updated December 2019

  • Master AWS Lambda, API Gateway, DynamoDB, and Step Functions from the ground up (Full of Demos and Hands On)
  • Streamline your development and deployment with AWS SAM as well as the Serverless Framework
  • Automate serverless deployment with AWS CI/CD tools like CodeCommit, CodeBuild and CodePipeline
  • Build Serverless REST API, Web App, Android and iOS Mobile Apps, Alexa Skill, IoT App and more
  • Integrate different services like S3, Kinesis, SNS, SQS and more in your serverless projects
  • Implement OAuth 2.0 Authentication and Authorization with AWS Cognito
  • Document your serverless APIs using API Gateway and Swagger
  • Learn Serverless Best Practices
English Automation and continuous delivery are even more crucial when building serverless applications. These tools make your life as a developer or as DevOps so much easier. A typical serverless application would have several many Lambda functions and a number of APIs or API endpoints. And configuring each of them manually, maintaining their versions and following a uniform development process or deployment process manually is not a great idea. Its time consuming and offcourse prone to errors. Automating these tasks fully or at least partly will make your application life cycle easier and manageable in the long run. Ideally, you should be able to maintain a codebase in a source control system or a version control system, run tests, and deploy your application automatically. The only time you should deploy Lambda functions manually or configure API Gateway using the web console is while you learn. Once you begin working on real serverless applications, you should have a well-defined deployment process and ideally it should be automated. There are several tools that play an important role here and we’ll quickly go over these in this lecture and later in the course we’ll learn how to use these tools as well. There are two frameworks that help you work with your serverless applications efficiently – The AWS SAM and the Serverless Framework. AWS SAM or the Serverless Application Model is a tool provided by AWS, while the Serverless Framework is a popular third-party tool provided by a company named Serverless Inc. First, let’s talk about the AWS SAM or the Serverless Application Model. SAM is a lightweight version of AWS CloudFormation. CloudFormation is a service that allows you to automate creating and deploying various AWS services quickly using a text-based template file. AWS SAM uses similar template file but with a simplified syntax, more suited for serverless applications. CloudFormation internally converts this SAM template into the standard CloudFormation syntax to create and deploy our serverless resources. We’ll dive deeper into SAM and learn how to use it later in this course. Now, lets discuss the alternative third party framework called the Serverless Framework. This is an open source tool and works on similar lines as the AWS SAM. The template syntax it uses however is slightly different but equally easy. The serverless framework is quite a popular tool and many organizations are using it for their application deployments. The Serverless Framework also has an open source plugin system which allows any one to extend its functionality. And hence it provides rich features apart from just being able to deploy serverless resources. We’ll learn how to use the Serverless Framework later in this course. Irrespective of which framework you use, continuous integration or continuous delivery is something you should consider using in order to automate your application deployment process. AWS provides a host of tools for this purpose. AWS CodeCommit is a version control or source control system that provides a GIT based repository and you can use it as your codebase. This allows you to maintain private repositories of your application code. As of recording this video, AWS Free tier provides you with unlimited private repositories with about 50GB of storage and 10,000 Git requests per month for up to, I belive 5 users at no cost to you. Then we have AWS CodeBuild which allows you to build your serverless code and create or update AWS resources automatically via CloudFormation. This allows you to deploy your serverless applications as well. AWS CodePipeline then is a service that allows you to define the delivery or deployment cycle from Source repository through deployment and automate the application deployment process or application deployement pipeline. Later in the course, we’ll learn how to use these tools together to automate the deployment process for our serverless applications. That’s all for this lecture. In the next lecture, let get our development environment setup so we’re ready for hands-on practice as we dive deeper in to serverless computing with AWS. So thank you for your time and I’ll see you in the next lecture in just few seconds.