microservices to scale using azure service fabric

Post on 08-Jan-2017

137 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MukulJainHeadofXpiritIndiaXEBIA

SomethingInterestingisHappening…..

DigitalDisruptionisBetterandFaster

SpeedUpandScaleUp

TechnologyEvolution

Microservices ==SOADoneRight==Scalability?

App1

Traditionalapproach Microservicesapproach

• Amicroserviceapplicationseparatesfunctionalityintoseparatesmallerservices.

• Amonolithicapplicationhasmostofitsfunctionalitywithinafewprocesses.

• Scalesbycloningtheapponmultipleservers/VMs/Containers

• Scalesbydeployingeachserviceindependentlycreatinginstancesoftheseservicesacrossservers/VMs/containers

App1 App2

• Singlemonolithicdatabase• Tiersofspecifictechnologies

StateinTraditionalapproach StateinMicroservicesapproach• Graphofinterconnectedmicroservices• Statetypicallyscopedtothemicroservice• Varietyoftechnologiesused• RemoteStorageforcolddata

statelessserviceswithseparatestores

statefulservices

statelesspresentationservices

statelessservices

WhatisMicroservice?AutonomousService

Containcodeplusstate

Interactwithothermicroservices overwelldefinedinterfaces

RemainConsistentandAvailableinthepresenceofFailures

• Autonomy• Highcohesion• Lowcoupling

DeveloperDependencies

For a monolith to change, all must agree on each change. Each change has unanticipated effectsrequiring careful testing beforehand.

Developers can create and activate new microservices without prior coordination with others. Their adherence to MSA principles makes continuous delivery of new or modified services possible.

Elements in SOA are developed more autonomously but must be coordinated with others to fit into the overall design.

Microservice

Benefits

AnyLanguageandframework

Resilienceagainstfailure

Selectivescaling

Deploymentofsmallerpieceswithlowerrisk

AlignmentwithOrganization• SmallFocusedTeams

ImprovedResource

Utilizationtoreducecost

FaultIsolation

ServersTreatedascattle,not

pets

ServiceFabricHighAvailability

Hyper-Scale

HybridOperations

HighDensity

Microservices

RollingUpgrades

StatefulServicesLowLatency FastStartup&

Shutdown

CodeOrchestration&LifecycleManagement

Replication&FailoverSimpleprogramming

models ResourceManagement

Self-healingDataPartitioning

AutomatedRollback

HealthMonitoring

PlacementConstraints

Azure Privatecloud Otherclouds

AzureCloudServices(WebandWorkerRoles)

AzureServiceFabric(Stateless,stateful orActorservices)

• 1roleinstanceperVM• Unevenutilization• Slowdeployment&upgrade(boundtoVM)• Slowscalingandfailurerecovery

• ManymicroservicesperVM• EvenUtilization(bydefault,customizable)• Fastdeployment&upgrade• Fastscalingofindependentmicroservices

WindowsOS

WindowsOS WindowsOS

WindowsOS

WindowsOS

WindowsOS

FabricNode

FabricNode

FabricNode

FabricNode

FabricNode

FabricNode

LinuxSupportJavaSupportOnPremisesClusters

App1 App2

AppTypePackages ServiceFabricClusterVMs

HandlingMachineFailures

App1 App2

AppTypePackages ServiceFabricClusterVMs

HandlingMachineFailures

StatefulMicroservices- Replication

Primary

Secondary

Replication

ServiceFabricClusterVMs

WindowsOS

WindowsOS WindowsOS

WindowsOS

WindowsOS

WindowsOS

FabricNode

FabricNode

FabricNode

FabricNode

FabricNode

FabricNode

AppBv2

AppBv2AppBv2

AppAv1

AppAv1AppAv1

AppCv1

AppCv1

AppCv1

AppRepository

AppAv1

AppCv1

AppBv2

AppCv2

AppCv2

AppCv2

AppCv2

Node5Node4Node3 Node6Node2Node1

P2

S

SS

P4SP1

SP3SS

S

• Servicescanbepartitionedforscale-out.• Youcanchooseyourownpartitioningscheme.• Replicasautomaticallyscaleout&inonclusterchanges

Performanceandstressresponse•Richbuilt-inmetricsforActorsandServicesprogrammingmodels•Easytoaddcustomapplicationperformancemetrics

Healthstatusmonitoring•Built-inhealthstatusforclusterandservices•Flexibleandextensiblehealthstoreforcustomapphealthreporting•Allowscontinuousmonitoringforreal-timealertingonproblemsinproduction

ServicesbuiltwithServiceFabric

:SpeedUpandScaleUpTakeaways

top related