Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control...

75
Randy Pagels Sr. Developer Tools Technical Specialist Cloudfest Cloud patterns and best practices for Building Modern Applications

Transcript of Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control...

Page 1: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Randy PagelsSr. Developer Tools Technical Specialist

Cloudfest

Cloud patterns and best practices for Building Modern Applications

Page 2: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 3: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Java in Hosted Builds

European Datacenter

Azure Active Directory

REST APIs

Service

Hooks

Page 4: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Today’s Goal

Cover key development patterns and practices that will help you build real world cloud apps

Page 5: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 6: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Dev/Ops Workflow

Develop

Deploy

Operate

Learn

Repeatable

Reliable

Predictable

Low Cycle Time

Page 7: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 8: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Source Control

• Use it!

• Treat automation scripts as source code and version it together with your application code

• Parameterize automation scripts –> never check-in secrets

• Structure your source branches to enable DevOps workflow

Page 9: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Example Source Branch Structure

Master

Staging

Development

Feature Branch A

Feature Branch B

Feature Branch C

Code that is live in production

Code in final testing before production

Where features are being integrated

Page 10: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Need to make a quick hotfix?

Master

Staging

Development

Feature Branch A

Feature Branch B

Feature Branch C

Hotfix 145

Page 11: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 12: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

How We Did It

Build on one person’s machine

Code and debug for weeks (months?)

Manually deploy parts via file copy

Run manual tests against deployed app

Page 13: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

How We Did It…Which Resulted In

Build on one person’s machine

Code and debug for weeks (months?)

Manually deploy parts via file copy

Run manual tests against deployed app

Infrequent releases reducing business agility

Inability to reliably reproduce builds

Tedious and error-prone due to missing dependencies

Code and debug for weeks (months?)

Page 14: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

How can we do it?

Plan

Develop & test Release

Monitor & learn

ProductionDevelopment Collaboration

Backlog

Requirements

All stakeholders

Developers

& testers

Operations

Page 15: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Continuous Integration & Delivery

• Development, Staging and Master branches kick off automated build + check-in tests

• Use automation scripts with Development and Staging to automatically deploy to environments

• Deploying Master to Production can be automated, but more commonly requires an explicit human to sign-off before live production updated

Page 16: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

http://www.visualstudio.com

• TFS and Git support

• Elastic Build Service

• Continuous Integration

• Continuous Delivery

• Load Testing Support

• Team Room Collaboration

• Agile Project Management

Work

Build Test

Deploy

InsightsCode

Page 17: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 18: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Windows Azure Web Sites Build with ASP.NET, Node.js, PHP or Python

Deploy in seconds with FTP, WebDeploy, Git, TFS

Easily scale up as demand grows

Page 19: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

AutoScale – Built-into Windows Azure

• AutoScale based on real usage

• CPU % thresholds

• Queue Depth

• Supports schedule times

Page 20: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Web Development Best Practices

• Scale-out your web tier using stateless web servers behind smart load balancers

• Dynamically scale your web tier based on actual usage load

• Avoid using session state (use cache provider if you must)

• Use CDN to edge cache static file assets (images, scripts)

• Use .NET 4.5’s async support to avoid blocking calls

Page 21: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 22: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Windows Azure AD Active Directory in the Cloud

Integrate with on-premises Active Directory

Enable single sign-on within your apps

Supports SAML, WS-Fed, and OAuth 2.0

Enterprise Graph REST API

Page 23: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 24: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 25: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Data Storage Options on Windows Azure

Platform as a Service

(managed services)

Infrastructure as a Service

(virtual machines)

Page 26: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 27: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Understanding the 3-Vs of Data Storage

VolumeHow much data will you ultimately store?

VelocityWhat is the rate at which your data will grow? What will the usage pattern look like?

VarietyWhat type of data will you store? Relational, images, key-value pairs, social graphs?

Page 28: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Scale out your data by partitioning it

Page 32: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

It is a lot easier to choose one of these partitioning schemes before you go live….

Page 33: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 34: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Blob Storage

Page 35: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 36: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 37: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 38: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Lower costs and improve predictability

Automation

Enable service owners to focus on work that adds business value

Reduce error-prone manual activities while lowering costs

Deliver flexible and reliable services

Orchestration

Accelerate time to value with flexible process workflows

Improve service reliability across multiple tools, systems, and department silos

