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

Post on 28-May-2020

6 views 0 download

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

Randy PagelsSr. Developer Tools Technical Specialist

Cloudfest

Cloud patterns and best practices for Building Modern Applications

Java in Hosted Builds

European Datacenter

Azure Active Directory

REST APIs

Service

Hooks

Today’s Goal

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

Dev/Ops Workflow

Develop

Deploy

Operate

Learn

Repeatable

Reliable

Predictable

Low Cycle Time

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

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

Need to make a quick hotfix?

Master

Staging

Development

Feature Branch A

Feature Branch B

Feature Branch C

Hotfix 145

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

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?)

How can we do it?

Plan

Develop & test Release

Monitor & learn

ProductionDevelopment Collaboration

Backlog

Requirements

All stakeholders

Developers

& testers

Operations

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

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

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

AutoScale – Built-into Windows Azure

• AutoScale based on real usage

• CPU % thresholds

• Queue Depth

• Supports schedule times

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

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

Data Storage Options on Windows Azure

Platform as a Service

(managed services)

Infrastructure as a Service

(virtual machines)

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?

Scale out your data by partitioning it

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

Blob Storage

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

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

Buy/Rent a Telemetry Solution

ApplicationInsights

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

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?

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

Read more:

DEMO

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

Kanban board

Backlog / Work Items

Taskboard

Version control

Other

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

Kanban board

Backlog / Work Items

Taskboard

Version control

Other

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

archive-vso

Next generation team build

Release management

Release management

Sneak Peak

Release ManagementvNext

Power BI

SonarCube

VSO & Power BI Integration

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

Gain understanding and insights into projects in VSO

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

Coming soon…

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

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”

Application Insights

Application Insights

Application Insights

Application Insights

Application Insights

MSDN credits

3 VMs for 16 hours a day

80 VMs for 20 hour load test

Up to 500 web sites plus SQL DB