Upload
lamdiep
View
231
Download
3
Embed Size (px)
Citation preview
OSS on AzureTechnical Series
DevOps on Azure and Configuration Management
Saranya Sriram
Technical Evangelist, Microsoft Azure,
Area HQ - Singapore
@sharan779
Outperforming
teams are 54%more
likely to
Developers
26.7%No executive support
56.7%Cultural inhibitors
43.3%Fragmented processes
Collaboration blockers
DevOps was being initiated by
more development teams than IT Ops
teams by about a 40% to 33% margin
Agile methodologieshave adopted
3/4 of teams
BusinessIT Ops
The average hourly
cost of infrastructure
failure is $100,000
per hour
It takes on average
200 minutes to
diagnose and repair
a production issue
A bug caught in production ends
up costing
than if the same bug was found
earlier in the development cycle
100x
more
IT decision
makers is still
unfamiliar with
the term DevOps
61 in
40%… of implementations end up getting
reworked because they don’t meet the
users’ original requirements
… of development budgets for software, IT
staff and external professional services will
be consumed by poor requirements41%
IT drives
business
success!
High IT performance
correlates with strong
business performance,
helps boost productivity,
market share and profit.
Responding to
ongoing needs for
efficiency and growth
Always keeping all
systems safe and securedual goals
… for companies that try to
adapt their existing tools for
DevOps practices
80% failure rate …
CIOs70 %
to reduce
IT costs
Would
increase
risk
and accelerate
business agility
of
“DevOps is development and operations collaboration”
“DevOps is treating your infrastructure as code”
“DevOps is using automation”
“Kanban for Ops?”
“DevOps is feature switches”
“DevOps is small deployments”
“It has been said that the only
sustainable advantage in business is
the ability for a company to learn
faster and respond more effectively
than its competitors (also known as
business agility).”
– CIO magazine
Intro to DevOps practices
New trend of practices for increasing flow of value to customers
Backlog
Requirements
Plan
Develop + test Release
Monitor + learn
Important for enterprises to understand to improve
DevOps extends application lifecycle management (ALM) investments
Optimize resources
Improve quality and availability
Hypothesis-driven development & continuous learning
Modern Application : Demo
- from Build 2015 keynote : Here
How we used to workWe did ask for feedback after each milestone – but we could not really react to it
For the most part, we would tell everybody “sorry” - and push things to the next release
We did find and fix bugs – without really knowing if we built the right thing in the first place
We had closed silos of information across different organizations, hurting collaboration
Planning Code Test & Stabilize Code Test & Stabilize
Beta? RTM?2.5 years!
How we work nowWe ship frequently with minimum friction
Build>Deploy>Test reliably, hundreds of times a day
We continue to meet a rigorous on-premises quality bar
We build confidence through staging, exposure control & rich telemetry
Visit http://stories.visualstudio.com to get the full story!
Build
Test
Deploy Environments Monitor and Learn
Processes
Heterogeneous Ecosystem
Dev/Test
Integration
Pre-Production
ProductionConfiguration
Develop
DEV
BIZ
OPS
What developers use today!
Cloud
Redmine
Jira
Trac
Trello
issue tracking
Hipchat
IRC
Jabbr
chat
Source Control
IDE
Dev Tools
development
Visual Studio
Eclipse
Build Tools
Build Orchestration
continuous
integration (CI)
Configuration Tools
deployment
Alerting
Monitor
Testing
operations
Analytics
Microsoft
Azure
Source Control
IDE
Dev Tools
Build Tools
development
issue tracking
chat
continuous
integration (CI)
TFS/Codeplex
Build Tools
Build Orchestration
Configuration
management Tools
Chef – VM
Provisioning
deployment
TeamCity
Jenkins
MSBuild
Maven
CapistranoVisual
Studio
TFS-chat
TFS
Jira
PowerShell
Kudu
Sysprep
Cspack
Azure emulator
Alerting
Monitor
Testing
operations
System Center
New Relic
Nagios
Zabbix
Analytics
VS Test bench
3rd party tools
JAVA
OSS Dev Ops for Cloud OS
TFS /
GitHubSource
Build Tools
Build Orchestration
configuration tools
New Service Hooks
(REST)
deployment
continuous
integration (CI)
and delivery
issue tracking
Microsoft
AzureGradle
Travis
TeamCity
Jenkins
Chef
Puppet
Salt stack
Jenkins
Kudu
Glu
Control Tier
IDE
Tools
development
Visual Studio
Eclipse
Net Beans
IntelliJ
Hipchat
IRC
Jabbr
chat
Redmine
Jira
Trac
Trello
Alerting
Monitor
Testing
operations
Jetty
Atmosphere
BeaconPush
Cacti
Glu
Nagios
Zabbix
Testling
Selenium
Analytics
OWA
Vagrant
ImageFactory
Fog
DSC
Node.js
OSS Dev Ops for Cloud OS
Build Tools
Build Orchestration
configuration tools
Hipchat
IRC
Jabbr
Redmine
Jira
Trac
Trello
New Service Hooks
(REST)
deployment
continuous
integration (CI)
issue tracking
IDE
Tools
development
chat Microsoft
Azure
Grunt
Yeomen
Travis
Chef
Puppet
Salt stack
Grunt
Kudu
Visual Studio
Eclipse
TFS /
GitHubSource
Alerting
Monitor
Testing
operations
Socket.io
Faye
BeaconPush
Cacti
Nagios
Zabbix
Testling
Selenium
Analytics
OWA
Vagrant
ImageFactory
Cspack
Fog
DSC
PHP
OSS Dev Ops for Azure – MS Open Tech
Build Tools
Build Orchestration
configuration tools
New Service Hooks
(REST)
deployment
continuous
integration (CI)
Microsoft
Azure
Capistrano
Travis
Capistrano
Kudu
Hipchat
IRC
Jabbr
chat
Redmine
Jira
Trac
Trello
issue tracking
TFS /
GitHubSource
Alerting
Monitor
Testing
operations
BeaconPush
Cacti
Nagios
Zabbix
Testling
Saucelabs
Analytics
OWA
IDE
Tools
development
Visual Studio
Eclipse
Vagrant
ImageFactory
Cspack
Fog
Chef
Puppet
Salt stack
Backlog
Requirements
Plan
Develop + test Release
Monitor + learn
DevOps is very broadOur focus covers
Stakeholder engagementprocess
Source control and build
Verification and detectionInsight and learning
EnvironmentsDeploymentsRelease management and governance
It starts with an idea – and a plan
how to turn this idea into reality …
Manage work
Develop + Test 1
Plan
Project starts
PlanTrack progress
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Once the iteration starts, developers
turn great ideas into features …
Develop + Test
Cloud
Load Testing
Integration testing
environment
Automated functional
testing environment
3
Pre-production
environment
Staging
environmen
t
Monitor + Learn
When all tests pass, the build is deployed to testing
environments for each stage in the release process
Release
Learn and understand how users use your app, how it reacts
and quickly fix issues and bugs
Monitor + Learn
4
Monitor
Feedback
Plan the next iteration
Detect issues, diagnose crashes and track usage in your web and mobile apps
Announcing Public Preview on Azure Preview Portal
Monitor ASP.NET, Java and other web apps and services
Support for Android, iOS and Windows mobile apps
Pricing details available now including free tier
Check it out!
http://azure.microsoft.com/en-us/services/application-insights
DevOps Tools on Azure
Provisioning
Monitoring & Diagnostics
Development
Xplat CLI Knife-Azure
Puppet CLI
Vagrant-Azure
Config Customization
Release Management