Using Docker as a Python Development Environment

 (or let’s get past virtualenv)

In this article I’m going to try to lay out a workable way to develop Python applications (primarily Web applications) using Docker. Although I’m focusing on Python using the Flask micro-framework, the intent is to show how Docker can be used to provide a better way of developing and sharing applications (written in any language or framework) by encapsulating dependencies and dramatically reducing the gap between development and production. Continue reading Using Docker as a Python Development Environment

Digging Deeper into DevOps on CMcrossroads

My recent article published on the CMcrossroads:


The DevOps movement was started to address the communication challenges between development and operations teams, but instead of engaging in the continuous cycle of self-improvement, management often wants to mimic techniques used by other successful companies. W. Edward Deming showed decades ago that copying others is not effective. This article suggests better approaches to good communication.


the rest is HERE.

Antitude – The future of web application architecture – Announced at Pipeline Conf 2014

Yesterday Ugly Duckling’s Pini Reznik spoke at Pipeline Conf 2014 in London. As part of his talk he announced Ugly Duckling’s new decentralised orchestration tool Antitude.


From the website:

“Antitude by Ugly Duckling is an exploratory look into the future of web-application architecture, provisioning and maintenance.”

Node self-healing, automatic cloud provider agnostic scaling, and efficient hardware utilisation are central concepts in Antitude.

For more information see the website which includes a demonstration video.

Continuous Delivery – The Species Metaphor

We sometimes, especially managers, get caught up thinking that we have an infinite amount of problems but only a finite amount of time in which to solve them. This is not true, of course, and in fact it usually points to a deficient decision making system. Each decision is a death, a tiny goodbye, a casting off from one shore to another. Because of this, we avoid making decisions, we avoid grieving, and do something we are much more comfortable with: we muddle on, content in the knowledge that we are busy as hell. We thus avoid the stress of these little deaths but in doing so we welcome another stress into our lives. The stress of too little time.

Continue reading Continuous Delivery – The Species Metaphor

Introduction to Docker Webinar – March 13th 2014 – 19:15 CET

Heard about Docker, LXC and container technologies and interested in learning more?

Pini Reznik from Ugly Duckling will be hosting an ‘Introduction to Docker’ webinar on March 13th 2014 at 19:15 CET. Pini has already given several well received talks on Docker at events such as the OpenStack summit.

What is the final piece of the configuration puzzle? What does specifiable infrastructure mean for the XP practices of TDD and CI? What on Earth are operations people going to do in a world of Containers?

These are just a few of the questions we’ll be touching upon during the evening as we introduce Docker, a self-sufficient, portable and open source tool that we think is about to change the world.

The webinar will be presented by Pini Reznik who is a veteran of the software industry and has led teams on multiple continents. His most recent work is using Docker to help clients streamline their development processes.

After registering, you will receive a confirmation email containing information about joining the webinar.

Rapid Prototyping a Python web application with Vagrant and Docker – Part 1, Development


Last week we decided to prototype an idea for a visualisation services company complete with a website and example that compares a company’s performance to the stock market.

Because we needed to move quickly we decided to use Docker containers. We were working in a team of two; my colleague Adrian doing the development, and me doing what could be termed ‘operations’. Docker allowed us to get a development environment up and running within a couple of hours so that we could then work in parallel. Adrian could change and test his code using exactly the same container as I would be using in production. Furthermore, I could go ahead and set-up our CI and deployment tooling safe in the knowledge that if it worked for Adrian in development and test, it would work for me in production. Docker takes us closer to the DEVOPS goal of silo-less organisations, because it provides us with an identical artefact with which to communicate; the container. Continue reading Rapid Prototyping a Python web application with Vagrant and Docker – Part 1, Development

Software Development, Configuration and Management

Innovation comes from the producer – not from the customer.

W. Edwards Deming

If you look back over the last ten years, or so, you will see that we got very good at building software effectively. Methods like Extreme Programming helped us to put iterations to good use. Tools like JUnit, JMock and CruiseControl helped speed up the development process. At the same time, the software community borrowed some ideas from management, like Lencioni’s dysfunctions. The implementation of these management ideas improved team work and team building. Continue reading Software Development, Configuration and Management