DevOps. Jesse Pai Robert Monical 8/14/2015



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

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

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

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

DevOps Course Content

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

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

HP ALM11 & MS VS/TFS2010

QA & Test Management. Overview.

Building Value with Continuous Integration

Building Value with Continuous Integration

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Development Testing for Agile Environments

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Mobile Development with Git, Gerrit & Jenkins

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

Software Development In the Cloud Cloud management and ALM

Continuous Delivery for Force.com

Enabling Continuous Delivery for Java Projects with Oracle Cloud Services (Oracle PaaS) Siva Rama Krishna Oracle India

ALM/Quality Center. Software

Software Development. Overview.

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

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

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

How to Optimize Automated Testing with Everyone's Favorite Butler

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana wcgp.co

"Build and Test in the Cloud "

StriderCD Book. Release 1.4. Niall O Higgins

Security Automation in Agile SDLC Real World Cases

DevOps: Roll out new software and functionality quicker with high velocity DevOps

An introduction to the benefits of Application Lifecycle Management

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

MasterClass 26 th March 2015 DevOps and Continuous Deployment

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

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

Fundamentals of Continuous Integration

Customer Case Study. Celtra

RELEASE HIGHLIGHTS INTRODUCING COLLABNET TEAMFORGE 8.2

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

Beyond Cloud: Implications for the Industrialization of IT and the 3rd Era of Computing. Jonathan

Building a Continuous Integration Pipeline with Docker

Web UI & Functional Test Automation for Continuous Agile Deliveries

Agile Delivery Framework Automation & Deployment With Puppet

Requirements Management

Use Scrum + Continuous Delivery to build the right thing

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

AppStack Technology Overview Model-Driven Application Management for the Cloud

Continuous Integration: A case study

Agile Requirements And Testing For Continuous Software Delivery

Releasing High Quality Applications More Quickly with vrealize Code Stream

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

Servers. Servers. NAT Public Subnet: /20. Internet Gateway. VPC Gateway VPC: /16

Configuration Management Evolution at CERN. Gavin

A central continuous integration platform

Centralized Secure Vault with Serena Dimensions CM

Continuous Delivery. Alejandro Ruiz

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

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

Modern practices TIE-21100/

TEST AUTOMATION FRAMEWORK

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

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

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

Continuous Delivery. Ariel Alonso, IPC

Tools and Methods to Address Complexity at Scale

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Cloudify and OpenStack Heat

Journey to the Cloud and Application Release Automation Shane Pearson VP, Portfolio & Product Management

A Study of RE Across Different Software Development Lifecycle Models. Afiya Nusrat and Navreet Ghag CS 846 Spring 2015

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

GitLab as an Alternative Development Platform for Github.com

AWS CodePipeline. User Guide API Version

White Paper Software Quality Management

Enhance visibility into and control over software projects IBM Rational change and release management software

Digital Marketplace Services Service Definition

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

The Continuous Delivery Tool Chain: So Many Choices!

Test Automation: A Project Management Perspective

Enhancing The ALM Experience

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Bridging the Gap Between Acceptance Criteria and Definition of Done

Achieve Economic Synergies by Managing Your Human Capital In The Cloud

IT Operations Management: A Service Delivery Primer

NeXUS REPOSITORY managers

Git Branching for Continuous Delivery

Guide to Mobile Testing

Manager Domain Experts. Delivery Team. C h ic a g o

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

Mastering Continuous Integration with Jenkins

Transcription:

DevOps Jesse Pai Robert Monical 8/14/2015

Agile Software Development 8/14/2015 2015 SGT Inc. 2

Agile Practices Adaptive planning Acceptance of changes in requirements and adapting to said changes Close and daily meetings/communication with customers and developers Small tasks and continuous delivery of software 8/14/2015 2015 SGT Inc. 3

Agile Goals Quicker development Faster resolution of problems Faster delivery of features More time to add additional features/value More time for QA and testing Reduce the effect of new feature requests, bugs, and requirements changes 8/14/2015 2015 SGT Inc. 4

Delivery Pipeline Chokepoint - What is ready to test? - Where is it? - Pull verses push https://www.chef.io/solutions/continuous-delivery/ 8/14/2015 2015 SGT Inc. 5

Quality Gates Create Functional Test Environment For each functional test Initialize Test Data Execute test Reset test Environment Create non-functional Test Environment For each non-functional test Initialize Test Data Execute test Reset test Environment Repeat for each additional test configuration Report results We may have test automation rarely have test orchestration 8/14/2015 2015 SGT Inc. 6

Solution: DevOps Apply agile principles to the entire delivery process Orderly evolution of proven agile principles downstream into the software delivery pipeline Collaboration is key Tools facilitate collaboration tools do not create DevOps Manage by exception "Devops" by Devops.png: Rajiv.Pantderivative work: Wylve - This file was derived from: Devops.png:. Licensed under CC BY 3.0 via Wikimedia Commons - https://commons.wikimedia.org/wiki/file:devops.svg#/media/file:devops.svg 8/14/2015 2015 SGT Inc. 7

DevOps Goals Just like Agile: Deliver high-quality, valuable software systems in an efficient, fast, and reliable manner. Automation: To automate as many processes as possible. Manual steps are error prone and there is no way of controlling release and deployment processes Orchestration: Automate transitions between processes Frequency: Increase frequency of releases. More releases means more feedback on changes to the application and its associated configuration 8/14/2015 2015 SGT Inc. 8

Achieving DevOps 8/14/2015 2015 SGT Inc. 9

Tools Are not That Important 8/14/2015 2015 SGT Inc. 10

