-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Mahdi
committed
Oct 6, 2024
1 parent
94619ca
commit 9bd31cb
Showing
3 changed files
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
name: "Mahdi Azarboon" | ||
twitter: m_azarboon | ||
github: azarboon | ||
linkedin: azarboon | ||
--- |
File renamed without changes.
22 changes: 22 additions & 0 deletions
22
content/blog/2024/10/04/2024-10-06-serverless-ci-cd-best-practice.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
:layout: post | ||
:title: "Serverless CI/CD Best Practice" | ||
:tags: | ||
- serverless | ||
- aws | ||
- azure | ||
- cloud | ||
description: > | ||
Tips and best practice for making CI/CD for serverless application | ||
--- | ||
Serverless is an overloaded term. Its meaning has stretched overtime. One link:https://ben11kehoe.medium.com/the-meaning-lessness-of-serverless-cc004936dee5/[shouldn't fixate] on a strict definition of serverless nor on any specific technology. Instead, one should focus on how to leverage serverless for their own business problems. | ||
|
||
One of the main capabilities of serverless is higher agility and shorter time-to-market. However, it usually requires automation and CI/CD pipelines. You can use Jenkins to automate your entire serverless environment. As a best practice, make sure that each of followings have their own repository and deployment pipeline: | ||
|
||
* Ephemeral environment and all its associated ephemeral resources such as AWS Lambda, Fargate, etc. This ensures that they can be deployed and rolled-back at the same time making it easier to spin-up and discard the ephemeral environment. | ||
* Shared resources with long spin-up time e.g. AWS RDS cluster. This way, your ephemeral environments can use the same resource which makes their deployments faster and cheaper. | ||
* Shared infrastructure resources such as virtual private network and subnet, also known as landing zones. Usually these resources are managed by a separate platform team. | ||
|
||
I’ve specifically named AWS services but this best practice apply to other cloud vendors, too. | ||
|
||
You can check link:https://theburningmonk.com/2023/02/how-to-handle-serverful-resources-when-using-ephemeral-environments/[this] and link:https://theburningmonk.com/2023/01/this-is-why-you-should-keep-stateful-and-stateless-resources-together/[this] posts for further information. |