Features Scalability Manage Services Deliver Features Faster Create Business Value Availability...

37

Transcript of Features Scalability Manage Services Deliver Features Faster Create Business Value Availability...

Page 1: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.
Page 2: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Gopal KakivayaCorporate Vice President

Microsoft Azure Service Fabric Architecture

2-640

Page 3: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Agenda

• Application development • Azure Service Fabric• Microservices• Reliability & scale-out• Lifecycle management• Summary

Page 4: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Application development in the age of the Cloud

FeaturesScalability

Manage ServicesDeliver Features FasterCreate Business Value

AvailabilityLatencyLifecycleData IntegrityPortability

Page 5: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Cloud Service Architectures

traditional

User Interface

Business Logic

Data

User Interface

Business Logic

DataMicroservices

FeaturesScalability

Manage ServicesDeliver Features FasterCreate Business Value

AvailabilityLatencyLifecycleData IntegrityPortability

Page 6: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based applications

Microservices

Application Programming Models

Azure

WindowsServer Linux

Hosted Clouds

WindowsServer Linux

Service Fabric

Private Clouds

WindowsServer Linux

High Availability

Hyper-Scale

Hybrid Operations

High Density

Rolling Upgrades Stateful

services

Low Latency Fast startup & shutdown

Container Orchestration & lifecycle management Replication &

FailoverSimple

programming models

Load balancing

Self-healingData Partitioning

Automated Rollback

Health Monitoring

Placement Constraints

Page 7: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Battle-hardened for over 5 years

Azure Core Infrastruct

ure

thousands of machines

Power BI

Intune

800k devices

Azure SQL

Database

1.4 million databases

Bing Cortana

500m evals/sec

Azure Documen

t DB

billions transactions/wee

k

Skype for

Business

Hybrid Ops

Event Hubs20bn

events/day

Page 8: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based applications

Microservices

Communication

Management Reliability HostingSubsystem

Testability

Federation

Transport

Application Programming Models

Azure

WindowsServer Linux

Hosted Clouds

WindowsServer Linux

Service Fabric

Private Clouds

WindowsServer Linux

High Availability

Hyper-Scale

Hybrid Operations

High Density

Rolling Upgrades Stateful

services

Low Latency Fast startup & shutdown

Container Orchestration & lifecycle management Replication &

FailoverSimple

programming models

Load balancing

Self-healingData Partitioning

Automated Rollback

Health Monitoring

Placement Constraints

Page 9: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

What is a microservice?• Is (logic + state) that is independently versioned,

deployed, and scaled• Has a unique name that can be resolved

e.g. fabric:/myapplication/myservice• Interacts with other microservices over well defined

interfaces and protocols like REST• Remains always logically consistent in the presence of

failures• Hosted inside a “container” (code + config)• Can be written in any language and framework• node.js, Java VMs, any EXE

• Developed by a small engineering team

Page 10: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Types of microservices• Stateless microservice• Has either no state or it can be retrieved from an external store • There can be N instances• e.g. web frontends, protocol gateways, Azure Cloud Services etc.

• Stateful microservice• Maintain hard, authoritative state• N consistent copies achieved through replication and local persistence• e.g. database, documents, workflow, user profile, shopping cart etc.

Page 11: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Stateless microserviceDemo

Page 12: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Federation and transport subsystems

Communication

subsystem

Reliabilitysubsystem

Activationsubsystem

TestabilitysubsystemFederation

Transport

Application Programming Models

Microservices

Managementsubsystem

Page 13: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

A set of independent machines; physical or virtual

Typical datacenter

Page 14: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

A set of machines that Service Fabric stitches together to form a cluster

Clusters can scale to1000s of machines

Cluster: A federation of machines

Node

Node

Node

Node

Node

Node

Page 15: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Machine failure detection

Time = t1

83 76 50 4664 New Node arrived61

Time = t2

8361

50 46Failures Detected

cluster reconfigured

83 76 6450 46

Time = t0

Nodes failed

Page 16: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Cluster: System viewSystem Services Failover manager

Cluster manager

Naming

Image store

Page 17: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Service Fabric ExplorerDemo

Page 18: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Reliability and hosting subsystems

Communication

subsystem

Managementsubsystem

Reliabilitysubsystem

Hostingsubsystem

TestabilitysubsystemFederation

