Forget Writing Code.
Start Building Software.

Get weekly inspiration to kickstart your building journey and transform your ideas into digital reality.

Integrating AWS CodeBuild into Jenkins pipelines

Discover how to integrate AWS CodeBuild with Jenkins, with full working examples.

Published 1 Feb 2021 · 16 min read · Tom Gregory

5 reasons for developers to get an AWS certification

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 serverless. Sometimes the reasons for this seem unjustified given the huge changes required, but a lack of knowledge of AWS can hold you back from engaging in discussion....

Published 15 Jan 2021 · 5 min read · Tom Gregory

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 service your traffic, and likewise you’re not overspending by running too many. To understand the deployment process we’ll take the following simple setup as an example....

Published 7 Dec 2020 · 9 min read · Tom Gregory

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 article helps you navigate this minefield, with details not only of how the S3 permissions work, but also how you can implement some common real-world scenarios such as S3 bucket access from another AWS account....

Published 30 Nov 2020 · 14 min read · Tom Gregory

Jenkins vs. AWS CodeBuild for building Docker applications

The pros and cons of Jenkins vs. AWS CodeBuild, specifically related to building applications which run in Docker.

Published 16 Nov 2020 · 9 min read · Tom Gregory

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.

Published 7 Nov 2020 · 25 min read · Tom Gregory

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? If you’re using ECS, Fargate Spot offers significant cost reductions by using spare capacity in the AWS cloud. But just how much could you save? AWS say up to 70%, but we’re going to put that to the test with a head-to-head price comparison between 100 Fargate Spot and 100 Fargate containers running over 24 hours....

Published 2 Nov 2020 · 8 min read · Tom Gregory

Add SonarQube quality gates to your Jenkins build pipeline

Learn to add SonarQube analysis and quality gate stages to a Jenkins pipeline.

Published 19 Oct 2020 · 10 min read · Tom Gregory

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 of mayhem, such as generating incorrect URLs for you application. In this article you’ll discover how to make use of the X-Forwarded headers passed from a load balancer to your Spring Boot application, to help your application generate URLs correctly based on the originating request....

Published 12 Oct 2020 · 8 min read · Tom Gregory