In previous blog posts I’ve shown how to build serverless microservices which provide a REST API. Each service consists of a bunch of Lambda functions triggered by the AWS API Gateway. In a real world scenario multiple microservices would compose an application exposed through a single domain. To achieve this, a custom domain can be used.
It’s not uncommon to work with external systems from within a Lambda function: databases, web services, legacy systems, etc. Oftentimes it is necessary to authenticate against these systems via API keys or actual usernames and passwords. Now the questions is how to securely handle these secrets.
It’s a best practice to launch servers into private subnets so that they are not available from the public internet. But how can they be easily accessed in case of some administrative task? This is where a so-called bastion host comes in. This blog post shows how to launch a bastion host and how to use it.
A Virtual Private Cloud (VPC) is one of the basic building blocks you need when running workloads on infrastructure in AWS. There are some best practices that should be followed when setting up a VPC which are outlined in this blog post.
When it comes to migrating applications to the cloud or building new Cloud-native applications the traditional mindset regarding a fear of vendor lock-in must be overcome. Instead, the focus should be shifted to the question how the usage of the services offered by cloud providers can be utilized to create value for the business and therefore helps in getting an edge over the competition.
GitHub provides a simple API for updating the status of commits based on the results of Continuous Integration (CI) builds. This can easily be integrated with AWS CodePipeline which has no out-of-the-box support for this feature.
The OpenAPI Specification (aka Swagger) provides a structured way for describing REST APIs. The AWS API Gateway can be configured based on this Swagger configuration files. This way the configuration of the API can be done in “code”, can be automated completely and from the configuration the documentation can be generated.
Automation is king! In this blog post I show how simple it is to setup a CI/CD pipeline for automatically building and deploying Serverless applications based on SAM running on AWS.
In a previous blog post I described the steps for implementing Lambda functions in Java. While working on the implementation of the simple microservice presented in that blog post I ran into some unexpected obstacles compared to my previous experiences working with other runtimes for AWS Lambda.