Upload
capgemini
View
187
Download
0
Embed Size (px)
Citation preview
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 2
Table of Contents
Reminder: What is DevOps
What is a DevOps Pipeline
Example Tooling
Pipeline Considerations
A quick demo of collaboration
[Advanced topics]
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 3
Reminder: What is DevOps?
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 4
The typical waterfall Project
Problem with typical waterfall project:
Long QA feedback loop
Lack of collaboration
Inability to change direction
Requirements
Analyst & Customer
Design
Architect
Development
Developer
Integration + QA
Tester
Release
IT Operations
Months ! Requirements have
changed !
You can’t just ask customers what
they want and then try to give that to
them. By the time you get it built,
they’ll want something new.
Steve Jobs
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 5
The Agile Project Solution
Problem with typical Agile project: the last mile
Manual deployments, operations unexpected delay
Insufficient configuration management
Infrequent, manual, error prone deployments
Integration + QA
Tester
Release
IT Operations
More business and user
involvement during
design and build!
Sprint Backlog
Product Backlog
Potentially Shippable
Product
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 6
Agile delivery model
IT OperationsAgile Delivery
“Deliver changes
quicker”
“Ensure stability”
How do we bridge
the gap?
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 7
Agile delivery model
IT OperationsAgile Delivery
“Deliver changes
quicker”
“Ensure stability”
Keys to bridge the
gap
Quality
Automation
Collaboration
Trust &
Reliability
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 8
Build
Operate
Design
Holistic Approach to Complete Lifecycle
Breaking down barriers
Tools and Automation
Quality everyone’s concern
Stakeholders & Users at the center
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 9
Contacts
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 10
What is a DevOps Pipeline?
Define Implement Build Integrate Validate Release Deploy Operate
Pipeline / Business Value Stream
Sp
ee
d
Continuous Delivery
Continuous Integration
Agile
Continuous Deployment
The processes and activities we do to deliver value (software)i.e. get required features into users hands
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 11
Example Pipeline for Application Features / Stories
Define
•User Story
•Acceptance Criteria
•Schedule
•Etc.
Implement
•Code
•Unit Test
•Check-in
•Update Work Items
Build
•Compile
•Static Analysis
•Automated Unit Test
•Package
Integrate
•Provision, Deploy, Configure
•Restore / Gen Test Data
•Launch Automated Tests
•De-provision
Validate
•Provision, Deploy, Configure
•Restore / Migrate / Upgrade Data
•Activate Supervision (B & IT)
•Performance, Load, Stability Tests
•Security & Supervision Tests
•De-provision
Release
•Signoffs
•Help desk updates
•Network / Security CRs
Deploy
•Provision, Deploy, Configure
•Backup / Migrate Data
•Activate Supervision & Operations
•Health, Security, Manual Tests
•Staging Switch / Redirect
•Health & KPI monitoring
Operate
•Alert / Issue Handling
•Capacity Mgt / Provisioning
•Testing in Production
•Value Metrics, A/B Testing, Feature flag activation
•Reporting
Capable of pulling features through the system, in
release batches or individually.
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 12
Example Pipeline Tooling Java
Define Develop Build
Integrate Validate Release
Deploy Operate
elk elk
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 13
Example Pipeline Tooling . NET
Define Develop Build
Integrate Validate Release
Deploy Operate
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 14
Pipeline considerations
Pipeline can be very different depending on many factors
Technologies chosen, target platform, toolsets available
Your organizational structure, processes and culture
• Manual procedures and approvals might still be needed.
The architecture chosen and how components are decoupled
• Microservices, classic 3-tier, containers, PaaS, resources…
Your own need for speed
There is no generic pipeline. It is not just a question of tool choices.
Design your pipeline as a value stream and apply Lean principles to
optimize it. Do not just deploy tools or automate blindly!
Remember that Dev & Ops should be collaborating during complete
lifecycle!
Demo
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 15
Many tools to choose from…
https://xebialabs.com/periodic-table-of-devops-tools/
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 18
Advanced DevOps Pipeline Features
The pipeline should ideally enable the application to do things like…
Split user traffic between multiple concurrent versions
Test new features and ideas
Measure increase/decrease statistics
Leverage results to enhance application user
experience
Control features with Feature Flags
Deploy multiple revisions of the same code
Slowly send traffic to new version
Monitor new version for errors or issues
Full cut over once new version has been fully
tested and assured
Easy failback to later version
Smaller code, faster to build & deploy
Individually scalable components
Independent and flexible development, testing,
deployment cycle among services
Containerization making it easier to optimize
Choose best technology stack per service
Business monitoring
Application, Service & Process monitoring
VM & infrastructure monitoring
Synthetic user experience monitoring
A/B testing results (conversion inc./dec.)
A/B
Testing
Blue/Green
Deployments
Deploy
& Scale
Parts of the
Application
App
Monitoring
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 19
Resources
Capgemini DevOps POV
Pivotal – Migrating to Cloud Native
Architectures
Martin Fowler – Microservices Architectures
Book: The Phoenix Project
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 20
Contacts
CWIN16 - Implementing a DevOps Pipeline | September 2016
Copyright © 2016 Capgemini and Sogeti. All rights reserved. 21
Contact information
Keith
KellyCloud / DevOps Transformation Leader
Capgemini Toulouse
Insert
contact
picture
Insert
contact
picture
Insert
contact
picture
David
DeronneHead of Digital
Capgemini Toulouse
David
FerreiraAgile / DevOps Country Lead
Capgemini France
www.capgemini.com
The information contained in this presentation is proprietary.
Copyright © 2016 Capgemini and Sogeti. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.
www.sogeti.com
About Capgemini and Sogeti
With more than 180,000 people in over 40 countries, Capgemini is a
global leader in consulting, technology and outsourcing services. The
Group reported 2015 global revenues of EUR 11.9 billion. Together
with its clients, Capgemini creates and delivers business, technology
and digital solutions that fit their needs, enabling them to achieve
innovation and competitiveness. A deeply multicultural organization,
Capgemini has developed its own way of working, the Collaborative
Business Experience™, and draws on Rightshore®, its worldwide
delivery model.
Sogeti is a leading provider of technology and software testing,
specializing in Application, Infrastructure and Engineering
Services. Sogeti offers cutting-edge solutions around Testing,
Business Intelligence & Analytics, Mobile, Cloud and Cyber
Security. Sogeti brings together more than 23,000 professionals in
15 countries and has a strong local presence in over 100 locations
in Europe, USA and India. Sogeti is a wholly-owned subsidiary of
Cap Gemini S.A., listed on the Paris Stock Exchange.