AWS is the leading cloud provider with 32% of the market share. It offers highly available and cost effective services, so it’s no surprise companies are migrating from on-premises to AWS in droves. As developers, we’re often caught in the middle of this, being asked to re-architect software to new models such as containers or […]
AWS ECS deployments step-by-step
The default ECS deployment type is called rolling update. With this simple approach, running ECS tasks are replaced with new ECS tasks. You control this process with the deployment configuration, where you define the minimum and maximum number of tasks allowed during a deployment. Through this mechanism you can ensure enough tasks are running to […]
S3 bucket access from the same and another AWS account
Creating an S3 bucket is easy enough, but to apply the principle of least privilege properly we need to understand how to create the right permissions for specific IAM identities. This might be straightforward if it weren’t for the multiple ways to configure permissions in S3, each having its own rules and edge cases. This […]
Jenkins vs. AWS CodeBuild for building Docker applications
If you’re deploying your application as a container in AWS, then your continuous integration (CI) process will need to build a Docker image. Jenkins, a popular build tool used by many companies, can be extended to build Docker images. Before doing that though, why not consider AWS CodeBuild? It is after all the CI tool […]
Setup Jenkins to assume a role in another AWS account
Setup Jenkins to access resources in another AWS account using one of these 4 assume role methods. At some point most Jenkins jobs are going to need to deploy the application they’ve built. If you’re following AWS best practices, you’ll have a different account for your production and development environments. This creates separation between environments, […]
AWS Fargate Spot vs. Fargate price comparison
Discover how much Fargate Spot could save you on your AWS bill with this price comparison between 100 Fargate Spot and 100 Fargate containers. Did you know you could save money in AWS by switching from Fargate to Fargate Spot? Whether you’re using ECS or EKS, Fargate Spot offers significant cost reductions by using spare […]
Setup Spring Boot behind a load balancer using the X-Forwarded headers
If you’ve ever deployed Spring Boot behind a load balancer, you might be aware of issues coming from differences between the request into the load balancer and the request into your application. These requests will often have a different protocol, host, or port. If Spring Boot isn’t correctly setup it can lead to all sorts […]
Running Jenkins jobs in AWS ECS with slave agents
So you’ve setup your Jenkins instance in AWS ECS? And people start using it. Awesome! Hold on a sec though, loads of people are using it. So many that Jenkins is grinding to a halt with all the running jobs. Thankfully, we can offload those jobs to run in a completely separate container called a […]
VPCs, subnets, and gateways – fundamentals for working with containers in AWS
Let’s be honest, for most developers getting their software written and working on their own machine and maybe a test environment is the main priority. Deploying to production? Ah, that’s another team. All the AWS network ‘stuff’ – VPCs, subnets, gateways? Someone else’s business, right? Secondary to the contents of the holy Docker image and […]
Deploy your own production-ready Jenkins in AWS ECS
Deploying a continuous integration service such as Jenkins is an important step when kicking off your development project. In this article you’ll discover how to deploy Jenkins into the AWS Elastic Container Service (ECS), meaning you’ll have your own highly available Jenkins instance available to you over the internet. We’ll be following all the best […]