Transport

Application Programming Models

Microservices

Page 19: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Queues Storage

3-Tier service pattern

Front End(StatelessWeb)

StatelessMiddle-tierCompute

Cache

• Scale with partitioned storage

• Increase reliability with queues

• Reduce read latency with caches

• Manage your own transactions for state consistency

• Many moving parts each managed differently

Load Balancer

Page 20: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

StatefulMiddle-tierCompute

Stateful services: Simplify design, reduce latency

Front End(StatelessWeb)

data stores used for analytics and disaster recovery

• Application state lives in the compute tier

• Low Latency reads and writes

• Partitions are first class for scale-out

• Built in transactions

• Fewer moving parts

Load Balancer

Page 21: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Stateful microserviceDemo

Page 22: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

• Each service is backed by replica set to make its internal state reliable

• All replicas are logically consistent – meaning all replicas see the same linearized order of read and write operations to initial state

• Read-Write quorums are supported and are dynamically adjusted

• Replica set is dynamically reconfigured to account for replica arrivals and departures

Stateful microservices are reliable and consistent

Page 23: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Stateful microserviceApplication Package

PSSreplication

replication

PSS

Page 24: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Replication• Reads are completed

at the primary• Writes are replicated to

the write quorum of secondaries P

S

S

S

SWriteWrite

WriteWrite

AckAck AckAck

ReadValue WriteAck

Page 25: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Reconfiguration• Types of reconfiguration

• Primary failover• Removing a failed

secondary • Adding recovered

replica• Building a new

secondary

• Replica States• None• Idle Secondary • Active Secondary• Primary

P

S

S

S

S

S

Must be safe in the presence of cascading failures

B PXFailed

XFailed

Page 26: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Microservices placement and failover

Node 103

P

SS

Node 104

SS

Node 102

P

SS

S

Node 105

PSSS

Node 101

SS

P

Node 100

S

PS

S

P

SS

S

Page 27: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Cluster MonitorDemo

Page 28: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Application Lifecycle Management

Communication

subsystem

Managementsubsystem

Reliabilitysubsystem

Hostingsubsystem

TestabilitysubsystemFederation

Transport

Application Programming Models

Microservices

Page 29: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Application: logical grouping of microservices

Application Contain

erContain

er

Container

Container

Page 30: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

• Provisioning and deployment of constituent microservices

• Upgrade microservices without loss of availability• Monitor microservices • Interface with machine management layer for

autoscale and initiating reboot, reimage, and repair actions

• Provide operational insight into aggregate utilization – inventory, performance counters/metrics, etc. – for capacity planning

Application Lifecycle Management

Page 31: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

No Downtime UpgradeDemo

Page 32: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Upgrading Services with zero downtimeApplication Package

FD0/UD0

FD0/UD1

FD1/UD6

FD1/UD5

FD2/UD4

FD2/UD3

Page 33: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Testability subsystem

Communication

subsystem

Managementsubsystem

Reliabilitysubsystem

Hostingsubsystem

TestabilitysubsystemFederation

Transport

Application Programming Models

Microservices

Page 34: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Automatic Orchestration

Hybrid Operation

Self-Healing

Self-sufficient

Comprehensive

The same technology Microsoft uses

Proven more than 5 years

Investment & Roadmap

Stateless or Stateful

Visual Studio tools

Focus on features not infrastructure

Rolling upgrades

Azure Service FabricRapidly develop

microservice based

applications

Operate reliable, scalable services

Enjoy the confidence of a battle-

tested platform

Page 35: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

• Download the Service Fabric developer SDK• http://aka.ms/ServiceFabric• Learn from the tutorials and videos• http://aka.ms/ServiceFabricdocs• Attend other talks• Building Resilient, Scalable Services with Microsoft Azure

Service Fabric• Deploying and Managing Services with Microsoft Azure

Service Fabric• Provide feedback• http://aka.ms/ServiceFabricforum• http://

stackoverflow.com/questions/tagged/azure-service-fabric

Call to Action

Page 36: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!Easily build web and mobile apps for any platform with AzureAppService for free.

Resources

Page 37: Features Scalability Manage Services Deliver Features Faster Create Business Value Availability Latency Lifecycle Data Integrity Portability.

© 2015 Microsoft Corporation. All rights reserved.