Every business runs on software and demanding more, faster and better from their IT teams. Current IT operating models are struggling to support the high velocity needs to the business. In this session we run through the steps that brings real meaning to the DevOps journey to make achieve faster and better turnaround for your projects, features and operations.
1. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
DevOps Dilemma
Steps to make Dev work with Ops!
1
Louis Leong
Technology Specialist, Developer Tools
Microsoft Singapore
a-louisl@microsoft.com
Sandeep Joshi
CTO
DataPerx Global, Singapore
sandeepj@dataperx.com
3. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Participate with us and stand a chance to win prizes!
Survey:
http://j.mp/abcsg-2016
Tweet Tag:
#GlobalAzure #GABSG
3
4. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Agenda
• Introduction – Why and What?
• Enterprise DevOps
• Making DevOps Work
• Microsoft DevOps Tooling
• Demos - End to End DevOps using Microsoft Tools
4
5. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Why DevOps?
5
Business Needs
• More, Faster, Better
• Faster time to market
• Stable Releases
Delivery Challenges
• Time to fix
• Time to release
• Constantly changing
• Tools & framework
• Pace, expectations and
processes
• Increasing Complexity
Current IT Operating Models are not designed for the high velocity, super competitive business world.
6. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
What is DevOps?
Is this what you think
DevOps is?
DEV OPS
DevOps!!!
7. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Dev vs Ops – view of the world
DEV OPS
“We know what developers
want”
“A system to replace all
systems”
“Push button environments”
“Automate everything”
“We know what devops is”
“We will use Continuous
Integration tools”
“We will release everyday”
“We know operations will
handle the infra and
dependencies”
8. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
So, what is DevOps?
DevOps is a journey of experiences, ideas and culture.
It's about team collaboration, continuous improvement and self-service mindset.
Communication
Understanding
Integration
Relationship
Ownership
Tools
Continuous Improvement
Practices and Principles
+ = Good DevOps
Environment
Collaboration
9. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Enterprise DevOps
DEV OPS
Developers Testers
Business AnalystsUX
Distributed
Teams
3rd Party
Integration Teams
Vendor
Teams
Sys Admin
DBA Service Desk
Middleware
Experienced Talent
Pool
Conflicting
Business Priorities
Technical
Challenges
Business
Challenges
Fragmented Toolset
Conflicting
Practices
Lack of Technical Competency Unclear Guidelines
… …
10. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
ProductionDevelopment
Collaboration
BACKLOG
REQUIREMENTS
Inconsistent and
chaotic releases
Plan
Develop + Test
Release
Monitor + Learn
No actionable and
contextual info to
resolve incidents Inconsistent tracking and
management of incidents
across teams and tools
Prioritize and validate
investments based on
qualitative and quantitative
data.
Quickly detect and
resolve application
issues.
Enterprise DevOps Impediments
11. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Making DevOps
Work
People
• Shift in Roles and
Accountabilities
• Prepare for the
culture shift
Process
• Cultivate DevOps
Habits
• Remove what
doesn’t work
(faster)
Tools
• Leverage Unified
Toolset
• Automate where
possible
12. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/ 12
Feature Team
Feature Team
Feature Team
New Roles / Combined Responsibility – One example is to combine
traditional developer and tester roles into one discipline: software
engineers. This will reduce delays in handoffs between developers and
testers and focus on quality for all software created.
End to End ownership – empower each individual to own every aspect of
from inception to production (own what you are delivering)
Operations know application side – enable operations team to know the
application architecture to be more efficient troubleshooters, suggest
architectural changes to the infrastructure, be able to develop and test
things like infrastructure as code and automation scripts, and make high-
value contributions that impact the service design or management.
“It’s an application issue not infra issue” to “It’s an issue in abc module, x function and because of y”
Making DevOps
Work
People
Shift from
{“Works on my machine” to “Works everywhere”
13. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/ 13
Combined Stand-ups: Are we blocking Ops? Are we blocking Dev?
Pairing and Rotation
Everyone know what production looks like
Single view of all activities & dependencies
Include upgrades, integration and sizing
activities into your backlog
Monitor and track Techdebt
Appreciate Craftsmanship
Pair Programming
Design Walkthrough
Code Reviews
Automated Tests
Instrumentation
Define clear goals -> Shared metrics and shared accountability
Making DevOps
Work
People Process
14. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Develop
Developer IDE
Team Collaboration Build+Test
Build/CI
Test
Deploy
Release/CD
Monitor+Learn
Monitor
On-Premises | Hybrid | Cloud
Making DevOps
Work
People Process Tools
Microsoft DevOps Tooling
15. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Develop
Developer IDE
Team Collaboration Build+Test
Build/CI
Test
Deploy
Monitor+Learn
Monitor
Configuration
Release
On-Premises | Hybrid | Cloud
Making DevOps
Work
People Process Tools
OSS Tooling
16. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Open, flexible, and extensible
cross-platform DevOps tools
More agility and flexibility for
continuous value delivery
Unlocks a greater ecosystem and
works with what you already use
Microsoft DevOps Tooling
17. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Code Repository
Backlog
Build + Deploy
Monitor and improve
Automated Testing User Feedback
Visual Studio Team Services
18. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Visual Studio Team Services is Enterprise Ready
Compliance Data
Sovereignty
Data Import Active
Directory
Process
Customization
Code Search Reporting
19. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
920
Visual Studio Code
Extensions
5,910
Visual Studio
Extensions
100
Visual Studio Team
Services Extensions
20. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Demos - End to End DevOps using Microsoft Tools
Plan + TrackDemo 1
Development Production
Develop + TestDemo 2 ReleaseDemo 3
Monitor + LearnDemo 4
21. Tweet: #GlobalAzure | http://singapore.azurebootcamp.net/
Resources
21
Microsoft - Our DevOps Journey – http://stories.visualstudio.com/devops/
What Makes Microsoft Run: An Inside Look at DevOps
https://visualstudiomagazine.com/articles/2015/09/30/microsoft-harry-devops-tfs-vso.aspx
DevOps In Enterprise - http://aka.ms/devopsmva
Mobile DevOps with Visual Studio Team Services and HockeyApp
http://hockeyapp.net/blog/2015/11/18/introducing-mobile-devops.html
We are living in Super Vuca world (a term by Kevin Roberts) – Volatile, Uncertain, Complex and Ambiguous World. Every Business in todays’ world run on software and demands more features, faster releases and better quality software. Business is looking at IT to enable them to be stay competitive and relevant.
However, current IT operating models are not designed for the high velocity, super competitive business world. Most of IT spent is about ‘keeping the lights on’ and maintaining the existing applications. The struggle at multiple stages of process – right from finding the issue to finding the fix and taking the fix to the production is incredible. The time it takes to release a new feature not just depends on how fast you can develop but also how fast you can test and how fast you can move to production. If these challenges are not enough, every IT organization is facing a challenge of constantly changing tool/frameworks, pace, expectations and processes. We are getting caught with increasing complexities.
Majority of these challenges are because of departmental silos. The team who build software vs the team who deploys it vs who maintains it – are usually different teams. Their KPIs, way of working and way of thinking are not aligned to deliver ‘desired outcome’. The teams need to collaborate and work together. This philosophy is called DevOps.
For many, DevOps is as simple as ‘Dev’ + “Ops” – by combining few developers and operations staff together, they start calling them DevOps Team. Is this what you think DevOps is?
The view of the world is fundamentally different for Dev teams and Ops teams. In reality, it is not what it looks.
In an enterprise environment, DEV team is not just about developers. It is the team which develops the software and it can comprise of multiple roles. Same is for Ops. Apart from team dynamics, you have various other challenges that you need to work through to make DevOps a reality in an enterprise environment.
When looking at these friction and challenging points we identify 5 top impediments for DevOps
Inconsistent and chaotic releases: how to shift from quarterly or monthly release to a more frequent release cadence like daily for example. When you have multiple teams releasing daily it is hard to keep track of what is going to production and who approved it.
Quickly detect and resolve application issues: as the team increases their cadence and components run in hybrid environments it becomes more difficult to diagnostic issues in production without proper tools that facilitates this for developers.
Inconsistent tracking and management of incidents across teams and tools: Developers and operations use their own tools to manage their own work, while this tools serve different purpose they need to be integrated so there is consistency traceability and transparency around managing incidents, tools that enable collaboration without adding unnecessary overhead.
Prioritize and validate investments based on qualitative and quantitative data: allowing teams to be in continuous learning mode.
No actionable and contextual info to resolve incidents: it is often the case that production is a unique environment and reproducing issues using pre-production environments could be challenging. To remove friction and increase efficiency, developers need access to rich diagnostics and information that allow them to resolve production issues quickly.
So let’s take a look at each area, and talk about problems, solutions and customer value…
Changing Team dynamics involves cultural shift – behavior, emotion and sentiments are involved above & beyond skills and roles. Clear direction and support from upper powers is essential for such changes.
Git supports same level of functionality as VSTS.
You can build anywhere. Mac or Linux or Windows – the build works anywhere.
In addition to ISO, we have now EU Model class, SOC level 1 and SOC level 2
Microsoft has Datacenters across the globe and the count is growing rapidly.
Data Import – On Premise TFS to Hosted VSTS
Code Search – across repositories
Marketplace launched in Nov and there are thousands of extensions now live on Microsoft. You can take all the extensions you love and bring them to TFS on prem.