Welcome to Shikisoft Blog!

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

  • Jan 15, 2020
  • AWS, Serverless, DevOps

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

Invalidating Paths on Your Amazon CloudFront Distributions Using AWS CLI

  • Nov 29, 2019
  • AWS

Invalidating CloudFront Distributions Using AWS CLI

When you make changes on your content distributed via your Amazon CloudFront distribution, you have two options for them to be visible if they are cached: You will either wait for the cache to expire or you will invalidate them to serve the changes immediately. Of course, you cannot do anything about the cached content on your users’ browsers. But in your side, everything is under your control on AWS.

In this post, I will talk about how to invalidate some paths on your Amazon CloudFront distributions using AWS CLI along with some other commands that may be helpful in the process. ... read more

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

  • Nov 27, 2019
  • AWS, Serverless, DevOps, Databases, Python

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

Why Choose Amazon Aurora over Regular RDS

  • Sep 24, 2019
  • AWS, Databases

Aurora vs Regular RDS

Amazon RDS is the managed relational database solution of AWS. You leave the setup and maintenance of your database to AWS, and focus on using it with the help of RDS. You can launch and maintain community edition MySQL, PostgreSQL databases as well as commercial Oracle and SQL Server databases on Amazon RDS. However, in a few years ago, AWS developed its own cloud native, enterprise level database engine called Amazon Aurora.

Aurora provides MySQL and PostgreSQL compatibility. In this post, I will discuss some of its unique features and why you should choose it instead of community edition MySQL and PostgreSQL databases.

Recently, Aurora also launched its serverless and multi-master versions and any of these features can alone be the reason to choose it. However, in this post, we will focus on single-master Aurora deployment and its advantages over RDS. ... read more

Building Angular Apps with AWS CodeBuild upon Bitbucket Pushes

  • Jul 11, 2019
  • AWS, DevOps, Angular


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

Would you like to start learning AWS CloudFormation?

Our new course AWS CloudFormation Step by Step: Beginner to Intermediate is live on Udemy!

We offer a special discount for the new year until February 15, 2020!

Enroll now!

Subscribe to this blog's RSS feed