In this guide, I'll explain what Framework Pro preview deployments are, why you might want to take advantage of them and then show you how to enable these on your own applications. I'll use a version of a song vote counting service I created called Serverless Jams to help illustrate this and you can follow along with me step by step.
CI/CD pipelines have long played a major role in speeding up the development and deployment of cloud-native apps. Cloud services like AWS lend themselves to more agile deployment through the services they offer as well as approaches such as Infrastructure as Code. There is no shortage of tools to help you manage your CI/CD pipeline as well.
While the majority of development teams have streamlined their pipelines to take full advantage of cloud-native features, there is still so much that can be done to refine CI/CD even further. The entire pipeline can now be built as code and managed either via Git as a single source of truth or by using visual tools to help guide the process.
The entire process can be fully automated. Even better, it can be made serverless, which allows the CI/CD pipeline to operate with immense efficiency. Git branches can even be utilized as a base for multiple pipelines. Thanks to the three tools from Amazon; AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy, serverless CI/CD on the AWS cloud is now easy to set up.
#aws #aws codebuild #aws codecommit #aws codedeploy #cd #cd pipeline #ci #ci/cd processes #ci/cd workflow #serverless
In this guide, I’ll explain what Framework Pro preview deployments are, why you might want to take advantage of them and then show you how to enable these on your own applications. I’ll use a version of a song vote counting service I created called Serverless Jams to help illustrate this and you can follow along with me step by step.
You might be familiar with the concept of preview deployments from frontend tooling like Netlify that allow you to create a preview of frontend builds before they are merged into a production website.
Well, we at Serverless thought - “Why don’t we have that for our backends?”
In the past, the answer to this question has been simple - it costs too much. In the days of expensive, sprawling backend infrastructures it took far too much money and developer time to replicate these environments effectively for testing and staging - let alone for every PR.
But with serverless applications, managed services, and microservice architectures that’s no longer the case. Take a typical AWS microservice with the serverless framework. What resources are included? Probably some of these:
What characteristics do these resources share? They’re virtually all pay-as-you-go or pay-per-use/invocation style services or can be configured very cheaply. This means, we can create an entire separate stack of our infrastructure for every feature branch without spending much at all.
The preview deployments benefits for frontend code are clearly apparent - you get some preview URL of a deployment and you can see what changed and make sure it looks great. So what do we really get out of doing something similar for the backend? Let’s take a look.
Automated Tests and Serverless Safeguard
When you create your Preview Deployment, the Framework Pro CI/CD system will still run any Safeguards you have configured for the
default profile. You’ll also still have any automated tests you have setup run against the deployment. This gives you all the same benefits you might otherwise have waited until a staging environment to check against.
They Can Supplement Existing CI/CD
You can use Preview Deployments in combination with Serverless CI/CD for stages like production and staging. Or, you can use them in addition to whatever existing CI/CD tools you have. Already using another tool for your workflow? Great! You can still add Preview Deployments without disrupting any of your existing processes!
A Clean Environment for Code Review
Because you’re spinning up an entire set of infrastructure, it’s open season for your code reviewers to play with the API endpoints and infrastructure resources.
They can run manual tests to confirm the deployment meets expectations, run API contract tests against the API endpoints that are created or integrate the feature branch into local frontends for a fuller test experience. This can be especially helpful when you want validation from a frontend team on the expected functionality for a new API. And because the preview branch is discrete from other environments they don’t have to worry about stepping on any toes during the review.
After this, they can go straight back to the PR, and make sure that any issues and feedback they discover are addressed before the PR is even merged into a staging environment.
Automated Spin Up and Spin Down
Because these resources are all spun up automatically by opening the PR, there’s no manual process for the developer or reviewers to create a full environment to test against. The best part is that when the PR is finally closed or merged you can configure your deployment to automatically remove the infrastructure resources that were created in AWS.
As a DevOps professional, you need to evaluate these tools based on your budget, project requirements, and other data points. This is why we take a deep dive into Travis CI vs Jenkinscomparison to help you decide the right CI/CD tool for your project requirements.
If you are new to DevOps and are just learning the basics then I recommend you to read this detailed article on Continuous Integration And Continuous Delivery. Without further ado, let’s get started.
Jenkins is a popular open-source CI/CD tool that is in usage for a long time. The tool is written entirely in Java. Jenkins has a powerful set of features that can be used to build, test, and integrate changes in a project.
It is the go-to choice for startups as it is free to use, supports a wide range of plugins, and is backed by a vibrant community. Developers get the chance to set up a CI/CD environment in Jenkins. Jenkins is available for a wide range of platforms – Windows, macOS, and various flavors of Unix (i.e. Ubuntu, OpenSUSE, and more).
Another major of Jenkins is its extensibility with plugins. Like other open-source projects, Jenkins maintains two release lines – weekly and LTS (Long Term Support). At the time of this article, the latest version of Jenkins (LTS) was 2.235.1.
#devops #continous delivery #jenkins ci #ci cd #travis ci #continous deployment #jenkins architecture
The development of the product becomes a crucial part of any business model that is engaged in app development. This article has enough information about the CD/CI that will help you through the concept and processes of CD/CI in product development. Read More at : https://www.appsinvo.com/blog/what-is-ci-cd-in-product-development/
#advantages of cd & cici & cd #difference between cd & ci #why cd & ci are imperative?
In today’s Serverless Saturday tutorial, we’ll be going over how to set up a CI/CD pipeline using GitHub Actions and the Serverless Framework, to deploy your serverless function to AWS Lambda.
0:00 - Intro
0:23 - Serverless Framework & GitHub Actions Intro
1:02 - Creating the IAM User
4:13 - Installing Dependencies & Boilerplate Code
5:23 - Understanding the starter serverless.yml file
8:21 - Writing the Lambda code
9:15 - Setting up CI/CD using GitHub Actions
12:59 - Verifying/testing our Deployment
17:05 - Wrap up
Found this video helpful? Feel free to support this channel here: https://ko-fi.com/jacksonyuan
#aws #lambda #serverless #github actions #modern ci/cd