service fabric

10
#gib2017 #gib2017 2017 - Brisbane Lee Simpson | Mexia Service Fabric

Upload: daniel-toomey

Post on 05-Apr-2017

65 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Service Fabric

#gib2017 #gib2017

2017 - Brisbane

Lee Simpson | MexiaService Fabric

Page 2: Service Fabric

#gib2017

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 3: Service Fabric

#gib2017

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 4: Service Fabric

#gib2017

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 5: Service Fabric

#gib2017

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 6: Service Fabric

#gib2017

Datacenter (Azure, Amazon, On-Premises, …)

Load Balanc

er

PC/VM #1Service FabricYour code, etc.

PC/VM #2Service FabricYour code, etc.

PC/VM #3Service FabricYour code, etc.

PC/VM #4Service FabricYour code, etc.PC/VM #5

Service FabricYour code, etc.

Service Fabric Cluster with 5 Nodes

Your code, etc.

(Port: 19080)

Web Request

(Port: 80/443/?)

Page 7: Service Fabric

#gib2017

Service Fabric’s Infrastructure Services

Service DescriptionCluster Manager Cluster management

(REST [HTTP=19080], PowerShell/FabricClient [TCP=19000])

Failover Manager

Rebalances service instances as nodes come/go

Naming Registry mapping service instances endpoints

Fault Analysis Let’s you inject faults to test your servicesImage Store Contains your app packages (not on OneBox)Upgrade Upgrades SF on nodes (Azure only)

Page 8: Service Fabric

#gib2017

Page 9: Service Fabric

#gib2017

• An application is a collection of services• In Service Fabric terms, we call these application types & service

types• So, an application type is a collection of service types

Defining Application Types & Service Types

Cluster “Fabrikam” eStore

App“G” Gallery Svc“P” Payment Svc

eStore App TypeGallery Svc

TypePayment Svc Type

“Contoso” eStore App“G” Gallery

Svc“P” Payment Svc

Image

Store

Page 10: Service Fabric

#gib2017© 2016 Microsoft Corporation. All rights reserved. Microsoft

Ignite

Going FurtherJeffrey Richter Building Microservices Applications on Azure

Service Fabric – Microsoft Virtual Academy