DevOps Posts

Continuous Deployment with AWS CodePipeline for Static Websites and Front End Apps

CD Pipeline for Static Websites and Front End Apps on S3 with AWS CodePipeline

Whether you have a static website like this blog or a front end application developed using a framework like Angular, React or Vue.js, you can follow similar steps to create a continuous deployment pipeline on AWS using AWS CodePipeline. In this post, I will share the AWS services you can use while creating this type of pipelines to achieve fast and frequent deployments. Read more at Continuous Deployment with AWS CodePipeline for Static Websites and Front End Apps post.

3 Ways to Schedule AWS Lambda and Step Functions State Machine Executions

Scheduling AWS Lambda and Step Functions Executions

In addition to API development, AWS Lambda has many use cases. One of them is running some background jobs in scheduled intervals. Besides, if you need a chain of sequential or parallel AWS Lambda functions, the ideal way to orchestrate them is using AWS Step Functions.

In this post, I will talk about how to schedule your AWS Lambda functions or Step Functions state machine executions using AWS CloudWatch and EventBridge consoles as well as AWS Serverless Application Model (SAM) and CloudFormation templates. Read more at 3 Ways to Schedule AWS Lambda and Step Functions State Machine Executions post.

Using IAM Authentication to Access Amazon RDS MySQL Databases from Python AWS Lambda Functions

Amazon RDS Iam Authentication

Where do you keep your DB credentials in your AWS Lambda functions that you use to access your Amazon RDS databases? Hardcoded? No! Environment variables? Well, you might be using AWS Secrets Manager, right? It would be great! But did you know that you can also use the IAM role of your AWS Lambda function and its temporary credentials to do this?

Yes, there are different ways to manage your database credentials in your AWS Lambda functions. In this post, I will talk about one of the most secure methods, using IAM authentication of Amazon RDS, with an example of an AWS Lambda function developed in Python. I will use an Amazon RDS - MySQL DB instance, but IAM authentication is also supported on PostgreSQL DB instances as well. Read more at Using IAM Authentication to Access Amazon RDS MySQL Databases from Python AWS Lambda Functions post.

Building Angular Apps with AWS CodeBuild upon Bitbucket Pushes

Bitbucket-AWS-CodeBuild-Angular-S3

If you use Bitbucket for your private Git repositories, you cannot use AWS CodePipeline to create a CI/CD pipeline. Because CodePipeline does not support Bitbucket as a source repository. However, if you still want to use AWS developer tools to automate your builds and deployments, you have an alternative. AWS CodeBuild supports Bitbucket integration as source allowing to trigger builds after push requests to a Bitbucket repository by publishing it as a webhook to it.

By the way, Angular is one of the most popular frontend frameworks and you can deploy your Angular projects in a serverless manner. So it can be reliable, scalable and cost-effective by design. You can build your code, upload to an Amazon S3 bucket and distribute it via Amazon CloudFront.

In this post, I will make an example of using a Bitbucket repository for your Angular projects and triggering builds on AWS CodeBuild after pushing your changes to it. Then your AWS CodeBuild project can build your Angular code and deploy it to an Amazon S3 bucket making it ready for distributing via CloudFront. Read more at Building Angular Apps with AWS CodeBuild upon Bitbucket Pushes post.

Creating a Serverless API Using SAM CLI and Ruby for AWS Lambda to Access Amazon RDS MySQL

Using Ruby for AWS Lambda and Creating a Serverless API to Access Amazon RDS MySQL

Having a Ruby on Rails background, I got excited to try Ruby to code my AWS Lambda functions when its support for AWS Lambda was announced at Re:Invent 2018. Finally, to try Ruby on AWS Lambda, I developed a simple API using AWS Serverless Application Model (SAM) to access an Amazon RDS MySQL database. I wanted to compare it with my experiences of doing this with Python and Node.js.

Although it may seem simple, installing mysql2 gem as a dependency proved itself to be challenging than others, because it has native extensions and depends on the environment you use bundler. As always, Docker simplifies our job by providing a similar environment that our AWS Lambda function runs inside.

In this post, I will make an introduction to AWS SAM CLI and using Ruby for AWS Lambda functions. Let’s begin! Read more at Creating a Serverless API Using SAM CLI and Ruby for AWS Lambda to Access Amazon RDS MySQL post.

Online Courses

Join my Udemy courses with a discount!

AWS CodePipeline Step by Step course logo

AWS CodePipeline Step by Step

Learn how to create CI/CD pipelines using AWS CodePipeline, CodeCommit, CodeBuild, CodeDeploy, and CloudFormation. Automate your deployments to Amazon EC2 and S3.

Use the link below to enroll in this course with special discount.

Enroll Now on Udemy!

Alternatively, use NEW-SEASON-2021 coupon code during the checkout.

AWS CloudFormation Step by Step: Beginner to Intermediate course logo

AWS CloudFormation Step by Step: Beginner to Intermediate

Learn how to manage your infrastructure as code on AWS. Start creating CloudFormation stacks and writing your own templates using YAML as a beginner step by step.

This course will also be a basis for its advanced level version in the upcoming months.

Use the link below to enroll in this course with special discount.

Enroll Now on Udemy!

Alternatively, use NEW-SEASON-2021 coupon code during the checkout.

RSS

Subscribe to this blog's RSS feed

Categories