GETTING STARTED WITH CONTINUOUS DELIVERY. Lana Kalashnyk @lana_vk wcgp.co



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

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

You ll need to have: It d be great if you have:

DevOps Course Content

Java PaaS Enabling CI, CD, and DevOps

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

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

DevOps. Jesse Pai Robert Monical 8/14/2015

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

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

CONTINUOUS INTEGRATION. Introduction

NextLabs International Private Limited. 1. Position: Software Engineer (Java) Location: Singapore

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Software Continuous Integration & Delivery

DevOps. Building a Continuous Delivery Pipeline

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Application Release Automation (ARA) Vs. Continuous Delivery

A Pythonic Approach to Continuous Delivery

Continuous Integration Multi-Stage Builds for Quality Assurance

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

MAY/JUNE 2016 SOFTWARE ENERGY CONSUMPTION // 83 REACTIVE PROGRAMMING // IEEE SOFTWARE. May/June 2016

HOW OPEN SOURCE IS DRIVING DEVOPS INNOVATION. Gordon William Cloud & DevOps Product Strategy, Red Hat 17 August 2015

A Sumo Logic White Paper. Harnessing Continuous Intelligence to Enable the Modern DevOps Team

Continuous Delivery. Alejandro Ruiz

Continuous Integration

Continuous Integration and Delivery. manage development build deploy / release

Continuous Integration using Docker & Jenkins

ACCELERATE DEVOPS USING OPENSHIFT PAAS

DO NOT DISTRIBUTE. Automating Applications with Continuous Delivery on AWS. Student Guide. Version 1.0

Continuous Integration

DevOps Stack. Reid Holmes. Chris Parnin:

Continuous Integration

Developing Plugins for Cloud Scale

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

OUR TEAM. Enterprise Application Experts

The ITIL Guide to DevOps

Continuous delivery Release software on-demand, not on Red Alert

Goodbye war room, hello DevOps 2.0

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

Massively! Continuous Integration! A case study for Jenkins at cloud-scale

Continuous Integration For Fusion Middleware

Web UI & Functional Test Automation for Continuous Agile Deliveries

White Paper. The Importance of Automating the End to End Pipeline for Continuous Delivery

MasterClass 26 th March 2015 DevOps and Continuous Deployment

System Management with RHN Satellite

IT Home 2015 DevOps 研 討 會

Continuous Delivery. Ariel Alonso, IPC

depl Documentation Release depl contributors

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

CloudBees Continuous Integration and Test with Appvance Enterprise August 28, 2013 Frank Cohen, (408)

Jenkins: The Definitive Guide

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

DevOps. Josh Preston Solutions Architect Stardate

Jenkins and Chef Infrastructure CI and Application Deployment

The AppSec How-To: Achieving Security in DevOps

Continuous Integration

Please do not SUPER SIZE ME enterprise integration using the Camunda Fox Plattform Ralf Sigmund OPITZ CONSULTING

Continuous integration with Jenkins CI

"Build and Test in the Cloud "

Modern Web development and operations practices. Grig Gheorghiu VP Tech Operations Nasty Gal

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

DevOps Unify Your Tests Or Fail. Kevin Surace CEO Appvance Inc

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

Introduction to DevOps on AWS

Lessons from DevOps: Taking DevOps practices into your AppSec Life. Matt Tesauro

McAfee Public Cloud Server Security Suite

How to Optimize Automated Testing with Everyone's Favorite Butler

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Sandesh Prasanna Kumar

Is Hadoop Enterprise ready?

Apache Stratos Building a PaaS using OSGi and Equinox. Paul Fremantle CTO and Co- Founder, WSO2 CommiCer, Apache Stratos

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Continuous Delivery on AWS. Version 1.0 DO NOT DISTRIBUTE

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

DevOps and SUSE From check-in to deployment

Automated build service to facilitate Continuous Delivery

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

Automated Configuration of Open Stack Instances at Boot Time

Building a Continuous Integration Pipeline with Docker

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

Modern practices TIE-21100/

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Distributed Agile Development in the Cloud

Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

A central continuous integration platform

Transcription:

GETTING STARTED WITH CONTINUOUS DELIVERY Lana Kalashnyk @lana_vk wcgp.co

ABOUT ME Lana Kalashnyk BAAS Computer Science minor Business Administration AS in Computer Science emphasis on Networking Cisco CCNA I-IV, Red Hat JAX-RS, NetSuite, WPF, Oracle Java training Houston Java User Group, Houston.Net User Group, Texas DevOps User Group, PuppetConf On Center Software 8+ years enterprise software development for high availability platforms W Consulting Group. Consulting services in cloud platforms design to customers debt trading, auto finance and defense industries. Some of our past projects Debt Trading Defence Auto Finance Construction

Continuous Delivery?

WHY TALK ABOUT CONTINUOUS DELIVERY? Not a new concept Many not sure what it means Few actually use it

WHAT IS CONTINUOUS INTEGRATION? Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. (ThoughtWorks)

WHAT IS CONTINUOUS DELIVERY? Continuous Delivery (CD) is a software engineering approach in which teams keep producing valuable software in short cycles and ensure that the software can be reliably released at any time. Techniques such as automated testing and continuous integration (CI) allow software to be developed to a high standard and easily packaged and deployed to test environments, resulting in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. (Wikipedia)

WHAT IS DEVOPS? Born of the need to improve IT service delivery agility, the DevOps movement emphasizes communication, collaboration and integration between software developers and IT operations. Rather than seeing these two groups as silos who pass things along but don t really work together, DevOps recognizes the interdependence of software development and IT operations and helps an organization produce software and IT services more rapidly (New Relic)

