The Testing Pyramid And Docker

by Emmet O'Grady, Oct. 5th, 2017
docker, testing, pyramid, devops, engineering

As a software developer or tester it’s important to know about the testing pyramid because it will help make decisions about the types of testing that each project requires. Not all types of tests are the same, some are fast while others are slow, some impersonate an end user while others simply test units of logic. After this post you’ll understand the different types of tests and why pyramids are bigger at the bottom :P


Is Docker Swarm Really Ready For Production?

by Emmet O'Grady, Dec. 1st , 2016
docker, production, swarm, devops, engineering

Although Docker is growing fast and is quickly gaining a strong reputation among development teams for it’s ability to deploy development environments in local consistently and reliably, are companies really using it in production and at scale? Does Swarm have all the features needed to orchestrate containers in production?


Top 10 New Features And Improvements Coming In Docker 1.13

by Emmet O'Grady, Nov. 17th, 2016
docker, docker 1.13, swarm, devops, news, engineering

The release of Docker 1.13 is coming up quickly, here are the top 10 things we can expect to see when it comes out:


Want updates?


How To Deploy Jenkins Completely Pre-Configured - Automating Jenkins

by Emmet O'Grady, Oct. 11th, 2016
docker, jenkins, devops, automation, continuous integration, ci

In a previous article we deployed a Jenkins instance in Docker using Ansible. However after the Jenkins is deployed we had to configure it manually (Jenkins was a pet).


How To Automate The Deploy Of Docker Services To A Docker 1.12 Swarm

by Emmet O'Grady, Oct. 5th, 2016
docker, stack, distributed application bundles, service, devops, deploy, docker 1.12, automation

In this article we’ll look at how to automate the deploy of services to your docker 1.12 swarm. If you’re interested in automating the deploy of a dockerized application for Continuous Deployment or highly automatic workflows then this is a must-read.


Docker Stacks and Why We Need Them

by Emmet O'Grady, Sep. 14th, 2016
docker, stack, distributed application bundles, service, devops, deploy, docker 1.12

Docker Stacks and Distributed Application Bundles (we’ll call them “bundles” in this post) are a way to describe multiple services in one single file.


How Not To Design An Internal API

by Emmet O'Grady, Sep. 7th, 2016
api, apis, api design, api architecture, software, software design, resusable

In this post we’ll talk about how to (and how not to) design internal APIs so they are reusable. By “Internal APIs” I mean the ones used only from inside your company, by other products or components that your company has control over.


How To Build Docker Images Automatically With Jenkins Pipeline

by Emmet O'Grady, Aug. 31st , 2016
docker, devops, jenkins, ci, cd, continuous integration, continuous delivery

In this post you’ll learn how to use the Jenkins Pipeline plugin to build Docker images continuously.


How To Set Up And Deploy To A 1000-Node Docker Swarm

by Emmet O'Grady, Aug. 17th, 2016
docker, deploy, production, devops, provision, swarm, node, real swarm, large scale

There are some very good articles and posts out there which describe in fantastic detail how Docker works and how easy it is to start a container (now a “service” in Docker 1.12). However not many blogs talk about the other stuff that must be done to successfully get the application responding to requests from the web, and less talk about a 1000 node cluster.


How To Deploy A Jekyll Blog In Docker

by Emmet O'Grady, Aug. 10th, 2016
jekyll, blog, docker, deploy, production, devops

In this article we’ll look at how to deploy a Jekyll blog in a Docker container.


What's New In Docker 1.12

by Emmet O'Grady, Aug. 3rd , 2016
docker, swarm, devops, news, consul, self-healing, cluster, engineering, systems

Docker version 1.12 was released recently, this post is an overview of the goodies that it brings as well as a breakdown of what each change will mean for you.


How To Deploy To A Swarm Cluster Using Docker Compose And Ansible

by Emmet O'Grady, Jul. 13th, 2016
docker, swarm, cluster, compose, ansible, deploy, devops

In a previous post we looked at how to provision a swarm cluster using Ansible. In this post we will take the automation one step further and learn how to deploy a full application to the cluster using docker-compose and Ansible. In order to get the most out of this post you should already have a docker swarm up and running, but it shouldn’t matter if you’ve provisioned it using Ansible as described in the other blog post or if you’ve provisioned it manually. As long as you have a working swarm the commands will work.


How To Provision A Swarm Cluster On Bare Metal Using Ansible

by Emmet O'Grady, Jul. 6th, 2016
docker, swarm, cluster, provision, ansible, devops, systems

In this blog post we’ll look at how to provision a swarm cluster on bare metal servers using Ansible. This will let you provision swarm clusters extremely easily, simply by running the ansible playbook.


Continuous Testing Docker Applications With End User Tests

by Emmet O'Grady, Jun. 30th, 2016
qa, testing, continuous deployment, continuous integration, docker, devops, software, quality

As all software developers know, automating tests becomes very important as the size of the project grows and the standards rise. Automatic tests allow us to catch bugs as quickly as possible when developing software, this quick feedback allows us to iterate quickly and fix it quickly. In turn this leads to stuff getting into production quicker (since bugs are found and fixed more quickly) and it means that what does get into production has less bugs (since it passes the tests). In this post we’ll look at running end user tests in a continuous testing workflow for docker applications.


Deploying a Ghost Blog in Docker

by Emmet O'Grady, Sep. 27th, 2015
ghost, blog, docker, deploy, production, devops

This article will help you get a ghost blog set up inside a container. First we’ll containerize the blog and get it working on your local machine and then we’ll deploy it to a single production ubuntu server.