Cellenza dev test - azure service fabric - v1.0 - slideshare

Post on 13-Apr-2017

119 views 2 download

Transcript of Cellenza dev test - azure service fabric - v1.0 - slideshare

Azure Service Fabric et ContainersRadoine Douhou

Michel Hubert

Demain est aujourd’hui

DevOps

DevOps, pas une méthode mais une philosophie

Avec un focus particulier sur la collaboration

UI specialist

dba

Middleware

Containers

Les Containers

Scalabilité.

Déplacements / Reversibilité

Cloud Public / Privé

Disponibilité / Performance.

Containers

Dev Ops « Write once, run everywhere ».

Applications distribuées

Environnement Dev / Test.

Continuous deployment / Packaging

Agile testing

Indépendant

Léger.

Agile.

Docker

.NET Core

ASP.NET 5

Docker dans Azure

Simplifier la création / configuration, la gestionde cluster de VM Azure pour des applicationscontainerisés.

Apache Mesos ou Docker Swarm pourl’orchestration des applications au sein d’uncluster de machines ou seront distribués .

Docker extension pour VM Linux

Azure Container Service

Pur IAAS Architecture à construire

Azure Scale Set

Docker dans Windows Server 2016

Micro-services

Applications monolithiques

Toutes les fonctionnalités dans un seul process….

Le scalling se fait en répliquant l’application complèteSur plusieurs serveurs.

Applications monolithiques

Toutes les fonctionnalités dans un seul process….

Chaque fonctionnalité de l’application se traduit par un service

Les services sont répliqués sur différents serveurs En fonction des besoins.

Une définition des micro-services

Qu’est-ce qu’un micro-service?

Les caractéristiques des micro-services

« Componentization» (Autonome / isolé)

Organisé autour de « business capabilities »

Elastique, Résiliant et « Responsive »

Orienté message et « Smart end points »

Configurable et automatisé

Gouvernance décentralisée et monitoring intelligent

La techno adaptée au besoin

Organisé autour de business capabilities

UI specialist

Middleware

dba

Front

Organisé autour de business capabilities

Un principe de base fort

« You build it,

you deploy it,

you run it »

Data Management décentralisé

Front Front

Quelle est la taille d’un micro-service ?

« Quelle est la bonne

granularité ? »

2 équipes, 10 micro-services

10 équipes, 10 micro-services

10 équipes, 100 micro-services

2 équipes, 100 micro-services

Quelques idées reçues

• Mon application est sur Docker donc elle est micro-service.• Les architectures micro-services vont résoudre tous mes problèmes.• Les applications monolithiques sont « has been ».• Les micro-services remplacent la SOA.

Une filiation avec la SOA ?

Qu’est-ce que SOA ?

Capacité d’une application à exposer sesfonctionnalités sous forme de services (web),découvrables et consommables ?

Bus de service (ESB) centralisé dans lequelbeaucoup (trop) de règles métiers ont été codéeset qui est une étape indispensable à laconsommation/ exposition d’un service ?

Micro-services

»

Architecture en couches

Architecture d’un micro-service

API

Qui dit micro-service, dit API !

2 API : API public pour communiquer avec le « monde extérieur »

API privée dite admin pour administrer, paramétrer le service

Deux techniques pour requêter un service : GetProfilesById

GET http://myapi.looksfamiliar.com/profiles/user/id/99999

GetProfilesByLocation GET http://myapi.looksfamiliar.com/profiles?location=Massachusetts

Du monolithe aux micro-services

En ai-je vraiment besoin ?

Mon organisation

est-elle mature ?

Mon infra et mes

pratiques logicielles sont-elles matures ?

Azure Service Fabric

Azure Service Fabric

Démo

Framework de développement

Reliable Service Reliable Actor

Statefull

Stateless Mono-threadFortement distribué

Peu de communication Grand nombre de

services

Compute & Etat Indépendant

Communication entre services

Gérer son état via Reliable Collections

Piloter son schéma de répartition /

distribution

Démo

Un exemple ?

• Connaissez-vous une plateforme écrite sous forme de micro-services avec Service Fabric ?

Conclusion – Containers et Micro-services

Azure VM & VM Scale Set

Azure Container Services

Azure Service Fabric

IAAS

PAAS