Serverless Posts

Orchestrating AWS Lambda Functions Using AWS Step Functions

  • by Emre Yilmaz
  • Jan 17, 2018
  • AWS, Serverless
AWS Step Functions

While our serverless applications grow day by day; the need to orchestrate our Lambda functions may become an issue. We might need to execute some functions sequentially and one of our functions might get output of another function as input. Similarly, some functions might require to be executed in parallel. In these cases, AWS Step Functions can help us to coordinate our Lambda executions as components of our distributed applications and microservices.

In this blog post, I will make an introduction to AWS Step functions with a simple case. I will try to show how we can define sequential and parallel executions, as well as intermediary states to transform one state’s output to pass another state as input. ... read more

Provisioning Custom CloudFormation Resources Using AWS Lambda

  • by Emre Yilmaz
  • Dec 15, 2017
  • AWS, Serverless, DevOps

AWS CloudFormation is the foundation of operational excellency on AWS. We code our infrastructure in JSON of YAML templates and test it as much as we need before deploying on production. It is simply infrastructure as code concept.

However, some new resources may not be supported by AWS at the same time they are launched. As of today, an example to these is Elastic GPU resource. The solution is to define a custom CloudFormation resource and attach this resource to a Lambda function which launches these resources. The Lambda function should also be in the same template and I will describe the process in this blog post. ... read more

Controlling API Usage with API Keys and Usage Plans on AWS API Gateway

  • by Emre Yilmaz
  • Nov 28, 2017
  • AWS, Serverless
Contolling API Usage with API Keys and Usage Plans on AWS API Gateway

AWS API Gateway provides us to develop our own RESTful APIs and trigger AWS Lambda functions upon HTTP requests. I often use this architecture in my serverless applications and developed many APIs for my clients. With the help of API Keys and Usage Plans, we can define maximum request quotas and manage request rates while sharing our API with others.

Although API keys can never be considered as a full security measure as we often store these keys in client applications calling the API, usage plans can provide us to limit the API access and be sure that usage does not exceed tresholds we define. ... read more

Running AWS Lambda Functions in a VPC and Accessing RDS

  • by Emre Yilmaz
  • Oct 23, 2017
  • AWS, Serverless
Running AWS Lambda in VPC and Accessing RDS

AWS Lambda allows us running code without maintaining servers and paying only for the resources allocated during the code run. In most cases, we do not need to run our Lambda function in a VPC and it is recommended not to run in a VPC in these situations as a best practice. Some of examples to these are sending emails using Amazon SES or accessing a DynamoDB table.

However, to access an RDS database in your Lambda function you have to run your function in the same VPC or in a VPC that has a peering connection to the VPC of your RDS instance. In this blog post I would like to discuss about running AWS Lambda functions in a VPC and accessing a RDS MySQL database. ... 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!

Enroll now!

Subscribe to this blog's RSS feed