CONTINUOUS DELIVERY IS NOT CONTINUOUS DEPLOYMENT Continuous Delivery doesn't mean every change is deployed to production ASAP. It means every change is proven to be deployable at any time - Puppet ( Carl Caum)

While continuous deployment may not be right for every company, continuous delivery is an absolute requirement of DevOps practices. Only when you continuously deliver your code can you have true confidence that your changes will be serving value to your customers within minutes of pushing the "go" button, and that you can actually push that button any time the business is ready for it. (PuppetLabs)

STAGES OF CONTINUOUS DELIVERY Theory: Build Module Unit Tests Platform Tests Deliver To Staging Application Acceptance Tests Deploy To Production Post Deploy Tests Fully Automated Steps

STAGES OF CONTINUOUS DELIVERY Practice : Write down the actual steps in your Development Process Build Commit Test Stage Deploy Code

AGILE & CONTINUOUS DELIVERY Continuous Integration was born in Agile roots Continuous Delivery was born out of CI, hence inherits its Agile qualities

REAL WORLD ISSUES Broken deployments Magical servers Exciting releases

WHAT IF YOU AREN T A DEVOPS PRO? Engineering approach not tools Scope wisely Be Agile

FAST TRACK ROAD MAP Start Small & Simple Think The biggest ROI Monitor your process! Think in abstract terms Educate your team

START SMALL & SIMPLE Start with small tasks Automate things you understand Don t automate the automation

THINK THE BIGGEST ROI Automate the most re-used components. Automate the most error-prone components. If time / budget are an issue don t automate UI testing. UI changes too frequently

MONITOR YOUR PROCESS! Automation has to be monitored! Feedback is the reason we automate

ADOPT THE PRINCIPLES NOT TOOLS Speak in CD terms not tools Containers not Docker Automated testing not Cucumber

EDUCATE TO BREAK DOWN THE SILOS Introduce CD into Development Agile needs cross team collaboration. Educate the team! Automated testing is a must.

BONUS : IMMUTABLE CONTAINERS Immutable - not changeable Don t waste time updating servers. Updating live environments is dangerous Deploy new ones Turn off the old ones when ready

BONUS: ONE STEP DEPLOYMENTS Quote If your setup is longer than one line, you are coding in prototype Offload custom steps into scripts

REVELATIONS Non DevOps Engineers should be involved in Continuous Delivery! CD lets you re-purpose the Super Stars Boring is good Frequent Releases make Developers happy

JOIN THE PARADE Stepping into DevOps / CD can feel like : Stepping out of an office building into a parade Explosive innovation in CD/CI/DevOps space

HOW TO SELECT YOUR TOOLS Thinking of Continuous Delivery as an approach rather than a particular tool implementation helps with solving a problem not adopting a hot trend.

Puppet JMeter SonarQube Chef Arquillian Jenkins Pyling Salt Selenium Go CD JSHint Ansible TestComplete Cloud Bees New Relic Packer Bamboo Snap Logic Monitor Docker Vagrant CA Release Automation Pager Duty LXD Jenkins Live Rebel Server Spec Rocket GO CD DerbyIT Test Kitchen DrawBridge TeamCity Maven Cucumber Spoon Bamboo Ant Chaos Monkey CodeDeploy RDS for PostGRES Rake BASH Cloud Formation RDS for MySQL Gradle CURL OPSWorks IBM Urban Code Grunt EC2 CLI TeamCity Python Code Climate Code Pipeline Electric Cloud Cucumber Sonar Code Commit Continuous Delivery Tools Continuous Integration Tools DevOps Tools and many many more

Configuration/DevOps Puppet SonarQube Chef Arquillian Jenkins Pyling Salt Selenium Go CD JSHint Ansible TestComplete Team City Bamboo Containers Docker Packer LXD Rocket DrawBridge Spoon Amazon AWS CodeDeploy Code Commit Cloud Formation OPSWorks CLI Code Pipeline Test Automation Bamboo Snap Logic Monitor Vagrant Cucumber DB Scripting RDS for PostGRES RDS for MySQL IBM Urban Code TeamCity Electric Cloud CI CI/CD CA Release Automation Live Rebel DeployIT Build Maven Ant Rake Gradle Grunt Pager Duty Server Spec JMeterTest Kitchen Cucumber Chaos Monkey Code Climate Sonar BASH Python CURL Testing Monitoring Infrastructure / Load Scripting

REFERENCES Wikipedia ThoughtWorks Docker PuppetLabs New Relic Jenkins CloudBees

SAMPLE IMPLEMENTATION First Let s see what we need : 1. Build Tool : Maven https://maven.apache.org/download.cgi 2. CI Tool : Jenkins https://jenkins-ci.org 3. Automated Testing Arquillian / Selenium / Cucumber http://arquillian.org https://cucumber.io http://www.seleniumhq.org 4. Provisioning tool for new Servers : https://puppetlabs.com/download-learning-vm-thank-you https://www.cloudbees.com/event/continuous-delivery-jenkins-and-puppet-debug-bad-bits-production

SAMPLE IMPLEMENTATION 5. Container Tool : Docker http://www.docker.com 6. Monitoring Tool: Logic Monitor http://lp.logicmonitor.com http://www.pagerduty.com/ 7. Vendors Sample Demos Puppet & Jenkins (CloudBees)https://www.youtube.com/watch?v=vl3ElHTXt78 GoCD and Docker http://www.go.cd/2014/05/18/manage-agents-with-docker.html

RAFFLE!

THANK YOU!! Lana Kalashnyk W Consulting Group wcgp.co Twitter : @lana_vk