This document discusses how cloud computing and DevOps practices like continuous integration/delivery can reshape application lifecycle management. It promotes using cloud services for infrastructure provisioning, development, and testing to improve speed, flexibility, and quality. Microsoft Azure is presented as a platform that can enable these practices through services like virtual machines, automated infrastructure configuration, and release management/monitoring tools integrated with Visual Studio.
8. “Infrastructure at your fingertips”
Environment Provisioning
Delivery delays due to hardware procurement
Cost/effort required to stand up environments
Under-/over-utilization of physical infrastructure
Cloud development and test environments
Automated infrastructure provisioning
Infrastructure as Code
9. Improve Quality
Deliver higher quality releases
by testing your applications in
a ‘production-like’ environment
to understand how they will
handle real-world usage.
10. Azure Compute Services
Speed of development and ease of maintenance
Degreeofcustomizability
Virtual Machines
Cloud Services
Websites
Mobile Services
Directly move your
VMs to the cloud
Full control of
multi-tier apps
Deploy and scale
in seconds
Accelerate mobile
backend development
12. Infrastructure as Code
PowerShell DSC
Build templates to manage configurations.
Integrate templates with Release
Management to automate configuration of
on-premises and cloud environments.
Parameters allow reuse of templates.
Server configuration is
managed through templates.
Parameters make the
template re-usable.
13.
14. “Deploy the same code every time, everywhere, in the same way”
Release Management
Increase delivery cadence
Increase predictability and consistency when deploying
Reduce complexity when deploying to hybrid environments
Release planning
Automated environment management
Release automation workflow
15. “Deploy the same code every time, everywhere, in the same way”
Release Management
18. Define Release Plans
and Templates
Define groups that can
create, edit and view
release templates.
Define required
approvals for each
release stage.
Define stage types for a
given environment.
Granular control for the
entire release process
Seamless integration with
Visual Studio Build process
19. Define a release workflow
and activities for each of
your applications.
Use built-in actions for
deployment or create
your own w/ PowerShell.
Use built-in actions or
define your own
Define release workflow and
activities per environment
Define Release Plans
and Templates
20. Flexible Release
Approval Workflow
A simple way to request
and provide approvals.
The approver can start,
stop, approve, reject,
restart, retry, abandon or
reassign releases.
Simple way to request
and provide approvals
Trigger actions based
on approvals
21. Release Visibility
and Transparency
View release pipeline,
status and issues.
Monitor the progress of
each release.
Check the status of
your releases
Identify issues and patterns in
your application deployment
24. Create, Update and Delete Release Pipeline Workflow
Approve stages
and sign-off on
release
Deploy to Server
No CAL
Required
Release Management Client available at no additional cost. FreeCAL waiver for a user
who just wants to
approve a stage
25. “Integrated and accessible Analytics”
Monitor
Production outages
Scaling issues
Unknown usage patterns
Bugs in production
System Center
Application Insights
Intellitrace in ProductionDevelopers
Testers
IT Ops