Continuous Delivery by example.net



Similar documents
Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Modern practices TIE-21100/

Continuous Delivery. Ariel Alonso, IPC

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

Continuous Delivery. Alejandro Ruiz

Increasing frequency of releases to every week down from quarterly major releases

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Application Release Automation (ARA) Vs. Continuous Delivery

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

DevOps Course Content

Fundamentals of Continuous Integration

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Best Practices for Java Projects Horst Rechner

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Continuous Delivery Workshop

The Benefits of Deployment Automation

DevOps. Building a Continuous Delivery Pipeline

Continuous Integration

Software Construction

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Journey to the Intelligent Cloud - Part 2 -

Agility via Software Engineering Practices

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Continuous Delivery / Continuous Deployment How to automate your Deliveries. Bernhard Keprt

Please contact Cyber and Technology Training at for registration and pricing information.

DevOps for. Developers. Michael Huttermann. Apress-

Continuous Integration: A case study

Continuous Integration Processes and SCM To Support Test Automation

Improving your Drupal Development workflow with Continuous Integration

MasterClass 26 th March 2015 DevOps and Continuous Deployment

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Continuous Delivery Benefits, Best Practices and Practical Advice

Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions

Cursuri Certificare Microsoft

Continuous Integration in Kieker

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Continuous integration for databases using Red Gate tools

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

MS 20247C Configuring and Deploying a Private Cloud

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Automation & Open Source. How to tame the Cloud?

Continuous Integration on System z

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

Agile Release Management: Towards Frequent, Low Risk Releases. by Jez Humble, Build and Release Principal, ThoughtWorks Studios.

Continuous Integration Northwestern University. Evanston, Illinois November The Business of IT

Continuous integration End of the big bang integration era

Improving software quality with an automated build process

Using DevOps Tools to Achieve Continuous Integration

MS 20487A Developing Windows Azure and Web Services

OpenMake Dynamic DevOps Suite 7.5 Road Map. Feature review for Mojo, Meister, CloudBuilder and Deploy+

Implementing Microsoft Azure Infrastructure Solutions

Continuous Integration and Delivery at NSIDC

SQL Server Virtualization 101. David Klee, Group Principal and Practice Lead. SQL PASS Virtualization VC,

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Patterns to Introduce Continuous Integration to Organizations

Agile Delivery Framework Automation & Deployment With Puppet

Use Scrum + Continuous Delivery to build the right thing

Central Release and Build Management with TFS. Christian Schlag

MANAGE AND DEPLOY YOUR SITES WITH DRUSH

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

How To Run A Modern Business With Microsoft Arknow

Leveraging the full potential of automation

DevOps Best Practices: Combine Coding with Collaboration

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

"Infrastructure as Code" für Anfänger. XP Days Germany David Völkel

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

AB Suite in the Application Lifecycle

DevOps: Development Challenges and New Approaches

Security Automation in Agile SDLC Real World Cases

MS 10977B Upgrading Your SQL Server Skills to Microsoft SQL Server 2014

An Introduction to Continuous Delivery

Service Orchestration

Thomas Rümmler AIT GmbH & Co. KG Christian Schlag AIT GmbH & Co. KG. Central Build and Release Management with TFS

Mobile Development with Git, Gerrit & Jenkins

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

Releasing High Quality Applications More Quickly with vrealize Code Stream

MSSQL quick start guide

Achieving Continuous Integration with Drupal

Become an ALM specialist in 6 weeks

Transcription:

Continuous Delivery by example.net Oktober 2012

Trifork in brief Trifork is a software development company Founded 1996, listed on NASDAQ OMX 270 employees in located in Aarhus, Copenhagen, Zürich, London, Amsterdam, San Francisco, Stockholm, Krakow, Beijing 3 focus areas: Mobile, Agile, Cloud Focus sectors: Finance, Manufacturing, Telecom Health, Government

Jasper Arildslund Software Pilot in Trifork since 2010 Scrummaster, teamlead and software developer Microsoft development since 2001 Agile development since 2001

Goal Principles important! Methods a few. Practices/Tools.NET Focus?? FreeDigitalPhotos.net

Survey Dev, Ops, Manager, etc.? Continuous Integration Knowledge? Continuous Integration Experience? Continuous Delivery Knowledge? Continuous Delivery Experience? FreeDigitalPhotos.net

Agenda My perspective on Continuous Delivery Continuous Delivery (~20 slides) DevOps Deployment strategies Deployment pipeline Agile Testing Environment Design for Continuous Delivery Tools & Automation Metrics Version Control System Artifacts Deploying Databases Managing Continuous Delivery Continuous Delivery by examples (.NET)

