Azure Service Fabric - tom.blob.core.windows.net Fabric.pdf · Azure Service Fabric Build, deploy,...

Post on 28-May-2020

10 views 0 download

Transcript of Azure Service Fabric - tom.blob.core.windows.net Fabric.pdf · Azure Service Fabric Build, deploy,...

Azure Service Fabric

Run and secure

services reliably at

any scale

Operate

Deploy any code at

any scale using tools

you know

Deploy

Build new or

transform existing

applications

Build

Azure Service Fabric Build, deploy, and operate applications, using any OS, at any scale, on any cloud

Proven platform powering core Azure and Microsoft services

Microsoft has deep expertise in running global services

such as Cortana, Skype & Cosmos DB

Service Fabric is the foundational technology

powering these services & core Azure infrastructure

Sample scale of one of these services: 60 billion

events per day with millions of databases

About 30% of Azure’s cores run Service Fabric directly.

Service Fabric Manages Millions of Service upgrades

weekly within Microsoft alone

SQL

{ }Power BI

Dynamics

Intune

Cortana Skype

Cosmos DB

IoT Hub

Event Hub

SQL Database

Trusted by customers of all sizes

Scenarios powered by Service FabricEmpowering customers of all sizes to achieve more

Lift & shift to

containers

Mission-critical

business SaaS

IoT data

processing

Low-latency data

processing apps

…one powerful Microservices platform for Windows Server and Linux.

Any workload, running anywhere.

New cloud-

native apps

To monolith or to Microservice?

... we support any stage you choose

New or

transformed

microservices app

5

Parts of existing

monolith

extracted

4

Existing Monolith + new

microservices

3

Monolith Hosted as

guest executable or

container

2

Traditional app

1

5 stages in a continuum…

To build, deploy, and operate……containers or microservices on any OS on any cloud

Programming

Models

Dev & Ops

Tooling

Orchestration Lifecycle

Management

Health &

Monitoring

Always On

Availability

Auto

Scaling

Azure On-premises infrastructure Other cloudsDev machine

Reliability Subsystem

Orchestration,

reliability, availability,

replication

Management

Subsystem

Application and

microservice

lifecycle

Deployment,

upgrade

and monitoringTransport Subsystem

Secure point-to-point communication

Federation SubsystemFederates a set of nodes to form a consistent scalable cluster of machines

Communication

Subsystem

Microservice discovery

Reverse proxy

Hosting & Activation

Process & container

activation

Application Programming Models Declarative application description, .NET, Java, and C++ APIs

Your Scalable, Reliable, Managed Applications

Service Fabric Architecture

Testability

Subsystem

Fault injection,

test in production

App1 App2

Service Fabric - Deployment

App Type Packages Service Fabric Cluster VMs

App1 App2

Handling Machine Failures

#FAIL

App Type Packages Service Fabric Cluster VMs

Purple NodesGreen Nodes

App1 App2

Orchestration Basics - Constraints

App Type Packages Service Fabric Cluster VMs

App1 App2

Orchestration Basics - Capacity

App Type Packages Service Fabric Cluster VMs

App1 App2

Orchestration Basics - Balancing

App Type Packages Service Fabric Cluster VMs

App1 App2

Orchestration Basics – Scaleout Service

App Type Packages Service Fabric Cluster VMs

App1 App2

Orchestration Basics – Scaleout Cluster

App Type Packages

UD3

UD2

UD1

App1 App2

Orchestration Basics - Upgrade

App2.1

App Type Packages Service Fabric Cluster VMs

Stateful Microservices - Replication

Primary

Secondary

Replication

App Type Packages Service Fabric Cluster VMs

Service Fabric Programming Models

Guest Executables/Containers

• Bring any exe

• Any language

• Any programming model

• Packaged as Application

• Gets versioning, upgrade,

monitoring, health, resource

governance

Reliable Services

• Stateless & stateful services

• Independent lifecycles

• High density

• Access to Reliable Collections

• Transactions across

collections

• Full platform integration

Reliable Actors

• Simplified programming

model

• Single Threaded model

• Requires totally disconnected

compute & state

• Removes access to some

advanced features

• Be careful

• Reliable Services provide failure management, HA of code

• Reliable Collections provide HA of state

• ReliableDictionary, ReliableQueue, ReliableConcurrentQueue

Programming models: Reliable Services

Collections

• Single machine

• Single-threaded

Concurrent Collections

• Single machine

• Multi-threaded

Reliable Collections

• Multi-machine

• Replicated (HA)

• Persisted (durable)

• Asynchronous

• Transactional

https://blogs.msdn.microsoft.com/azureservicefabric/2018/04/05/intelligent-routing-on-service-fabric-with-traefik/

https://traefik.io

https://github.com/jjcollinge/traefik-on-service-fabric

• Træfik is a reverse proxy that has been

developed with microservices in mind.

• Built-in support for dynamic

configuration, circuit breakers and

smart load balancing

• Integrated watchdog service with

Application Insights support

Recent Milestones…

In the last year:

GA of support for Windows Containers

GA of support for integration with Azure API Management

GA of support for DNS addressing within the cluster

GA of Service Fabric on Linux

GA of support for Resource Governance of processes and containers

Preview of support for .NET Core (Really .NET Standard 2 APIs)

Many performance, stability, and usability improvements

Preview of full support for Java

• Per-App network

• Stable IPs

• Service Mesh

Networking

So what’s next?

• API models inside

• Volume drivers

• Logs & Monitoring

Containers

• Resource

Governance

• Debugging

Improvements

Management

• Simplified APIs

• Serverless

• App Model

• Tools

Simplification

App Control

Azure manages VMs, OS patching, runtime upgrades, capacity planning, provides micro-billing

Customer manages application deployment (serverless)

Service Fabric “SeaBreeze”

Control and ResponsibilityMore Less

1/16/2018

App & Cluster Control

Azure manages VMs, OS patching, runtime upgrades

Customer manages application deployment and cluster capacity

Service Fabric Hosted (SFRP)

App, Cluster and Hardware Control

Customer manages hardware, OS patching, runtime upgrades, cluster capacity & application deployment

Service Fabric Standalone

On-premises

Any cloud

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-dotnet

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-quickstart-containers-linux

http://aka.ms/ServiceFabricSDK

https://mva.microsoft.com/en-US/training-courses/building-microservices-applications-on-azure-service-fabric-16747

http://aka.ms/ServiceFabricSamples

http://aka.ms/tryservicefabric

https://blogs.msdn.microsoft.com/azureservicefabric/2016/07/06/introduction-to-service-fabric-lab-part-1/

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

http://aka.ms/ServiceFabricForum

https://github.com/azure/service-fabric-issues

http://aka.ms/ServiceFabricSlack here

here

© Copyright Microsoft Corporation. All rights reserved.