OpenVPN over AWS Systems Manager Session Manager

Introduction AWS Systems Manager Session Manager allows you to establish a shell session to your EC2 instances and Fargate containers even when these resources don’t have a public IP address. Also, with EC2 instance port forwarding, you can redirect any port inside your remote instance to a local port on your client to interact withContinue reading “OpenVPN over AWS Systems Manager Session Manager”

Serverless Caching With AWS AppConfig and Lambda Extensions

Introduction In this article I will show how you can deploy a simple caching solution for AWS Lambda functions by combining the AWS AppConfig service with the Lambda Extensions feature. To demonstrate this, lets create a problem that we must solve. Suppose you have been asked to implement a solution that will allow the engineersContinue reading “Serverless Caching With AWS AppConfig and Lambda Extensions”

Serverless Jenkins and Amazon ECS Exec

In this very short article I will show how you can create a serverless Jenkins instance and start a shell session in an AWS Fargate task without opening SSH ports or managing SSH keys. Why Serverless? No server is easier to manage than no server. Werner Vogels, CTO @ Amazon Managing a fleet of EC2Continue reading “Serverless Jenkins and Amazon ECS Exec”

Blue/Green Deployments in AWS Fargate with Automated Testing and Rollbacks

Introduction AWS CodeDeploy makes it easy to setup Blue/Green deployments for your containerised applications running in AWS Fargate. In this article, I will show how you can configure CodeDeploy and Fargate to allow automated testing of your deployments before they receive production traffic. Additionally, I will show how you can configure automatic rollbacks, if yourContinue reading “Blue/Green Deployments in AWS Fargate with Automated Testing and Rollbacks”

Serverless File Transfer Workload – Part 3 – CSV-To-DynamoDB

Introduction The last piece of our overall solution is the processing of a CSV file into a data store. Design We will use Amazon DynamoDB as our data store and AWS Lambda to perform the CSV processing. This design was influenced by the AWS blog post at Implementing bulk CSV ingestion to Amazon DynamoDB |Continue reading “Serverless File Transfer Workload – Part 3 – CSV-To-DynamoDB”

Serverless File Transfer Workload – Part 2 – AntiVirus

Introduction We require uploaded files to be scanned for viruses before they can be processed further. Design Our design for this solution can be represented in the following diagram. There is a lot in this so let’s describe all that is happening here. We use ClamAV to perform the anti-virus scans. ClamAV definitions are storedContinue reading “Serverless File Transfer Workload – Part 2 – AntiVirus”

Serverless File Transfer Workload – Part 1 – SFTP

Introduction Suppose a file transfer workload exists between a business and their customers. A comma-separated values (CSV) file is transferred to the business and the records are loaded into a database. The business has regulatory requirements mandating that all external assets are virus scanned before being processed. Additionally, an intrusion prevention system (IPS) must operateContinue reading “Serverless File Transfer Workload – Part 1 – SFTP”

Automated UI Testing With AWS Machine Learning

This article will be a little bit different to previous posts. Having only just recently started to check out AWS Machine Learning I am still in the early stages of my study of these services. So for this article, I wanted to post what I have learned so far in the form of a possibleContinue reading “Automated UI Testing With AWS Machine Learning”

AWS Fargate Application Configuration With S3 Environment Files

A recent AWS Fargate feature update has added support for S3 hosted environment files. In this article I will show how you could use this to manage your application’s configuration. I will also demonstrate how changes to the configuration can be released in a blue-green deployment. Design The solution we will build will follow theContinue reading “AWS Fargate Application Configuration With S3 Environment Files”

AWS CodeBuild Local

In this article I will show how you can run your AWS CodeBuild projects locally. AWS CodeBuild is a “fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy”. By running your CodeBuild projects locally you can test code changes before committing, allowing you toContinue reading “AWS CodeBuild Local”