Interesting Things — 21st August

Microservices + Events + Docker = A Perfect Trio

Very insightful talk from Chris Richardson at DockerCon 2016 — perhaps less about Docker but more about monolithic vs micro services designed applications, and the use of event sourcing to capture and synchronise operations occurring across services.

After successfully converting one of our applications from a monolith to a micro service based architecture I’m quite intrigued by the event sourcing aspects and modelling operations as events rather than entities — more research, experimentation and details to learn there.

Amazon Redshift Window Functions

These look amazing and help solve what would otherwise be very complicated SQL queries — for example determining the percentile of a particular value ntile(), or calculating a percentage rank of data. For more whacky window functions, check out lead and lag!

Alpine Linux

Building Docker images? Alpine Linux looks great for a super small footprint. While not utilising glibc it still appears to be fine for many apps, and there’s standard ruby images based off it as a foundation as well. I’ve got several images utilising Slim for glibc compatibility, however I’ll be looking at Alpine for all newer images in the future.

Docker for Mac: osxfs

Docker for Mac recently came out of beta and includes 1.12 support which has been great. Its much more easier to install and run, doesn’t require a Virtual Box setup, and is obviously the future. I’ve been using it now since several early beta’s — its worked great, and I’m still using it now for experimenting with 1.12 Swarm mode orchestration (check out Docker in Docker for setting up multiple nodes locally), Services, and Application bundle/stacks.

I did experiment recently using it as a development environment for Rails apps, however I did find mounting our Rails app source files into a container via osxfs to be much slower than native. If you’re noticing the same, this thread has some information for Docker themselves indicating it to be the case and CPU bound — but something they’re working on. There’s a few approaches people have tried, such as rsync, amongst others, but I like many others are looking forward to it improving with subsequent releases of Docker for Mac.

On a side note, looking to easily remove all exited containers from your Docker installation? or clean up all dangling images? Handy command line fu.

Amazon Architect and Developer Day

If you’re in Melbourne or Sydney in September, Amazon VP & CTO Werner Vogels will be in town hosting a one-day event — most awesome. I’ll be attending Melbourne with bells on — see you there!

Show your support

Clapping shows how much you appreciated Marcus Crafter’s story.