Benefits of DevOps Technical Benefits: Quicker development and deployment Less complex problems to fix Faster resolution of problems Faster bug fixes and system recovery Improved repeatability and reliability of deployments, lower chances of errors in configuration Business benefits: Faster delivery of features More stable operation environments More time available to add value (rather than fixing/maintaining the product) * Source: http://newrelic.com/devops/benefits-of-devops 8/14/2015 2015 SGT Inc. 11

DevOps in the Industry Users: Flickr, Netflix, Amazon, Twitter Flickr 10+ Deployments Per Day (http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-andops-cooperation-at-flickr) Automated Infrastructure, centralized/shared version control, one step build (allows developers to deploy their own test and QA environments), centralized and shared metrics, Agile culture Players: Serena, IBM, AWS, CloudBees, CA, CollabNet Serena Provides tightly integrated tool chain to monitor, control, and automate the entire delivery pipeline 8/14/2015 2015 SGT Inc. 12

Continuous Delivery vs Continuous Deployment DevOps does not mean continuous deployment. Continuous delivery may be a better option for large organizations Continuous delivery doesn t mean every change is deployed to production ASAP. It means every change is able to be deployed at any time. * Source: http://www.koenwesselman.com/difference-between-continuous-integration-continuous-delivery-and-continuous-deployment/ 8/14/2015 2015 SGT Inc. 13

Best Practices: Continuous Delivery Automated Testing Active Stakeholder Participation Integrated Change and Configuration Mgt. Production Support Integrated deployment planning Application Monitoring Dashboards Continuous Integration Deployment and Test 8/14/2015 2015 SGT Inc. 14

All Processes Put Together * Source: http://www.rightscale.com/blog/cloud-management-best-practices/continuous-integration-and-delivery-cloud-how-rightscale-does-it 8/14/2015 2015 SGT Inc. 15

SGT and DevOps

SGT and DevOps Prototype: Devops Lab Loose Tool Chain: Allows for plug-and-play approach to evaluating and selecting tools. Automation = Less errors, defects, reworks, and outages between information flow. Integration done mostly through APIs (RESTful APIs) or plugins 8/14/2015 2015 SGT Inc. 17

Commercial, Hybrid, Open Sourced Commercial: Full support and tightly integrated tool chain Open Sourced: Less support and Loosely integrated tool chain Hybrid: Commercial + Open Sourced. Support and features where it counts, cost savings where its not needed. 8/14/2015 2015 SGT Inc. 18

DevOps Lab Introduction Uses hybrid of commercial and open-source tools to create an integrated tool chain for Agile development and DevOps functionality. Provides a test bed to determine whether or not a company is fit to utilize and integrate such tools into its delivery pipeline. It provides a full delivery pipeline for development, QA, and operations. 8/14/2015 2015 SGT Inc. 19

Tool Chain 8/14/2015 2015 SGT Inc. 20

Major Features Supports Agile Software Development Provides continuous integration tools for development automation Deploys easily into a cloud environment Supports distributed team development Automated deployments to multiple environments Tracking of multiple environments and deployments Automation available for: Code analysis Dependency analysis Tests Issue/tasks 8/14/2015 2015 SGT Inc. 21

Tools Jira GitLab Jenkins Junit Code Quality Analysis SonarQube Sonatype Nexus Lifecycle Serena Deployment Automation 8/14/2015 2015 SGT Inc. 22

Jira Jira is a commercial issue/task management software that can support Agile software development. Supports: Sprints User Stories Tasks, Bugs, and Issues Provides an easy to use UI to organize and execute project tasks 8/14/2015 2015 SGT Inc. 23

GitLab GitLab is an open-sourced centralized git repository Community Edition supports up to 10 projects Provides webhook and plugin support 8/14/2015 2015 SGT Inc. 24

Jenkins Jenkins is an open sourced continuous integration tool The heart of the DevOps lab. Almost every part of the DevOps Lab is connected to Jenkins Provides a massive amount of features for building and testing. Plug-ins for additional features Enables automatic builds, tests, QA analysis, and deployments 8/14/2015 2015 SGT Inc. 25

SonarQube and Sonatype NL SonarQube (Open Sourced) Source code analysis tool Analyzes for violations of the 7 axes of code quality. Architecture & Design, Duplications, Unit tests, Complexity, Potential bugs, Coding rules, Comments Sonatype Nexus Lifecycle (Commercial) Analyzes dependencies for security concerns and licensing issues Compares dependencies utilized against MavenCentral dependencies/components. Provides an easy to understand report 8/14/2015 2015 SGT Inc. 26

Serena Deployment Automation SDA is a commercial deployment automation tool The main tool in organizing and deploying environments and projects Provides version tracking on multiple environments (Development, QA, and Production) Easy to use GUI based workflow editor Plug-in support for additional features/processes 8/14/2015 2015 SGT Inc. 27

DevOps Current Architecture 8/14/2015 2015 SGT Inc. 28

Deployment: RNAAT Real-time Network Activity and Anomaly Tracker Network Analysis Tool (Distributed/Cloud Based) Multiple servers all manually setup/configured Zookeeper, Apache Storm (Nimbus, UI, and Supervisor, MongoDB, CubeDB, and Kafka Architecture must be setup and ready to go for this to work Error prone + time-consuming troubleshooting due to incorrect configuration Enter DevOps: One-click or automated deployment of architecture to specified environment Repeatable and reliable environments Automated Junit tests and reporting Easier access to code analysis tools due to automated triggering of analysis Commit and GO 8/14/2015 2015 SGT Inc. 29

For more information ITC Website: http://www.innovation.sgt-inc.com/ DevOps Lab Wiki: http://innovation.sgt-inc.com/dokuwiki/doku.php Select DevOps Lab 8/14/2015 2015 SGT Inc. 30

Deployment: RNAAT 8/14/2015 2015 SGT Inc. 31