Nvie/gitflow. Practical continuous deployment. In February, I had the pleasure of speaking with the London Atlassian User Group (AUG) about some of our experiences with continuous delivery and deployment at Atlassian.
The slides for this are available online, but the talk generated a lot of discussion at the time and I’d like to recap some of it here. To give a bit of context, I work in the business platform team; we’re responsible for developing the tools that allow the business to interact with the customer. In particular, we develop the order management tools such as HAMS (hosted account management system) and MAC (my.atlassian.com); if you’ve ever bought or evaluated an Atlassian product, these are the systems that have been doing the work in the background.
As we grow, these systems need to undergo a lot of changes, so we need to speed up our delivery of improvements and features. Integration vs. deployment vs. delivery Before we start, I should probably clarify what I mean by continuous integration, delivery, and deployment. What is JBehave? CoreOS is Linux for Massive Server Deployments. Losing Sight of Devops in an Automation Forest - Tj Randall. L’usine de développement : du cauchemar à la réalité. Imaginons un instant une entreprise dans laquelle les projets informatiques tourneraient au cauchemar : le périmètre fonctionnel est mal maîtrisé, les architectes techniques jouent aux divas de l’innovation, les développeurs sont peu productifs, les managers ne savent pas où en est le projet, chaque déploiement est une bataille, les délais et les coûts explosent, personne ne veut maintenir l’application, l’ensemble finit à la poubelle… Une caricature ?
Bien sûr… Mais la réalité est-elle plus proche du discours marketing ambiant, fait de beaux outils et de bonnes pratiques, bourré d’ « agilité », de « lifecycle management » et de « cloud » ? Depuis que des études comme celles du Standish Group (www.standishgroup.com) ont révélé que la majorité des projets informatiques ne se déroulaient pas comme prévu, on est en droit de se poser la question. La première source de soucis concerne l’expression et la prise en compte des exigences, ce qu’on appelle aussi les spécifications fonctionnelles.
Giving Docker/LXC containers a routable IP address. At work, we are evaluating Docker as part of our “epic next generation deployment platform”.
One of the requirements that our operations team has given us is that our containers have “identity” by virtue of their IP address. In this post, I will describe how we achieved this. But first, let me explain that a little. Docker (as of version 0.6.3) has 2 networking modes. One which goes slightly further that what full virtualisation platforms would typically call “host only”, and no networking at all (if you can call that a mode!) As mentioned, Docker goes a little bit further by providing “port forwarding” via iptables/NAT on the host. One way to address this is via a service discovery mechanism, whereby when the service comes up it registers itself with some kind of well-known directory and clients can discover the service’s location by looking it up in the directory.
So, back to the problem in hand. Gerrit Trigger. This plugin integrates Jenkins to Gerrit code review for triggering builds when a "patch set" is created.
Plugin Information Source Code The source code is available on GitHub . Articles. DevOps ou le Lean appliqué aux activités IT du développement à la production. How are you? — Continuous Delivery with Docker and Jenkins - part I. We have been using Docker in our staging environment for a month now and are planning to make it part of our production setup once the first stable version gets released.
We’ll be discussing the staging environment setup today with the promise of following up on the production environment at a later date. Docker is a utility for creating virtualized Linux containers for shipping self-contained applications. As opposed to a traditional VM which runs a full-blown operating system on top of the host, Docker leverages LinuX Containers (LXC) which run on the same operating system.
This results in a more efficient usage of system resource by trading some of the isolation specific to hypervisors. Integrating Docker with Jenkins for continuous deployment of a Ruby on Rails application. For the past few weeks, I have been working on integrating Docker and Jenkins in order to improve the continuous integration workflow of a project I work on.
The application consists of the following packages and services: Ruby on Rails application (called ruby_app)MySQL databaseRabbitMQ messaging systemApache Solr search platfrom Here is a short description of the workflow that I wanted to have as an end result: Jenkins builds all the Docker images from the provided Dockerfiles.If the Docker images were built successfully, Jenkins runs containers from them, links them (ruby_app to MySQL, RabbitMQ, and Solr) and executes RSpecs for ruby_app.If the tests pass successfully, Jenkins tags and pushes the new ruby_app image to a private Docker repository, to be pulled for the staging and production servers.Staging server pulls the latest image for ruby_app from the private Docker repository, runs it and updates the Hipache proxy with the new container. A Docker primer – from zero to a running Django app.
August 30, 2013 by Csaba Okrona Let's create a docker container and run a basic Django app - step by step.
Docker is a great tool for creating and managing lightweight isolated application environments, a.k.a. containers. Docker is a wonderful layer on top of Linux containers (LXC). If you’re not familiar with Linux containers, the easiest way to think of them is like extremely lightweight VMs – they allow Linux operating systems to host other copies of Linux, safely sharing access to resources without the overheard of something like Xen or VirtualBox.
How Does the Ops Skillset Need to Change in a Cloud & DevOps World? How Does the Ops Skillset Need to Change in a Cloud & DevOps World?
Title: How does the Ops skillset need to change in a cloud & DevOps world? A question was posed in the LinkedIn EMC Cloud group about how the skillsets of Operations professional will need to change in a Cloud (andDevOps) world. I wrote a quick reply listing the first 3 ideas off the top of my head but I think they’re worth sharing to see if we can stimulate a wider debate. (1) Learn how your business generates value & makes money The days of "I'm just an IT guy in the IT department - it doesn't really matter what the company does I just manage my servers" is dead. Modern Operations is expected to be far more agile and responsive than ever before - it's about right-sizing infrastructure to meet loads, it's about deploying stuff faster and more reliably so your organisation can get its products/ideas to market faster.
What is a Full Stack developer? Is it reasonable to expect mere mortals to have mastery over every facet of the development stack?
Probably not, but Facebook can ask for it. I was told at OSCON by a Facebook employee that they only hire ‘Full Stack’ developers. Well, what does that mean? To me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology. Good developers who are familiar with the entire stack know how to make life easier for those around them. Server, Network, and Hosting Environment.This involves understanding what can break and why, taking no resource for granted.Appropriate use of the file system, cloud storage, network resources, and an understanding of data redundancy and availability is necessary.How does the application scale given the hardware constraints?
Other Pieces of the Puzzle: All about Chef ... — Chef Docs. AWS CloudFormation – Gestion des piles et de la configuration dans le cloud. LISA 2011 Keynote: The DevOps Transformation. Interesting. DevOps. DevOps Coach Company. Videos. DevOps Demystified - An introduction to the ideas that are driving DevOps. How Adobe turned operations into a sevice and built a service delivery platform in the cloud.
Misc tools. Rundeck.org - Open Source Workflow Automation. Ubuntu Juju. Home - Icinga: Open Source Monitoring. Selenium - Web Browser Automation. Easyb makes it easy, man. An Enterprise-Class Open Source Distributed Monitoring Solution.
Graylog2 - Open source log management and data analytics. Tools. Tsuru. CloudBees: The Java PaaS Company. Vagrant. Homepage - Docker: the Linux container engine. Jenkins : Le guide complet. Azaé - Devops. Devops vient de la contraction des mots anglais "development" (développement) et "operations" (exploitation).
Il s'agit de vous aider à appliquer tout ou parti des recettes mises en place par les grands du web comme Google, Amazon ou Yahoo dans vos sociétés. La démarche s'articule autour de 4 grands axes : la culture, l'automatisation, la mesure et le partage. Culture L'objectif est d'avoir des personnes motivées et organisées dans une dynamique d'amélioration permanente. Privilégier les connaissances de chacun, les valeurs humaines pour anticiper les problèmes et stabiliser les environnements.
Pour améliorer cet axe, il s'agit de se concentrer sur les méthodes de travail et la mise en place d'outils comme des tableaux Kanban, des radiateurs d'informations, le rituel du "daily meeting", etc.