36
What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Embed Size (px)

Citation preview

Page 1: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

What is a “modern” application?

Ulrich (Uli) HomannChief Architect, Microsoft ServicesMicrosoft Corporation

Page 2: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Multiple form factors

Understanding modern apps

SocialIdentity

ChoiceAnytime access

Page 3: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 4: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 5: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Lifecycle patterns

Predictable bursting Growing fast On and offUnpredictable bursting

Page 6: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Latency Shifts

EDW

Regulatory Monitoring

OA&M

OLTP TX

SLA Monitor-ing

VAR

0 micro- milli- second minute hour day week month

Page 7: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Latency shifts

Page 8: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 9: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Major external factors

3rd Data discontinuitySupply and value chains

Apps across platforms New architecture

Page 10: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Resiliency

Elasticity

Virtualization

Key concepts

Automation

Homogenization

Real-time Health

Page 11: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 12: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Application models

Decompose by function

Decompose functions by roles

Page 13: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

ASAP asynchronicity

Avoid dependency

Loosely couple “process” from “process trigger”

Process “as soonas possible”

Page 14: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 15: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Lead the transition from

software into services

Page 16: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

The good old days

Managed operations

Designed

Redbooks

Error Messages

Security

Physical access

Process

Defined processes

Page 17: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 18: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

FMEA

Failure point: design element subject to outage

Design elements subject to external change

Common failure points

18

Page 19: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 20: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Dealing with failure modes

Likelihood of failure, practicality of resiliency

Appropriate action when failure occurs

Use/simulate failures and test thoroughly

20

Page 21: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 22: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Monitoring health and performance

Page 23: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Modern applications

People ready Design Experience

Page 24: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation
Page 25: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation
Page 26: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

AdaptiveInsightful

Modern applications

Page 27: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 28: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

http://www.go-gulf.com/blog/60-seconds

Page 29: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Adaptive insightful experience

Generation <<ME>>

Social group behavior

User preferences

Right information at the right time

User behavior

User intent

Page 30: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Analysis processing

Instrumentation and analysis

Click-through boosting

Application instrumentation

Usage counts

Item relationships (recs)

Page 31: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation
Page 32: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 33: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

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

Page 34: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

Evaluations

http://europe.msteched.com/sessions

Submit your evals online

Page 35: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation

© 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.

Page 36: What is a “modern” application? Ulrich (Uli) Homann Chief Architect, Microsoft Services Microsoft Corporation