TechEd North America 2014, Houston
The Future of Microsoft Azure DevOps: Building, Deploying, Managing, and Monitoring Your Cloud Applications in the New Azure Portal – Chandrika Shankarnarayan, Bradley Millington
Day 1, 12 May 2014, 4:45PM-6:00PM (DCIM-B223)
Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of either Microsoft, the presenters or the speakers.
Executive Summary—Sean’s takeaways
- Gradually doing migration of old portal features to new portal
- New portal organization much better, information organized based on what you need to see
-
Tight integration with Visual Studio Online
- VSO will eventually go away, as it’s subsumed into Azure portal
- With VSO integration, Azure portal includes lots of ALM stuff
- Diagnostics on web sites now a bit easier, with streaming logs, etc.
Chandrika Shankarnarayan – Principal Program Manager Lead, Microsoft
Agenda
- Icebreaker – http://aka.ms/ugca1j
- DevOps lifecycle
- Resource Manager
-
Demos
- New portal, new concepts
- Using VSO to manage dev lifecycle
- Operating a running app
Microsoft Azure
- IaaS, PaaS
- IaaS – VMs, Storage, Networking, CDN
- PaaS – Web, Mobile, Identity, Data, Analystics, Integration, Media, Gaming
DevOps Basics
- Developers
- Code Repository
- Build
- Test
- Deploy to Cloud
- Monitor and Improve
Consistent Management Layer
- Tools – Azure + Command Line + Visual Studio
- Consistent Service Management API
- Resource Manager – compose application of multiple resources, on-premise and in cloud
- Resource provider contract
What does it all mean?
-
Application Lifecycle Container
- Deply/manage application as you see fit
-
Declarative solution for Deployment and Configuration
- Single-click deployment of multiple instantiations of your application
-
Consistent Management Layer
- Same experience whether from portal, command line, or tools
Demo
- Gallery – one-stop for all Azure services, Microsoft or third-party
-
Website + SQL – composite
- Resource Group – set of services
-
Website configuration
- Very nice summary of web hosting plan features
- Lots more tiers
- E.g. Standard Small
-
Database configuration
- Can use existing database
-
Create Team Project
- Name
- Git for source code control
- Account – Visual Studio Online
-
Portal overview
- Can customize the portal
- Can change size of various things
- Can unpin tiles from portal
-
Hubs concept
- Notifications – all of your operations (including API stuff)
-
Billing – lists your accounts – single place to show pricing stuff
- Burn rate for the month
- Cost breakdown, based on resource
- Manage Admins from Billing
-
Open Team Project
- Add User for Team Project – autocomplete if user is in AAD tenant
Bradley Millington – Principal Program Manager, Microsoft
Browse Team projects
- Can pin to dashboard
- Can find web site and pin to start
Drilling into Team Project
- Summary lens – overview of resource
- Quick start – some quick docs on what you can do
- Properties – basic props
-
Code lens
- Source repository (TFS or Git)
-
Build lens
- Build definitions that trigger builds
-
Work lens
- Backlog and work items
- Users lens – manage users
Adding code to repository
- Get clone URL
- Command line, “git remote add ..” and then “git push ..”
-
Back on portal, code shows up – all the git commit history is still there
- Commits – properties, diffs, etc.
- Can browse source code
Continuous deployment between project and the web site
- Can browse from project and look for web site
-
Deployment slots
- Add Slot
- Name
- Slot is just another web site
- In web site, “set up continuous deployment”
- Choose source – e.g. Visual Studio Online
- Choose project
- Choose branch
This created a Build definition
- Every time you check-in code, it builds (and deploys?)
- Resource map shows master web site and staging deployment
- Drill into build – can look at log files, build results
- Same build info that you’d see in Visual Studio
Create work items
- Can just type items and press RETURN
- Can set properties on work items
Users
- Projects backed by Azure Active Directory – so you can really control who gets access
- When yo uadd user to project, they are added to a VSO account
- VSO – unlimited number of private projects
- But 5 free basic users
Scaling of Visual Studio Online account
- Users, paid services, etc. – through VSO portal
Build definition
- Can see deployment
Can look at staging site
- Click Swap to swap it to production
- “Swapping website slots”
Look at Azure portal from perspective of developer that’s been using it for a while
- Can click on Build Definition and look at various builds
- Drill into build that failed – look at details
- Can see compilation problem, get specific error in solution
- Can even edit code (errors not yet highlighted)
- Can then make code changes directly in repository
Or you might see that compilation worked, but tests failed
Visual Studio integration
- Can open up solution, look at build results
- Can fix, then queue new build
Chandrika back again
Day 100 in life of Ops person
-
Look at Resource Group
- Can contain web sites
- Show costs for this resource group
-
Pick website
- Website, SQL database, and associated project
Monitoring
- Graph of HTTP requests
-
Edit query (for graph)
- Add other metrics, change to “Past Hour”
- No 404 errors
- Can set up Alert, track errors, e.g. 404
Client-side analytics
- Mobile device type
- Browser types
- Can look at page load time, by page
Configuration – code snippet
- Just Javascript snippet that you inject into application
Webtest – can ping application from various geographic locations
- For a test, look at average response time, failures, etc.
Can also look at server that you’re hosting on
- CPU percentage for a given day
Can set up Autoscale
- By default, you have a single metric – e.g. CPU percentage
- One Key metric to look at, to see if you need to scale, is HTTP Queue Length
Customization
- Can customize metrics and graphs
- E.g. CPU usage, Memory, and HTTP queue length
- Easy to customize
Troubleshooting – Events
- Azure records every operation that you make in portal
- E.g. Scale Up / Down (e.g. from Autoscale)
- Can drill into these events and look at specific properties
Alerts
- Can set up alert rules for any metrics
- E.g. CPU Percentage
- Specify threshold, condition, period
- Can do E-mail, SMS
Streaming Logs – real-time for troubleshooting
- Diagnostics logs – can configure
- Can see stuff hitting site in real-time
Console connection to web site
Webjobs
- Can’t define in new portal yet – use old portal
- Sometimes gaps between current portal and new portal
Traffic Manager
- Support for hybrid connections
- Can set up in portal
- Create or use existing
- Also available for Mobile Services
Summary
-
Azure Portal Preview + Resource Manager
- Enterprise grade
- Bridges islands of experiences
- Simple, best in class
- Consistent
- Customizable
- Enable discovery, cross-sell and up sell of services
- Provide ecosystem for internal and externa partners
Questions
Q: Merging Visual Studio Online and Azure Portal?
- Yes gradually moving stuff to Azure Portal. But no real roadmap for how this will work
Q: On current portal, timeline of preview portal?
- New portal available in “preview”, not full functionality yet. Will continue to obring more and more services into Preview portal. “Over a period of time”. And data consistency between two portals
Q: Features available in on-premise platform? (Windows Azure Pack)
- All this work will transition to Azure Pack. But timeframe is TBD
Q: Application insights – can you bring info from on-premises instances?
- Yes, goal to be agnostic w/respect to cloud/on-prem. So eventually, yes.
Q: Plan for role-based stuff?
- Resouce Manager integrated with AD, so we’re set up for it. So a possible future ability – define Users/Roles
Q: Analytics – what about perspective for business/marketing people?
- We have some of those scenarios, e.g. in Office 365. Will definitely bring some of those scenarios into this portal. So yes, the experience would be in this same portal. Also looking at dashboards that you customize for certain roles, “custom dashboards” target at specific role, e.g. Marketing.
Q: Where are the metrics coming from (e.g. 404)
- Yes, coming directly from web site back-end (Performance Counter)
Q: Continuous deployment options? ??
- A function of team management features and dashboards targeted at specific groups in team
Q: Additional step to continuously deploy into production?
- Swap to move to production. More likely, you’d have bigger resource group and you want to move a number of items from staging to production. Maybe pull some features from Visual Studio. Also, you can use API layer in Resource Manager to do something like run scripts that do cloning and deployment. One goal of Resource Management is to reliably replicate some of the expected scenarios.
Q: Integration of package management system, e.g. NuGet?
- Great idea, but can’t speak to specific plans.