Microservices für .Net Entwickler - BridgingIT...

70
Microservices für .Net Entwickler

Transcript of Microservices für .Net Entwickler - BridgingIT...

Page 1: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservices für .Net Entwickler

Page 2: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Tobias Meier

Lead Softwarearchitekt Microsoft

Standort Nürnberg

Königtorgraben 11

90402 Nürnberg

Standort Zug/Schweiz

Baarerstraße 14

CH-6300 Zug

Standort Mannheim

N7, 5-6

68161 Mannheim

Standort Karlsruhe

Rüppurrer Straße 4

76137 Karlsruhe

Standort Stuttgart

Marienstraße 17

70178 Stuttgart

Standort München

Riesstraße 12

80992 München

Standort Frankfurt

Solmsstraße 4

60486 Frankfurt

Standort Köln

Waidmarkt 11

50676 Köln

Wir bringen Dinge zusammen

http://blog.bridging-it.de/author/Tobias.Meier [email protected] @bitTobiasMeier

Page 3: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Agenda

Status quo

Was sind Microservices

Service Fabric Cluster

Entwickeln für Service Fabric 1

Pause: Essen

Entwickeln für Service Fabric 2

Page 4: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Viele reden von Microservices,

wer entwickelt bereits

Microservices ?

Page 5: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 6: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 7: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 8: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 9: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 10: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Monolitische Architektur

Schichten Architektur

Wächst und wächst …

Skalierung über Hardware

bzw. VMs <=> DB Locks

Page 11: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservice-Architektur

Kleine, unabhängige Services

Eigener Prozess

Leichtgewichtige Kommunikation

Unabhängige, automatisierte Installation

Verschiedene Technologien und/oder Programmiersprachen möglich

Unabhängige Datenspeicherung

Minimaler zentralisierter Managementaufwand

Page 12: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

“In short the microservice architectural style [...] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. “

Martin Fowler, https://martinfowler.com/articles/microservices.html

Page 13: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservice = SOA Done right

= SOA + DDD + Patterns

Patterns: Autonome Services, Bounded Context, Event Driven Design, Continuous Delivery, …

Page 14: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

„Ok, dann teilen wir unseren Monolithen in hunderte Services auf.“

Page 15: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Auch verteilte Anwendungen haben Nachteile …

Page 16: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Komplexität von verteilten Anwendungen

Gesamtanwendung hat viele Abhängigkeiten

Komplexität der Orchestrierung

Daten-Konsistenz

Höherer Entwicklungsaufwand

Kommunikation untereinander

Netzwerklatenz

Versionierung von Schnittstellen

Abwärtskompatibilität

Welche Version ist installiert ?

Testbarkeit ist schwerer

Page 17: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

The Art of Scalability: Scale Cube

http://theartofscalability.com/

X: Horizontale Skalierung

Y: F

unktionale

Skalie

rung

Page 18: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservices in der Microsoft-Welt

Container Services: http://aka.ms/acs

Azure Functions: https://functions.azure.com/try

Service Fabric

Page 19: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Aufbau Service Fabric

Microservice

WebAppOwin

Microservice

WebAppAsp.Net Core

Windows Container

Guest Executable

Reliable Actor API Reliable Service API

Service Fabric

On-Premise Azure

Windows Server LinuxWindows Server Linux

Microservice

Java

Microservice

Hosted in Container

Page 20: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric: Platform as a service

Microsoft nutzt Service Fabric:

Azure Core Infrastructure

Azure Sql Database

Bing Cortana

Document Db

Event Hubs

IoT-Suite

Skype for Business

Page 21: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 22: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleDemo der fertigen Anwendung

Page 23: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Cluster Lokal

Entwicklungs-Cluster

http://localhost:19080/

Page 24: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispielanwendung

Benutzer kann sich registrieren

Thumbnails von Fotos werden angezeigt

Fotos können hochgeladen werden.

Aktuell nur Command-Line-Interface: Benutzer wählt ein Foto aus und bewertet es.. Zusätzlich können auch Kommentare geschrieben werden.

Angedacht: Wenn ein Foto im Detail aufgerufen wird, werden alle

Kommentare angezeigt. Authentification / Authorization

Page 25: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric

PhotoAward.Platform

StatelessWebApi und

Fileserver

PhotoAward.MemberManagement

Statefull Service

PhotoAward.PhotoManagement

Statefull Service

PhotoAward.Thumbnail

Stateless Service

PhotoAward.PhotoActor

Actor Service

PhotoAward.MemberActor

Actor Service

Me

mb

erA

ctor.

Inte

rfaces

Ph

oto

Acto

r.

Inte

rfaces

Thu

mb

naiil.

Inte

rfaces

Me

mb

