It’s DevOps!
It’s DevOps!
It’s DevOps!
It’s DevOps!
“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
DevOps is an emerging trend that promises to increase the flow of value to customers.
Intro to DevOps practices
New trend of practices for increasing flow of value to customers
Production
Development Collaboration
Backlog
Requirements
Plan
Develop + test Release
Monitor + learn
Important for enterprises to understand to improveDevOps extends application lifecycle management (ALM) investments
Optimize resources
Improve quality and availability
Enable HDD
SLA
Why DevOps?
Shorten Cycle Times
Do these…
1 2 3 4
DevOps is ateam undertaking
DevOps enables better software development and delivery practices
DevOps acceleratesthe last mile ofcontinuous delivery
DevOps is a fulllifecycle investment
AppLifecycle
What’s DevOps?
What’s driving DevOps?
Production
Development Collaboration
BacklogRequirements
An automated release pipeline is needed to deliver at the pace of development with full traceability
Availability and performance issues are hard to troubleshoot in this fast-changing world with distributed applications
Usage should determine the next set of priorities and learnings
The agile methodologies are accelerating the construction process
WebOpsGoogle, Amazon, Twitter, Facebook, Xbox Live, etc.
Enterprise DevOpsCross-functionalorganizations
NoOpsSmall web teams, start-ups
DevOps flavors
Reduce change lead-time (react faster to dynamic business needs)
Reduce changefail rate
Reduce mean-time-to-detect & repair (MTTD, MTTR)
Increasedeploymentfrequency
Agility performance indicators Reliability performance indicators
DevOps goals and success metrics
How Microsoft can help increase the flow of value
Shorten cycle times
Optimize resources
Improve quality and availability
Hypothesis-driven development & continuous learning
Shorten cycle times
Production
Development Collaboration
Backlog
Requirements
Plan
Develop + test Release
Monitor + learn
Each release has a large “Release Tax” to pay
Manual testing is a significant effortReleases are high-risk requiring significant preparation
Developers work in agile iterations accumulating shippable bits many times before a release window is available
Shorten cycle timesContinuous delivery
Delivery team Version control Build & unit test
Automated acceptance test
User acceptance tests
Release
Check-in Trigger
Feedback
TriggerFeedback
Approval Approval
Continuous delivery process
Check-in Trigger
Feedback
Continuous integrationDelivery team Version control Build & unit
testAutomated acceptance test
User acceptance tests
Release
TriggerFeedback
Approval Approval
Continuous inspection
Check-in Trigger
Feedback
Delivery team Version control Build & unit test
Automated acceptance test
User acceptance tests
Release
TriggerFeedback
Approval Approval
Continuous deployment
Check-in Trigger
Feedback
Delivery team Version control Build & unit test
Automated acceptance test
User acceptance tests
Release
TriggerFeedback
Approval Approval
Visual Studio Online and Team Foundation Server
Automate your build process.
Offload your builds to the pubic cloud with Visual Studio Online, or build on-premises with Team Foundation Server.
Track build health over time.
Build services
Visual Studio Online and Team Foundation Server
Use gated check-ins to trigger builds to validate each check-in.
Batch multiple gated check-ins into one build to reduce wait time with “Merge and build up to”.
Ensure your source code repository only contains buildable and tested code.
Gated check-in
Test case management
Create unit tests to validate the behavior of your methods.
Use functional tests to ensure the application meets the business needs.
Use acceptance tests to gain confidence that users will be able to complete key scenarios within the application.
Test automation
Release management
Create a single automated deployment process to use across all environments.
Trigger deployments to specific environments from automated builds.
Promote the same bits through the release process, automatically changing the configuration files for the different environments.
Continuous deployment
Quickly enable continuous delivery
Release management
Get view of application’s release and issue using ONE tool.
Monitor the progress of each release.
Visibility to your release pipeline
Identify issues and patterns with your application deployment
Check the status of your releases
Release management
Define which groups can create, edit, or view release templates.
Flexibility to define approvals for each release stage.
Define and limit the stage types for a given environment.
Consistent and chaotic releases
Granular control for the entire release process
Seamless integration with Visual StudioBuild process
Release management
Define the release workflow and its activities for each of your applications.
Use deployment built-in actions or create your own.
Consistent and chaotic releases
Use built-in actionsor define your own
Define releaseworkflow and activities per environment
Release management
Simple way to request and provide approvals.
The defined approval can start, stop, approve, reject, restart, retry, abandon, or even reassign releases.
Consistent and chaotic releases
Trigger actionsbased on approvals
Simple wayto request and provide approvals
Continuous integrationwith Azure
Link Azure website to Visual Studio Online repository (requires login to Visual Studio Online).
Simple portal based configuration
Visual Studio Online generates a simple build template that deploys on check-in to the Azure website.
Automatic BuildTemplate creation
Build template can be updated, or customized through Visual Studio to modify build or deployment parameters.
Customize throughVisual Studio
Cloud consistency
Microsoft Azure-consistent experiences and services in your data center.
Utilize your investment in Windows Server and System Center.
Deliver IT services through a rich self-service portal enabled by Windows Azure Pack.
Build once and deploy anywhere
Driving down costs of infrastructure
Self-service provisioning of environments
Optimize resourcesDriving down waste
Optimize resourcesConfiguration as code
Build templates to manage your configuration.
Integrate them with Release Management to automate configuration of on-premises and public cloud environments.
Parameters allow reuse of configuration templates.
Each developer can self-provision snapshots that mirror the production environment
Developers perform unit and integration testing in isolated individual environments
Production issues or incompatible code are discovered earlier
Individual resources can be provisioned for free using MSDN credits
Increase agility by provisioning on-demand environments when needed
Improve quality with developer labs!
Virtual machines
SQL database
Websites
Could services
Optimize resourcesSelf-service provisioning of environments
Azure
Simplify building applications for the public cloud for developers and IT professionals.
Bring together all of the components of an application—across services from Microsoft and partners—into a single development and management experience.
Centralized management
Azure
Gain access to free and paid services fromthe Gallery.
Create modern applications more quickly and easily.
Gallery
Azure
See forecasted costs at a glance. Automatically calculate existing charges and estimates usage.
Avoid surprises.
Cost management
Azure
Unify and simplify resource management.
Create, manage, and analyze an entire application as a single resource group.
Resource groups
System Center
Centralize fabric management across clouds.
Plan for on-premises and public clouds capacity and support, including Azure.
Immediately see the health, performance, and availability of your environment.
Manage cloud fabric
System Center
Separate the signal from the noise with simple, powerful log management tools.
Get deep visibility into your capacity. Investigate “what-if” scenarios, identify stale and over-allocated VMs, and plan your compute and storage needs.
Build intelligent capacity planning across clouds
I can develop, configure,and deploy across myentire infrastructure
Cloud consistency
Integrated with Release Manager for continuous deployment support.
Change configuration through DSC.
Supports template deployment for consistency across on-premises and public clouds.
Deploy, customize, and manage across clouds
Traditional Virtualized
Private cloud
Public cloud
Desired state configuration
Build templates to manage your configuration.
Integrate them with Release Management to automate configuration of on-premises and public cloud environments.
Configuration templates
Desired state configuration
Parameters allow reuse of configuration templates.
Configuration parameters
Lab management
Reduce the load of regression testing by running automated system tests suites during lab management builds.
Provide rapid feedback on test results to resolve defects early in the development life cycle.
Automated build-deploy-test support is built into Visual Studio Team Foundation Server.
Test and build automation
Lab management
Quickly set up complex virtual environments to a known good state for test execution and build automation.
Use known environment sets for repeatable testing.
Ensure identical network configurations every time.
Validate system changes before they gointo production.
Reliable environments
Lab management
Create a reliable and repeatable environmentin minutes.
Manage multiple configurations withLab Management.
Reduce the time required to test system changes.
Rapid setup and tear down
System Center
Automatic alerts whenever your application is not responding according to SLAs.
Full IT operations intelligence across on-premises and public cloud infrastructure.
Sharing data with Applications Insights and Team Foundation Server for greater collaboration and reduced mean time for detection.
Ensuring application SLAs
Automatic alerts with relevant contextual information
Production incident alert in operations system
System Center
Assign production incidents from System Center to the development team for investigation and resolution.
Updates tracked through cycle if further actionis required.
Quickly engage development team
Production incident alert in operations system
Assign code related incidents to development
Incident in development system
Development system incident reference in operations tool
z
System Center
Get actionable production diagnostics.
Quickly resolvecode problems
z
Request additional diagnostics from operations
Request for additional diagnostics in operations system
System Center
Get actionable production diagnostics..
Quickly resolvecode problems
Generate IntelliTrace logs from within SCOM
Actionable debugging using IntelliTrace logs
IntelliTrace logs collected by operations in development system
z
A defect is simply a mistake that hasn’t been discovered before production
Once the defect is in production, it’s very difficult to detect and remediate
Need to drive down MTTD and MTTR Defects = poor customer experience = lost business
Defects arrive in production too frequently that ultimately impact your customers
Improve quality & availabilityReducing defects that make it into production
Improve quality & availabilityPlan
Develop & test Release
Monitor & learn
Production
Development Collaboration
BacklogRequirements
All stakeholdersAcceptance test planning
Continuous acceptance testing
Continuous learning and improvement
Integrated incident management
Performance and availability diagnostics
Release management
Developers& testers
Operations
ProblemsLack of information to prioritize future investments
SolutionsAccess to customer usage data to help you make informed decisions
ValueContinuous learning
Continuous learning
Application Insights
Create an account through Visual Studio Online.
Add the extension in Visual Studio.
Add Application Insights to new or existing projects.
Getting started is simple
Application Insights
Log page views or features accessed.
Log time spent on pages and features.
Story any key/value pair you want to generate from user activity.
Code instrumentationServer side logging in C#
Client side logging in JavaScript
Application Insights
Identify systemic issues and trends affecting application and infrastructure health.
Prioritize new features, bug fixes, and strategic direction based on qualitative and quantitative data.
Continuously improve
Valuable data at your finger tips
Validate your investments
z
System Center
Identify systemic issues and trends affecting application and infrastructure health.
Collect and search across multiple machine data sources from multiple systems to easily identify the root cause of operational issues.
Prioritize new features, bug fixes, and strategic direction based on qualitative and quantitative data.
Continuously improve
Production
Development Collaboration
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
The Microsoft DevOps solutionPeople
BusinessIT OperationsDevelopers/Testers
Process
Plan
Develop& test
Release
Monitor& learn
Azure services Visual Studio online
Microsoft products
Websites
Cloud service
s
SQLdatabas
e
API manageme
nt
Build &continuousintegration
Azure deploy & continuousdeployment
Virtualmachines
StorSimple
Release management
Lab management
Teamfoundationserver
Testprofessional
Applicationinsights
Build &continuousintegration
Azure deploy & continuousdeployment
LoadtestingApplication
insightsLoad
testingActivedirecto
ry
Virtualnetwork
CLOUD
HYBRID
ON-PREMISE
S
Collaborate
Multifactorauthorizatio
n
Pick the right offering for each team member based on needs.
One license per user, but user can run the software on any number of devices.
Use is limited to development and testing.
MSDN subscriptions
Stand-alonetool
Licensing options for developers & testers