leveraging microsoft azure for next gen app development

33
WinWire Technologies, Inc. Confidential Leveraging Microsoft Azure for Next Gen App Development

Upload: winwire-technologies-inc

Post on 13-Jul-2015

179 views

Category:

Technology


0 download

TRANSCRIPT

WinWire Technologies, Inc. Confidential

Leveraging Microsoft Azure for

Next Gen App Development

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

Session Speaker

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

Azure-based App Development Lifecycle: An

Introduction

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

Microsoft Azure Services

Microsoft Azure

Types of Application Development on Azure

• 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

Your Datacenter

Develop, Test, Run your Apps – on-Prem

Develop, Test, Run your Apps – Leveraging Azure

(NEW)

(NEW)

Provision VMs

Windows Azure Mobile Services

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

Demo: Visual Studio

Azure based

Development Environment Setup

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

Deployment Options on Azure

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

Deployment Options

DEMO: Automated Deployment

Monitoring Apps deployed on Azure

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.

Demo: Azure Services Dashboard

• 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

[email protected]

www.winwire.com

http://www.winwire.com/blog-winsights/

www.twitter.com/winwire