Windows Azure Overview · Azure Automation Capabilities Azure Monitoring Systems Change Control...
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
Vertical Partitioning
Horizontal Partitioning (Sharding)
Hybrid Partitioning
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