I believe passionately in the relevance of agile and lean principles to system administration and other operations tasks. For the last four years I've been introducing and evangelizing what we now call Devops, concentrating on the message that this is good news for business. Over the last year one of our clients has been responsible for the development and management of a large UK Government Drupal site. I've been managing the technical infrastructure, live, staging, test and development environment, as well as introducing and running an IT service desk. I've also overseen a major datacentre migration, and the building of a new architecture and infrastructure for a complete new web offering. Working with an operations team which historically had zero exposure to such approaches, and on projects which most naturally suit traditional management methodologies, I've learned a great deal about the right (and wrong) approach to introducing the Devops way, and Lean and Agile principles. This talk will serve as a field report, and explore some of my thoughts around best practices, and will discuss how (and if) Agile/Lean and ITIL/PRINCE2 methodologies can co-exist.
continuous delivery, continuous deployment, deployment pipeline, agile testing, automation Description
Businesses rely on getting valuable new software into the hands of users as fast as possible, while making sure that they keep their production environments stable. Continuous Delivery is a revolutionary and scalable agile methodology that enables any team, including enterprise IT organizations, to achieve rapid, reliable releases through better collaboration between developers, testers, DBAs and operations, and automation of the build, deploy, test and release process.
I'll start by discussing the value of CD to the business, inspired by the lean startup movement. I'll then present the principles and practices involved in continuous delivery, including value stream mapping, the deployment pipeline, acceptance test driven development, zero-downtime releases, and incremental development. I'll talk about how continuous delivery can co-exist with ITIL and compliance in an enterprise environment. Finally I'll cover how CD is enabled by an ecosystem including Devops, cloud computing, agile testing, and continuous deployment.
Last year we had a presentation on Kanban for operations. Several people started out with trying this approach with various results. David Anderson introduced Kanban in software development and has started the WipSociety. After a brief introduction on Kanban we will have fishbowl session that allows the discussion of various results, problems and ideas.
This talk outlines the development of a new version of one of Europe's biggest websites, handling up to 10 million unique users per month, with peaks of 35 million page impressions per day, and over 6,000 requests a second during the peak hour. Drawing on specific examples, we'll detail the evolution of the site's architecture and deployment topography, and try and draw out some general guidelines for anyone interested in scaling web applications.
This talk details the development during 2009 of a new version of one of Europe’s highest-traffic websites. Giving a high-level overview of the reasons behind the initial reimplementation, we will then talk in detail regarding the challenges in scaling the application to handle the required load.
Attendees will learn about:
We will talk specifics in terms of hardware & general deployment topographies, and try and draw out some general guidelines for anyone interested in scaling web applications. This talk is aimed at those people already building their own web sites, who have a basic grasp of the web and HTTP. Whilst it does detail a Java-based system, the lessons learned are equally applicable to other technology stacks.
During my tenure at Linden Lab, creator of Second Life, significant changes had to be made to our systems infrastructure processes to allow our business to scale. These changes centered around consistency and repeatability in the deploy process, originating from the following postulate: given runtime changes to the filesystem, it is impossible to determine the state of the running system. We developed a toolchain - PGI, Programmatically Generated Images - around the concept of building complete system images that are not changed once built. The image then migrates through qa, staging, and into production. This was not free of challenges and problems, but consistently gave us more predictable deployment and a greater sense of confidence. It also helped bridge operations and development allowing for more efficient collaboration and awareness of the product on both sides.
In this talk I will draw a parallel between farming practices and how as much attention is paid to the crops (your product) as to the soil (the infrastructure). Farming treats them as a unit and has developed techniques to fight bugs eating the crops (software bugs) alongside with ways to minimize external agents, like weeds, freely spawning in the soil and indirectly affecting the crops (unpredictable runtime state).
To clarify, I'd like to focus on discussing best practices and reasoning behind certain choices rather than presenting a new toolchain as I find the problems more interesting than the implementation, for which there are already several possible solutions to build upon.