Time to make use of Amazon’s AWS offerings – specifically the Simple Storage Service. tl;dr / Executive Summary:- $ curl -L -O https://github.com/AndrewGorton/AwsFileStorage/archive/v1.0.0.zip $ unzip v1.0.0.zip $ cd AwsFileStorage-1.0.0 $ mvn package $ export AWS_ACCESS_KEY=<enter_your_aws_access_key_here> $ export AWS_SECRET_ACCESS_KEY=<enter_your_aws_secret_access_key_here> $ export …

DropWizard and AWS Read more »

Tagged with: , , , ,

Slight improvement to the previous post about building using a Docker container. I’ve split it into two parts. The first part simply creates an image with OpenJDK 1.7, Maven 3.1.1, Git, tar, unzip and vim. The second part downloads the …

Docker build machine for Maven/Java – part 2 Read more »

Tagged with: , , , , , ,

Here’s a quick-ish way to create a Docker container which downloads and compiles the SimpleDropWizardEcho service I wrote for testing. But why would you do this? As discussed in my previous post, this creates a clean environment with no state …

Docker build machine for Maven/Java Read more »

Tagged with: , , , ,

I spent last Wednesday (28th May 2014) at the DevOps Exchange London meetup, listening to 3 talks about Docker, a lightweight deployment container – kind of a halfway between a full Virtual Machine (VirtualBox, EC2, etc) and a virtualised JVM …

Docker at the DevOps London Meetup Read more »

Tagged with: , , ,

Further from my previous post, you can add JSPs and HTML files to the project, simply by placing them under the src/main/webapp directory.

Tagged with: , , , ,

I’m looking into the various cloud-hosting providers, so I’m creating a quick and simple Hello World project to see how well they work. This post is for Google’s AppEngine, which provides a free usage tier which is enough to see …

Hello World using Google AppEngine Read more »

Tagged with: , , ,

Further to my previous post, turns out we want to install files under /opt/<package>, and the associated config under /etc/<package>. And ideally we don’t want to make the sbt-assembly stage force it’s output to a non-standard directory.

Tagged with: , , ,

Okay, so I need to build proper RPMs rather than using FPM to create them. Our build toolchain uses SBT to build everything, and utilises sbt-assembly to generate a single executable JAR. Which we then wrap up in an RPM …

Using SBT to create an RPM (detour including Vagrant) Read more »

Tagged with: , , , , , ,

I’ve been examining the performance of my project’s DropWizard microservices. If you set the default loglevel to debug, DropWizard is very chatty – which is not good for performance. Using Gatling to locally stress-test the service (eg both Gatling and …

DropWizard performance and logging Read more »

Tagged with: , , ,

A UUID generator for the Gatling Stress Testing tool. 1 2 3 4 5 6 7 8 9 object UuidFeeder { val feeder = new Feeder[String] { override def hasNext = true   override def next: Map[String, String] = { …

Gatling UUID feeder Read more »

Tagged with: , , ,