ENGINEERING PRACTICES FOR CONTINUOUS DELIVERY: From Metrics and Deployment Pipelines to Integration and Microservices By Neal Ford with Tim Brown Deployment.

Slides:



Advertisements
Similar presentations
ESPA Developers Meeting - 3rd August 1999 Application Software and RM Connect.
Advertisements

SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
High-performing organizations are deploying code 30 times more frequently, with 50 percent fewer failures than their lower-performing counterparts. 1 1.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
SE 450 Software Processes & Product Metrics Reliability Engineering.
The Northwestern Mutual Life Insurance Company – Milwaukee, WI Application Monitoring Jeremy Kalsow.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
MyOps An Operational Framework for PlanetLab Deployments 1.
Cloud Attributes Business Challenges Influence Your IT Solutions Business to IT Conversation Microsoft is Changing too Supporting System Center In House.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Data Deduplication in Virtualized Environments Marc Crespi, ExaGrid Systems
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Computer System Architectures Computer System Software
Enterprise DevOps Grid Jonny Wooldridge this deck available here:
Drive Customer Satisfaction. Cut Costs. Improve Efficiencies. Oracle i Support Chris Kirby Senior Sales Consultant Oracle.
Creating a Maintainable Software Ecosystem Jeremy D. Miller November 27th, 2007.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Uniting Cultures, Technology & Applications A Case Study University of New Hampshire.
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
© 2012 IBM Corporation IBM Mobile Virtualization Services TRIAL (based on Citrix backend infrastructure) Daniel Stössel – Workplace Services Sales Leader.
Teaching material for a course in Software Project Management & Software Engineering – part V.
Ruth Pordes November 2004TeraGrid GIG Site Review1 TeraGrid and Open Science Grid Ruth Pordes, Fermilab representing the Open Science.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
What Is DevOps? DevOps is "a portmanteau of 'development' and 'operations'" and is "a software development method that stresses communications, collaboration,
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
Real Time Infrastructure John D. Kennedy Manager - Information Technology SLM Corporation.
Infrastructure & Operational Maturity And Why You Should Care Kerrie Meyler, MVP networkworld.com/author/kerrie- meyler/ John Joyner, MVP opsmgrunleashed.wordpress.com/
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
Aligning Business Process Architecture and Enterprise Architecture: A Model Driven - Service Oriented Approach Chris Capadouca Business Solutions Architect.
Hosted by Aligning Storage Management Tools with Operational Processes Stephen Foskett GlassHouse Technologies.
Cisco Consulting Services for Application-Centric Cloud Your Company Needs Fast IT Cisco Application-Centric Cloud Can Help.
Release Management for Visual Studio 2013 Ana Roje Ivančić Ognjen Bajić Ekobit.
Copyright © 2004 R2AD, LLC Submitted to GGF ACS Working Group for GGF-16 R2AD, LLC Distributing Software Life Cycles Join the ACS Team GGF-16, Athens R2AD,
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
Declarative Configuration Management with Azure Automation DSC and ARM Nathan Lasnoski Vice President of blog.concurrency.com Concurrency.
Please fill in my session feedback form available on each chair. SPSCairo Welcome.
Structured Container Delivery Oscar Renalias Accenture Container Lead (NOTE: PASTE IN PORTRAIT AND SEND BEHIND FOREGROUND GRAPHIC FOR CROP)
SQL Database Management
Tool Support for Testing
Don’t Forget Security When Delivering Software
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Engineering Practices for Continuous Delivery:
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Engineering Practices for Continuous Delivery:
Dockerize OpenEdge Srinivasa Rao Nalla.
A Case Study: Automated Continuous Software Engineering Cycle (ACSEC)
Continuous Integration (CI)
SuperB and its computing requirements
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Maximize the value of your cloud
Quantifying Quality in DevOps
X in [Integration, Delivery, Deployment]
The Business Case for Containerization
DevOps CSCI 577b.
Winter 2016 (c) Ian Davis.
11/23/2018 3:03 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Simplified Development Toolkit
Continuous Delivery good & bad 4/20/2012
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Measure Reliability of Automation – using Machine learning
Andy Puckett – Sales Engineer
For Community and TSC Discussion Bin Hu
Applying 3C DevOps approach in Mobility World
Presentation transcript:

ENGINEERING PRACTICES FOR CONTINUOUS DELIVERY: From Metrics and Deployment Pipelines to Integration and Microservices By Neal Ford with Tim Brown Deployment Pipeline Challenges

Common Challenges Slow feedback cycles Limited resources Ineffective notifications

Slow Feedback Cycles Frequently driven by end-to-end functional tests paired with limited infrastructure resource Consider new ways to organize test suites – fast/slow, business/subdomain, etc. Review test suites to identify usefol cases that can be executed early, with minimal integration Review application change patterns and align component pipelines and suites to frequency of change Execute test suites that failed in prior run first

Limited Resources Recognize that your pipeline is a production system for the creation and release of software products Review resource usage by job type and use agent resource tags for more efficient execution – Compilation – High CPU, High disk I/O – Unit tests: ‚traditional‘ – High CPU – Unit tests: with I/O – High CPU, High I/O Consider running multiple agents on multi-core nodes – Optimize agent nodes for performance, not availability Be careful on shared infrastructure, particularly storage

Ineffective Notifications A pipeline’s usefulness is greatly diminished if the team isn’t aware of it’s state Consider alternatives to notifications – chat, desktop pop-ups, and big visible displays Better targeting of notifications – committers on success, team on failure

Growing pipeline capabilities Require all deployments to be triggered via the pipeline Use the pipeline to control as much change as possible – Configuration, monitoring, ETL processes Include all steps, including manual, in the pipeline – Leverage the pipeline for evidence gathering – Gradually replace manual processes with self-service automation Standardize on process inputs/outputs, not pipeline patterns and tools

Legacy Systems Frequently monolithic, even if running on multiple nodes – Likely supported by a growing number of smaller applications or services – Aggressively stub to allow supporting services to evolve faster – Consider cascading component pipelines for easier triage Few tests, or poorly written – hard to optimize – Define and enforce limits on test categories – JVM security policies, etc. Integration databases are common – Treat the database as another component, with it’s own pipeline