Agile perspective Feedback XP Scrum Continuous Delivery (Integration, Deployment) Lean Startup? Validated learning Images from FreeDigitalPhotos.net

Continuous Integration Principles Maintain a Single Source Repository. Automate the Build Make Your Build Self-Testing Everyone Commits To the Mainline Every Day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Everyone can see what's happening Test in a Clone of the Production Environment Make it Easy for Anyone to Get the Latest Executable Automate Deployment Martin Fowler, 2006

Quote "Det bedste der er sket det sidste år er, at releases kan ske direkte fra byggeserveren." Images from FreeDigitalPhotos.net

Credits

Continuous Delivery reduce the cost, time, and risk of delivering incremental changes to users

Continuous Delivery Principles Create a Repeatable, Reliable Release Process Automate Almost Everything Keep Everything in Version Control Bring the Pain Forward Build Quality In Done Means Released Everybody Is Responsible for the Delivery Process

DevOps Agile operations Everybody Is Responsible for the Delivery Process, but.. Incentives for IT-operations? Where is IT-operations in the organization? The biggest challenge in Continuous Delivery The art of the possible

DevOps - example Ascio (Speednames) Miljøstyrelsen DSB Finansiel Stabilitet

Design/Architecture for CD Enabling small incremental releases Decompose Your Systems Model Your Domain Get Interfaces Right Feature toggle and branch by abstraction Dependency Injection

Deployment strategies Seperate Deployment From Release Smoketest Rollback Self-service deployments and promoting Monitoring Zero downtime releases Decoupling releases Installers? User-Installed software Hotfixes?

Deployment Pipeline A repeatable, reliable and predictable release process Model your value stream and create a walking skeleton. Automate the build and deployment process. unit tests and code analysis. acceptance tests. releases.

Deployment Pipeline - example

Deployment Pipeline - principles Only Build Your Binaries Once! Deploy the Same Way to Every Environment Smoke-Test Your Deployments (Fail early) Deploy into a Copy of Production Each Change Should Propagate through the Pipeline Instantly If Any Part of the Pipeline Fails, Stop the Line (Fail fast)

Agile testing

Agile testing quadrants

Buildserver Task scheduler Visualizer Images from FreeDigitalPhotos.net

Environment - Deploy the Same Way to Every Environment Virtualization Cloud - Environment as a Service Infrastructure Platform Software Define the environment for your project It should be possible to have an environment on a single laptop

Tools Principles over methods over Tools (practices) Go for simple tools...or go for the mainstream tools Command line rules!

Automation If it hurts do it more If doing it more automate it Don t automate directly in the buildserver!

Managing infrastructure Test Driven Chef, Puppet, Vagrant etc. And much more.

Metrics Capture and visulization First part of an immune system Build process metrics in the buildserver Code quality Test results Unit Accept Performance Runtime metrics Infrastructure Application

Version Control System All resources in VCS, including Configuration Build and deployment scripts Versioning Branch alternatives Branch by abstraction

Artifacts There can only be one! - build Your Binaries Once! Put them in an artifact repository Components and dependencies

Deploying databases SQL metadata and data artifacts Test data Incremental deployment Fælles Medicin Kort

Managing Continuous Delivery Risk management Maturity Model ITIL

Continuous Delivery summary Create a Repeatable, Reliable Release Process Automate Almost Everything Keep Everything in Version Control Bring the Pain Forward Build Quality In Done Means Released Everybody Is Responsible for the Delivery Process

Pause

Examples and inspiration Build Server Artifact repository Tools Deployments Databases Environment Infrastructure code Metrics

Buildserver - example

Environment - example Simple environment User account Files IIS (7) website/app-pool Windows service MS SQL Server (2005+) Database Azure https://manage.windowsazure.com Command line tools! Virtual server

Metrics - example

Hybrid Cloud Environments

Tools won t do it alone Principles over methods over Tools But tools are nice Will get you far: Mercurial (Git) Jenkins (TeamCity) MSBuild with extensions Nunit Log4Net (NLog) Zip and command line-install Will maybe get you further: Nuget (http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds) MSI-install Migrator.NET Powershell with extensions Tools for agile testing (e.g. SpecFlow & Watin) OctupusDeploy (Web Deploy, Chef/Puppet, Vagrant) Cloud (Azure, Cloudify) Loggr, Loggly and New Relic(Splunk/Logstash/Graylog2/Nagios)

Questions? mailto:jba@trifork.com