Blog

AWS CloudFormation: exceeding template parameter limit
AWS CloudFormation: exceeding template parameter limit
25 April 2019

In this post, I explain what I did to resolve the 'Template format error: Parameter count 62 is greater than max allowed 60' error from CloudFormation after updating an existing CF template with new parameters.

Getting an unexplained accessdenied when using AWS CLI S3 copy function
Getting an unexplained accessdenied when using AWS CLI S3 copy function
23 April 2019

Are you getting an unexplained AccessDenied error when calling the GetObject operation when trying to copy a file from an S3 bucket on an EC2 instance even though the assigned role has the s3:GetObject permission? It could be that your bucket/file is encrypted with AWS-KMS.

Jenkins pipeline on Kubernetes in AWS
Jenkins pipeline on Kubernetes in AWS
9 December 2017

In this post, I will demonstrate how to install Jenkins into a Kubernetes cluster in AWS and go on to explain how to configure a build pipeline for Java applications such that the built application can be automatically deployed to the Kubernetes cluster.

Creating a Kubernetes cluster using KOPS on AWS
Creating a Kubernetes cluster using KOPS on AWS
8 December 2017

In this post, I will demonstrate how to set up a Kubernetes cluster in AWS using KOPS.

Getting started with Kubernetes on AWS
Getting started with Kubernetes on AWS
5 September 2016

Kubernetes is a container orchestration system developed by Google. It is widely used and has grown in popularity over the years. In this article, I demonstrate how to get up and running with Kubernetes on AWS using the official installation script.

Centralised configuration using Spring Boot
Centralised configuration using Spring Boot
31 August 2016

Configuration is one of the factors of the twelve-factor app. Environment-specific configuration should never be part of the compiled code. You should never have to modify and rebuild the code to propagate it through the environments en route to production. In this article, I discuss how to create a centralised configuration server using Spring Boot and Spring Cloud.

NGINX as a reverse proxy in Docker
NGINX as a reverse proxy in Docker
21 February 2016

If you are developing a web application then you will more than likely deploy the UI layer files in a simple web server to provide a fast edit/reload/test cycle. If you want to use the real backend services you’ll require a web application container such as Tomcat but you’ll hit the CORS problem. In this post, I will explain what CORS is and how you can configure NGINX as a reverse proxy in Docker to avoid it.

How to speed up git filter-branch
How to speed up git filter-branch
22 January 2016

I have recently had the task of moving some files from one Git repository into a new Git repository. We simply wanted to move a service from its current repository into its own dedicated repository preserving the Git history for the files.

Graceful shutdown of Quartz scheduler and jobs using Spring
Graceful shutdown of Quartz scheduler and jobs using Spring
28 November 2015

Will your Tomcat instance not shut down because of long-running Quartz jobs? I had that problem. In this post I explain the problem and what I did to resolve it.

Managing Oracle schema versions with Docker
Managing Oracle schema versions with Docker
17 August 2015

I’ve been using Docker in my current role for over six months now to provide me with an Oracle Database instance on a Mac. Oracle is the database of choice on the other environments; from CI to Production.

Docker and Cisco AnyConnect VPN
Docker and Cisco AnyConnect VPN
29 July 2015

So you’ve heard about this thing called Docker and you want to give it a go on your Mac. You’ve installed Docker Toolkit and you’ve created yourself a docker machine. Then you start using your VPN connection and bang!