erM

anagem

en

t.

Inte

rfaces

Ph

oto

Man

agem

en

t.

Inte

rfaces

Ports: 8200, 8443

Co

nso

le.C

lien

tP

ho

toA

ward

Ap

p(A

ngu

lar2)

API-Gateway

Page 26: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Cluster On Azure

https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-

fabric-cluster-creation-via-portal.md

Vorbereitungen

Evtl. Ressourcengruppe

erstellen

Evtl. Key Vault anlegen

Zertifikat eintragen

Durchführung

Service Fabric Wizard starten

Page 27: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Vorbereitungen: Key Vault

LoginPS C:\> Login-AzureRmAccount

Key Vault anlegen PS C:\> New-AzureRmKeyVault -VaultName 'westeuropeVault' -

ResourceGroupName 'servicefabricdemo' -Location 'Westeurope' –EnabledForDeployment

Vault Name : westeuropevault

Resource Group Name : servicefabricdemo

Location : Westeurope

Resource ID : /subscriptions/00000000-0000-0000-0000-

000000000000/resourceGroups/servicefabricdemo

/providers/Microsoft.KeyVault/vaults/westeuropevault

Vault URI : https://westeuropevault.vault.azure.net

Tenant ID : 11111111-1111-1111-1111-111111111111

Page 28: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Vorbereitungen: Testzertifikat hinzufügen

Download Hilfsskripte: https://github.com/ChackDan/Service-Fabric/tree/master/Scripts/ServiceFabricRPHelpers

ImportPS C:\> Import-Module "C:\Projekte\Service-Fabric-

master\Scripts\ServiceFabricRPHelpers\ServiceFabricRPH

Testzertifikat erzeugenPS C:\> Invoke-AddCertToKeyVault -SubscriptionId

$SubID -ResourceGroupName "servicefabricdemo" -Location "westeurope"

-VaultName "mywesteuropevault"

-CertificateName "bitdemophotoappcertificate1"

-CreateSelfSignedCertificate

-DnsName "bitdemophotoawardapp.westeurope.cloudapp.azure.com"

-OutputPath "c:\Certificates"

Page 29: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Vorbereitungen: Testzertifikat hinzugefügt

Name : CertificateThumbprint

Value : 885BE4B2E6F80FD32A022E5087B2EAE5311FDEB8

Name : SourceVault

Value : /subscriptions/00000000-0000-0000-0000-

000000000000/resourceGroups/servicefabricdemo/providers/Microsoft.KeyVau

lt/vaults/westeuropevault

Name : CertificateURL

Value :

https://westeuropevault.vault.azure.net:443/secrets/bitdemophotoappcertif

icate1/22223333222222221111222211112222

Page 30: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric Cluster anlegen (1 / 5)

Page 31: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric Cluster anlegen (2 / 5)

Page 32: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric Cluster anlegen (3 / 5)

Page 33: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric Cluster anlegen (4 / 5)

Page 34: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Service Fabric Cluster anlegen (5 / 5)

Page 35: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Stateless Service

Zustandsloser Service

Typisches Modell für heutige Webanwendungen

Daten können extern gehalten werden Sql Datenbank

DocumentDB

Azure Storage

Page 36: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Reliable Service API

Stateless oder Statefull Service

Naming Service

Zugriff auf Service Fabric APIs

Modelle zum Data-Upgrade

Zuverlässigkeit

Reliability

Verfügbarkeit

Availability

Skalierbarkeit

Scalability

Beständigkeit

Consistency

Page 37: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Visual Studio immer als Admin starten

Page 38: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleHello World

Web API ProjektRNDemo

Lokales Cluster

Page 39: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 40: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Statefull Service

Zustand bleibt auch nach Neustart erhalten

Synchronisation über Replicas

StateManager

Reliable Collection

Transaktionen

Page 41: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleStatefull Service

Page 42: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Reliable Collectionsusing (var tx = StateManager.CreateTransaction()){

var members = await StateManager.GetOrAddAsync<IReliableDictionary<string,Person>>("members");

await members.AddOrUpdateAsync(tx, person.Email, person, (key, p) => person);

person.Email = person.Email.ToUpper();

await tx.CommitAsync();}

ToUpper() wird NICHT übernommen

Page 43: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Reliable Collectionsusing (var tx = StateManager.CreateTransaction()){

var members = await StateManager.GetOrAddAsync<IReliableDictionary<string,Person>>("members");

person.Email = person.Email.ToUpper();

await members.AddOrUpdateAsync(tx, person.Email, person, (key, p) => person);

await tx.CommitAsync();}

ToUpper() wird übernommen

Page 44: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Tipp: Objekte sollten Immutable sein

Private Setter

