Serverless Posts - Page 2

Triggering AWS Step Functions by AWS API Gateway Calls

If you recall, in a previous blog post I discussed AWS Step Functions as a great service for orchestrating your AWS Lambda functions by giving an example. Today, I will show you how you can integrate your API Gateway resource methods with your AWS Step Functions state machines so that you can trigger your state machines with API calls.

Actually the benefits are obvious. Instead of serving our Lambda functions as separate endpoints and orchestrating which one to call and when in our front end; we can use a single endpoint and pass all logic to the back end. Then our back end, in this case our state machine, will execute the functions in sequential or parallel. This method especially suits well to cases when all these function calls are necessary to complete a single business action.

Continue reading the Triggering AWS Step Functions by AWS API Gateway Calls blog post.

An Introduction to Amazon Cognito User Pools

When you build a new application, developing a secure, scalable user pool and authorization mechanism is a necessity and it takes time and effort to build. Sometimes, it even delays the development of the core features of your application that will bring the actual value to your business.

Amazon Cognito provides a scalable and secure user pool that you can create and use in your mobile and web applications. It provides a hosted user interface and SDKs for sign in and sign up actions. It has many features such as sending verification emails, SMS messages to your users. In this blog post, I will discuss how you can create an Amazon Cognito User Pool to use as an authentication mechanism in your applications.

Continue reading the An Introduction to Amazon Cognito User Pools blog post.

Orchestrating AWS Lambda Functions Using AWS Step Functions

Orchestrating AWS Lambda functions with 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.

Continue reading the Orchestrating AWS Lambda Functions Using AWS Step Functions blog post.

Provisioning Custom AWS CloudFormation Resources With AWS Lambda Functions

AWS CloudFormation is the foundation of operational excellence on AWS. We code our infrastructure as JSON or YAML templates and test it as much as we need before deploying to production. We manage our infrastructure as code.

However, some new AWS resources may not be supported by AWS CloudFormation at the time they are launched. As of today, an example of this is the Elastic GPU resource. The solution is to define a custom CloudFormation resource and attach it to an AWS Lambda function which launches these resources. The Lambda function should also be in the same template. So let’s talk about how to do this in this blog post.

Continue reading the Provisioning Custom AWS CloudFormation Resources With AWS Lambda Functions blog post.

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

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

AWS API Gateway lets us develop our own RESTful APIs and trigger AWS Lambda functions upon HTTP requests. I often use this architecture in 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.

API keys can never be considered a complete security measure as we often store these keys in client applications calling the API. Still, usage plans can help us limit the API access and ensure that usage does not exceed the thresholds we define.

Continue reading the Controlling API Usage with API Keys and Usage Plans on AWS API Gateway blog post.