IT solutions company
making information
actionable for the
enterprises in the
mobile-cloud world
Collaborative and
Analytics solutions
leveraging pre-built
solution accelerators
Cloud,
Collaboration &
Analytics Technologies
Mobility,
Who We Are
Agenda
Azure based Development Environment
Azure-based App Development Lifecycle: An Introduction
Deployment Options on Azure
Monitor Azure based applications
Azure Platform Management Tool: Demo
Governance
Requirements
Specification
Architecture
Design
Development
Build
Testing
Deployment
Operations
Application Lifecycle Management - Role of Azure
Application Lifecycle
Management (ALM) is a
continuous process of
managing the life of an
application through
governance, development
and maintenance.
Why Azure for Application Development
Global Data Center Footprint
Easy access for distributed team. Pay only for what you use
Flexible & Open Compute Options
Virtual Machines, Web Sites, & Cloud Services
Managed Building Block Services
SQL Database, Cache, Service Bus, & more
• On-demand
• Scalable compute infrastructure
• Quick set-up resources
• Multiple configurations Windows
Server and Linux
• Trustworthy Azure foundation
• Secure and flexible
• Develop, deploy and scale any sized web
application
• Leverage your existing tools
• Create and deploy applications without the
hassle of managing infrastructure
• Scalable and secure backend for apps
• Storage, authenticate users & push
notifications
• SDKs for Windows, Android, iOS & HTML
• Powerful and flexible REST API
• Connected apps with consistent
experience across devices & Platforms
• Infinitely scalable applications & API’s
• Quick deployment and management of
applications and services
• Azure handles the provisioning, load
balancing & health monitoring
• Industry leading monthly SLA for application
• Focus on app, not the infrastructure
Mobile Services
Virtual Machines Website
Cloud Services
Application Development options on Azure
Development Options
Feature rich development
environment for creating
apps across devices,
desktops, web and cloud
Cloud services for
development teams to
collaborate and manage
software projects
Start with writing
code – use Visual
Studio
• Do everything that you
normally do on-prem
• Also setup VSO (Visual
Studio Online) and TFS
Test the code!
• Use Azure emulator on
your development box
• Use Azure ‘cloud services’
or host the website
• Deploy the solution on a
Azure based virtual
machine
Deployment
• Use familiar tools to
deploy – from within
Visual Studio or
command line
After the application is deployed
• Manage code update/changes using “in-place” updates
like you do for on-premise solutions
• Alternatively, use “VIP (virtual IP) Swap” process that
allows you to have two copies of the application running
on the Production account and other on staging and
just swap the IP
Monitoring
• Enable the Windows Azure
Diagnostics in your code
• Windows Azure Service
Dashboard
• Use System center to monitor
and manage your apps like
you do for on-premise apps
Develop, Test, Run your Apps in Azure
Visual Studio Online (FREE Visual Studio)
Capabilities of Team
Foundation Server
with additional cloud
services
Online home for
your development
projects
Cloud infrastructure
without having to
install or configure a
single server
Online account
comes with five free
users
Visual Studio Online (FREE Visual Studio)
Create private, cloud-
hosted source code
repositories
Choose between Git or
TFVC for source
control
Discuss code changes
with your team
Monitor global
availability of your
application
Get rich dashboards
and dynamic reports
about your application
Gain insight about
usage of your
application
Create a backlog and
work in sprints
Track requirements,
tasks, and bugs with
work items
Monitor progress using
Kanban boards or agile
task boards
Offload your builds
Automate your build
process
Track build health over
time
Host your code in
the cloud
Gain insight into
your applications
Manage your work
in one place
Build your
applications in the
cloud
Unit of Payment
Unit of
Management
Represents a
single application
Two slots:
Production &
Staging
Unit of Scaling Running VM
Azure Environment Concepts
Operations Billing Account
Operations Subscription
Production Service
Staging Deployment
Production
Deployment
Staging
Deployment
Production
Deployment
Development Billing Account
Development Subscription Test Subscription
Staging
Deployment
Production
Deployment
Staging
Deployment
Production
Deployment
Staging
Deployment
Production
Deployment
Sandbox
Service 1
Sandbox
Service 2Test Service UAT Service
Azure Typical Environments for Development Teams
Build: Create the deployment package
Windows Azure
applications are
deployed as an
encrypted package
(*.cspkg)
CSPACK command
line tool
Automatically
created by Visual
Studio when you
publish
Application
dependencies
GAC’d Assemblies
Secondary web
sites
Easiest approach
for automated
builds: CorePublish
target
Test & Production Daily Build
PowerShell scripts using
Azure cmdlets, triggered
from MSBuild
Target Environment Execution Implementation
Deploy service
certificates
Upload package
to Blob Storage
Deploy package
+
ServiceConfigura
tion to Staging
slot
Run automatic
verification tests
Flip Staging to
Production
Stop and delete
Staging
deployment
Steps
Deploy: To the Cloud
Monitor Apps deployed on Azure
Monitor the Azure
Service Dashboard
for general
availability.
Use System Center
Operations Manager
Windows Azure
Management Pack to
monitor instance and
app health
Develop synthetic
transactions to
monitor that the
whole application is
up end-to-end
Use Dynamic
Management Views
to monitor SQL Azure
Managing Apps: Scaling
Windows Azure’s
“elasticity” allows
applications to be scaled
up and down based on
demand
Platform directly supports
manual scaling from portal
or APIs
Automated scaling can be built easily on top of APIs
• Time-Based: E.g. console application triggered from Windows
Scheduler
• Resource-Based: Worker role that monitors KPIs such as
performance counters and adds/removes instances when
needed.
• Cloud-based media
solutions Ingest, encoding,
format conversion
• Content protection
• On-demand & live streaming
• Automate, create, deploy &
maintain resources
• Highly scalable & reliable
workflow execution engine
Reduces operational
expense for cloud operations
• B2B & Enterprise Application
Integration (EAI) capabilities
• Cloud and hybrid integration
solutions
• Simple & extensible cloud-
based integration service
• highly scalable, cross-
platform push notification
infrastructure
• Broadcast notifications to
millions of users at once
• Tailor notifications to
individual users
• Allows calling HTTP/S
endpoints
• Post a message to a storage
queue - on any schedule
• Create jobs in the cloud
• Messaging infrastructure that
sits between applications
• Exchange messages for
improved scale & resiliency
BizTalkAutomationScheduler
Notification HubService BusMedia Services
Other Azure App Services