Upload
jody-sherman
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
What is a “modern” application?
Ulrich (Uli) HomannChief Architect, Microsoft ServicesMicrosoft Corporation
Multiple form factors
Understanding modern apps
SocialIdentity
ChoiceAnytime access
A modern application – another view
Each ApplicationHardware/Software Install/ConfigureDedicated resourcesScaled for worst caseAlways onMultiple Environments
The OutcomeExpensive, Inflexible, Underutilized,Brittle, Takes Too Long
HardwareOS
MiddlewareApplication
Global Physical Infrastructureservers/network/datacenters
compute storage networking commerceidentity
North Central US, S. Central US, N. Europe, W. Europe, E. Asia, S.E. Asia + 24 Edge CDN Locations
VMsmessagingCDN caching database business analytics
automated
elastic
managed resources
usage based
Lifecycle patterns
Predictable bursting Growing fast On and offUnpredictable bursting
Latency Shifts
EDW
Regulatory Monitoring
OA&M
OLTP TX
SLA Monitor-ing
VAR
0 micro- milli- second minute hour day week month
Latency shifts
Scheduling a service call
Event processing Alert Generation
Analysis: Near real-time + historic processing
Fleet scheduling
Happy customers
6. Notification
1. Schedule service
2. Service call
3. Dynamic dispatch
4. GPS Telemetry
5. Notification
Major external factors
3rd Data discontinuitySupply and value chains
Apps across platforms New architecture
Resiliency
Elasticity
Virtualization
Key concepts
Automation
Homogenization
Real-time Health
High scale application archetype
stateless web and/or application servers stateless “worker” process servers
state: queues, database, object store, files…
intelligent network load balancer
network activation
async activation
Application models
Decompose by function
Decompose functions by roles
ASAP asynchronicity
Avoid dependency
Loosely couple “process” from “process trigger”
Process “as soonas possible”
Max Growth
4 App Servers2 SQL Servers
Capacity Driver:# of users
+ 1 App Server
Start small, grow in growth units
Monitoring counters
Trigger growth at 80%RPS – Initial 99, Growth 80Content db size – Initial 0.8 TB, growth 0.7 TB
Growth Unit B
Capacity driver: content db size
+1 SQL ServerGrowth Unit AInitial Size
Lead the transition from
software into services
The good old days
Managed operations
Designed
Redbooks
Error Messages
Security
Physical access
Process
Defined processes
StrategyESP
Cloud Fabric
Application
Services
Data Center
Your Services
Platform Services
3rd Party Services
Traffic Management
StrategyESP
Cloud Fabric
Application
Services
Data Center
Your Services
Platform Services
3rd Party Services
StrategyESP
Cloud Fabric
Application
Services
Data Center
Your Services
Platform Services
3rd Party Services
FMEA
Failure point: design element subject to outage
Design elements subject to external change
Common failure points
18
Failure mode example
public int GetBusinessData(string[] parameters) { try {
var config = Config.Open(_configPath);var conn = ConnectToDB(config.ConnectString);var data = conn.GetData(_sproc, parameters);return data;
} catch (Exception e) {WriteEventLogEvent(100, E_ExceptionInDal);throw;
}}
19
Dealing with failure modes
Likelihood of failure, practicality of resiliency
Appropriate action when failure occurs
Use/simulate failures and test thoroughly
20
Fault and upgrade domains
Fault Domains
• Failed component can’t take down service• Isolated infrastructure
• Physical hosts, racks• Network equipment
• Two by default• Role instances across 2+ fault domains
Upgrade Domains
• VM rolling upgrades, no availability impact• Logical grouping of role instances• Five by default• Role instances spread over upgrade domains• Deployment upgraded for all or one at a time
Monitoring health and performance
Modern applications
People ready Design Experience
AdaptiveInsightful
Modern applications
Unified management
Personalized devices
Anywhere connection
Flexible workstyle solutions
VDI optimized
Cloud management
On your phone
Personalized experience
Intelligent infrastructure
On the road On your device
http://www.go-gulf.com/blog/60-seconds
Adaptive insightful experience
Generation <<ME>>
Social group behavior
User preferences
Right information at the right time
User behavior
User intent
Analysis processing
Instrumentation and analysis
Click-through boosting
Application instrumentation
Usage counts
Item relationships (recs)
IIS Servers
Event CollectorClient
Client Event Collector
Service (REST)StreamInsight
Even
t Rec
eive
r
Events
Infrastructure Analytics Package
User Experience Analytics Package
Custom Analytics Package
Dat
a Re
cord
er
SQL OLTP
OData Feed SilverlightDashboard
….
Event CollectorClient
Event CollectorClient
Client API(REST)
Events
SQL Service Broker
BULK INSERT
SQL DW
User/Session/SiteObject Cache
FAST Recommendations
Real-time insight architecture and topology
Targeted content
Collection service
StreamInsight service
Real-time event analysis
Resources
Connect. Share. Discuss.
http://europe.msteched.com
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources for IT Professionals
http://microsoft.com/technet
Resources for Developers
http://microsoft.com/msdn
Evaluations
http://europe.msteched.com/sessions
Submit your evals online
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.