Process automation that simplifies cloud management

Optimize and extend existing investments

Integration

Integrate into existing systems with PowerShell integration modules

Build additional PS modules to enable integrating into other systems

Page 39: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Azure Automation Capabilities

Azure

Monitoring

Systems

Change

Control

Systems

Anything

Runbook Authoring in Azure:Create runbooks to automate all aspects of

cloud operations, from deployment,

monitoring, and optimizations

Highly Available Engine:Support requirements for scale and H/A.

Built on PowerShell Workflow. Isolation for

runbook jobs

Integration into other systems:Import PS modules and create additional

modules and runbooks for Azure services or to

connect into 3rd party systems

Automation

Page 40: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 41: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 42: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Buy/Rent a Telemetry Solution

ApplicationInsights

Page 43: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

1. Telemetry is collected at each

tier: Mobile applications, server

applications and browser

2. Telemetry arrives to

Application Insights service

where it is processed & stored

3. Get 360° view of the

application covering availability,

performance & usage

Application Insights

Page 44: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Telemetry for 360° view

platform

infrastructure

app

1

3

4

5

Outside-in monitoring

Developer-emitted traces and events

Observed application behavior

Infrastructure performance

URL pings and web tests from 8 global pointsof presence

Whatever the developer would like to sendto Application Insights

No coding required – service dependencies,queries, response time, exceptions, logs, etc.

System performance counters

2 Observed user behaviorHow is the application being used?

Page 45: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 46: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 47: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Azure Portal Built from the

ground up

Apps are now center of the experience

Rich DevOpsdashboards

Resource Map

Usage Analytics

Service Health

Pricing & Billing

Customizations

Touch enabled

New Azure “preview” Portal

Page 48: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Read more:

Page 49: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

DEMO

Page 50: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Azure SDK for .NET 2.6

Platform support

Diagnostics improvements

QuickStarts

Event Hubs

Load Balancer

• Azure Resource Manager Tools

• Folders in Storage Explorer

• Manage WebJobs from Server

Explorer

• HDInsight Tools

• Add Connected Services

• Sign-in and view resources for

multiple Azure accounts

• Environments hub in Team

Explorer

New SDK Tools in Visual

Studio 2013 Update 4 and

Visual Studio 2015 RC

Azure SDK for .NET 2.5 Release Notes

Page 51: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Kanban board

Backlog / Work Items

Taskboard

Version control

Other

http://www.visualstudio.com/en-us/news/release-archive-vso

Page 52: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Kanban board

Backlog / Work Items

Taskboard

Version control

Other

http://www.visualstudio.com/en-us/news/release

archive-vso

Page 53: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Next generation team build

Page 54: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Release management

Page 55: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Release management

Page 56: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Sneak Peak

Release ManagementvNext

Power BI

SonarCube

Page 57: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 58: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 59: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 60: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 61: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

VSO & Power BI Integration

“How many pull requests per day? Per week?”

Gain understanding and insights into projects in VSO

Page 62: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Team Foundation Server 2015 RC

Innovation delivered in Visual Studio Online now in TFS

New updates to Team Foundation ServerAgile and Kanban improvements

Quick code editing

Server extensibility

Expanded basic license

Build vNext preview

SonarQube

Helps to control technical debt

Build info used for deep analysis and problem prioritization

Page 63: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 64: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Coming soon…

Page 65: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 66: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Call to actionwww.visualstudio.comGet Started with Visual Studio Register to Visual Studio Online

Apply for Application Insights Limited Preview

Download Visual Studio 2013 Get access to your benefits

http://msdn.microsoft.com

MSDN Subscribers

http://www.visualstudio.com

Page 67: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Visit Team System Café Today!The door is open 24/7 at the café! Stop by for a cup of joe and delicious tidbits on AppDev topics!

http://www.teamsystemcafe.net

Download slides on Resources page, search tag “Cloudfest”

Page 68: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects
Page 69: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Application Insights

Page 70: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Application Insights

Page 71: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Application Insights

Page 72: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Application Insights

Page 73: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

Application Insights

Page 74: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects

MSDN credits

3 VMs for 16 hours a day

80 VMs for 20 hour load test

Up to 500 web sites plus SQL DB

Page 75: Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control Systems Anything Runbook Authoring in Azure: Create runbooks to automate all aspects