Upload
deepti-jain
View
77
Download
0
Embed Size (px)
Citation preview
Implementing DevOps for Microsoft Platform
Presented By: Ranbir Dhial & Umesh kumar
What is DevOps
Why DevOps
DevOps Implementation
DevOps Practices
Continuous Integration and deployment using TFS
Website and DB changes
Code and Build
Setting up Release Management Agent
Configuring Release Management Workflow
Establishing Release Management Pipeline
Dashboards and Reporting
Agenda:
DevOps Overview
Today’s business and technical needs are pushing traditional delivery approaches to the breaking
point
Delivery Challenges
DefinitionsApplying agile techniques to operations
Getting development and operations to work
together
DevOps is the last mile of Agile
How to deploy software with speed and
confidence
DevOps is about accelerating software
deployment
CharacteristicsTreating “Infrastructure as Code” is fundamental
to DevOps
Automating the work of setting up and
maintaining systems infrastructure
Making it defined, efficient, testable, auditable
and standardized
Automated Testing is part of your pipeline
Automated CI / CD pipeline
Automated application deployment
Logging & Traceability of all changes
What is DevOps
From Agile to DevOps
Do we really need DevOps?
Developers always want to deliver changes as soon as
possible.
Operations want reliability and stability.
Ops / ITIL Values:
•Procedure Driven
•Stability
•Availability/Uptime
•Controlled/Frozen environment
•Infrequent Updates
Results in:
Long Lead Time
Limiting the # of Changes
Infrequent Deployments
Agile Dev Values:
•Business Driven
•Responsive to Change
•Real Time
•Constantly up to date
environment
•CI / CD Environment
Results in:Short Sprints (2-3 wk)
Lots of small changes
Frequent Deployments
Ops vs Dev
7Cs OF DevOps
1. Communication
2. Collaboration
3. Controlled Process
4. Continuous Integration
5. Continuous Deployment
6. Continuous Testing
7. Continuous Monitoring
Agile mantra “People over
Process over Tools”. With the right people, we establish the
right process and choose the right tools to deliver the end
Results
• People – Communication & Collaboration
• Process – Source Control Check-ins, Code Review, Code
Quality, Change Control, RCAs
• Tools – For Continuous Delivery (achieve by the
combination
of Continuous Integration, Continuous Deployment and
Continuous Testing) and Continuous Monitoring
One Team, One Goal
Hard To Achieve DevOps without automation
Automate Provisioning - Infrastructure as Code
Automate Builds – Continuous Integration
Automate Deployments – Defined Deployment Pipeline and Continuous
Deployments with appropriate configurations for the environments
Automate Testing – Continuous Testing, Automated tests after each
deployment
Automate Monitoring – Proper monitors in place sending alerts
Automate Metrics – Performance Metrics, Logs
DevOps Practices
DevOps Practices
1. Branching strategy
2. Continuous Integration using TFS
1. Code
2. Database
3. Test Automation
4. Continuous Deployment / Release Management
5. Setting up Release Management Agent
6. Configuring Release Management Workflow
7. Establishing Release Management Pipeline
7/13/201717
CI to Trunk Enables Release On Demand
Epic/Feature Branch A
Trunk
Release 1
Epic/Feature Branch B
Epic/Feature Branch C
Check-Ins
Check-Ins
CI Builds & Test Runs
Trunk Merges
Release Label
CI Builds & Test Runs
Release Label
Reverse Integration
Forward Integration
With selective merging, integration to trunk can continue without dependency to release timing considerations.
Check-in LabelCI Build
Check-Ins
Selective Merge
Release Hardening Fix Check-In
Release Label
7/13/201718
Release Branch – Rollback Handling
Trunk
Release 1
Release Label
Reverse Integration
Selective Merge needs Rollback
Check-in Label
Selective Merge
Release Hardening Fix Check-In
Release Label
Rolled Back Check-in
Process Activities and Timelines
Activity Branch Performed By Proposed Time Line Validation
Check In Feature Developers Anytime Build should not break
Merge TrunkLeads/Designated People
Often!At minimum, upon story QA,BA and PO signed off
Trunk Build should not break (Db and Website)
Forward Integration Feature DevelopersOften! At minimum, at
Sprint Start (Monday India Day)
Build should not break
Release Branch TrunkRM with Dev Team Leads
LeadsPer Release Calendar
Confirm Required Change sets are available per Team wise and Build
successful
Post Release Release Developers ASAPThe intended Release fix validated on a
a lower branch
Reverse Integration TrunkLeads/Designated People
After Hotfix is validated Trunk Build should not break
Continuous Integration
- First step in DevOps Journey
- Provides immediate feedback for the team
- Provides immediate feedback on code quality
when underlying process are automated
CI for Databases
Database Deployment
- Why DB deployment is different from Code
- Challenges with DB Deployment
- Principles of DB deployment
- What are our options
- How you can get started
CI and CD
Why Continuous Delivery?
Get faster time to market and respond with greater agility to customer feedback. Design and automate release pipelines across your environments to any target
platform.
Ship with confidence:
Raise the quality bar with every release: Configure tasks for all of your release checkpoints – performance, A/B, functional, security, beta testing and
more. No more release day nightmares.
Orchestrate deployments across targets:
Get control of your deployments:
Manual or automated gates for approval workflows: Enable sign-off for deployments using pre or post deployment approvals. Automatic
notifications ensure collaboration and release visibility among team
End-to-end traceability
Track the status of releases and deployments including commits and work items in each environment.
Release Workflow