System.Collections.Immutable

https://www.nuget.org/packages/System.Collections.Immutable

Page 45: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Immutable Collection[DataContract]public sealed class PersonData{public PersonData(string name, IEnumerable<string> emails){this.Name = name;Emails = (emails== null) ? ImmutableList<string>.Empty :emails.ToImmutableList();

}[DataMember] public readonly string Name;[DataMember] public IEnumerable<string> Emails { get; private set; }

[OnDeserialized]private void OnDeserialized(StreamingContext context){Emails = Emails.ToImmutableList();

}}

Page 46: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Reliable Actors

Page 47: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Actor: Lifecycle

Automatisch erzeugt

Können manuell explizit gelöscht werden

Akteuere können „schlafen gelegt“ werden

Page 48: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Knoten 1

Reliable Actors

Partition 1

Partition 2

Partition 3

Knoten 2

Partition 1

Partition 2

Partition 3

Actor Proxy

Knoten 3

Partition 1

Partition 2

Partition 3

Client (Statefull Service, weitere Actor, …)

Page 49: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Actor erzeugen

var data = …

var photoActorId = ActorId.CreateRandom();

var client = this._actorClientFactory.CreateClient(photoActorId);

await client.SetPhoto(data, CancellationToken.None);

await tx.CommitAsync();

Page 50: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Actor löschen

var svc = (IActorService) this.ActorService;

await svc.DeleteActorAsync(this.Id, cancellationToken);

Page 51: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleActor-Service

Page 52: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Backup and Restore

Ableitung vom Actor Service

Methode BackupAsync aufrufen

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-platform

https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-reliable-services-backup-restore.md

Page 53: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Actor: Timer

Wrapper um .Net Timer

RegisterTimer

Nach Beendigung des Callbacks startet das nächste Zeitfenster

Unregister Timer

„Schlafen gelegte“ Actors erhalten keinen Timeraufruf

Page 54: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Actor: Reminder

Reminders werden auch zu bestimmten Zeitpunkten ausgelöst

Sie werden IMMER ausgelöst

public class ToDoListActor : Actor, IPhotoAwardActor, IRemindable{

public Task ReceiveReminderAsync(string name, byte[] context, TimeSpan dueTime, TimeSpan period){

if (name("Abgabetermin")){

int amountToPay = BitConverter.ToInt32(context, 0);System.Console.WriteLine("Please pay your cell phone bill of ${0}!", amountToPay);

}return Task.FromResult(true);

}}

Page 55: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleDemo: Statefull Actor

Page 56: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Dependency Injection und Unit Tests

Asp WebApi kann Dependency Injection verwenden

In sonstigen Services nicht benötigt!

Mock-Klassen für StateManager, ReliableCollections,

Transaktionen u.ä. manuell schreiben

Page 57: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Beispiel ModuleDemo: Unit Testing

Page 58: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Update

Application Version erhöhen

Code Version erhöhen

Evtl. Data Version erhöhen

Page 59: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Continuous Delivery

TFS 2017 und TFS Online Eigene ServiceFabric Tasks für Build

und Release:

Versionsnummer setzen

Deployment

Page 60: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

1. Endpunkt im TFS definieren

Page 61: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

2. Continous Delivery erzeugen …

Page 62: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

3. Build Template bearbeiten

Page 63: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

3. Build Template bearbeiten (Ergebnis)

Page 64: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

4. Release Template

Page 65: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln
Page 66: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Vertrag§1. Service 1 §1.1. Schnittstelle§1.2. Daten

Page 67: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservices für .Net Entwickler

Service Fabric bietet leistungsfähige

Plattform mit Z-Scale

Alles hat seinen Preis

Continous Delivery von Anfang an

Clustererstellung skripten

Clusterplanung ist komplex

Page 68: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Microservices für .Net Entwickler

Out of Scope

Authentication und Authorization

Partitionierung der Daten

Backup / Restore

Docker

Page 69: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Understanding Azure –a guide vor developers

http://aka.ms/adg

Service Fabric SDK

http://aka.ms/ServiceFabricSDK

Beispiele von Microsoft

http://aka.ms/ServiceFabricSamples

Case Studies

https://blogs.msdn.microsoft.com/azureservicefabric/

tag/case-study/

Beispielanwendung

http://blog.bridging-it.de/author/Tobias.Meier

Page 70: Microservices für .Net Entwickler - BridgingIT GmbHblog.bridging-it.de/.../2017.04-microservices_rn.pdf · 2019-08-05 · Was sind Microservices Service Fabric Cluster Entwickeln

Vielen Dank

Email: [email protected] Twitter: @bITTobiasMeier

Blog: http://blog.bridging-it.de/author/Tobias.Meier