TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch

13
SOA @ NINE.CH PHILIPP KOSTER PHILIPPE HÄSSIG 1

Transcript of TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch

SOA @ NINE.CHPHILIPP KOSTER PHILIPPE HÄSSIG

1

SOA? MICROSERVICES?

SOAUnabhängige Applikationen mit komplett eigener Business Logik

MicroserviceKleine Services mit genau einem spezifischen Task, die zusammen eine Business Logik abbilden

2

LEGACY APPLIKATION

• PHP Anwendung aus Anfang 2000er• Keine Tests, wenig Struktur

3

LEGACY APPLIKATION

Stats-Connector• Ruby on Rails App• JSON API• Implementiert z.B. auch Power Actions

4

DEAMONS● Schreibt Konfiguration für DHCP-Server● Konfiguration muss neu geschrieben werden,

wenn sich Netzwerk-Konfiguration von Infrastruktur ändert

● Daten kommen aus Stats

● Lose Kopplung● Asynchrone Kommunikation

AMQP

5

KUBA

• Verwaltung von Kunden- und Produktdaten

• Identifikation von Produkten über URN

• Aktive Produkte eines Kunden via JSON-API abrufbar

6

URNS

Identifikation von Ressourcen durchUniform Resource Name

urn:nine:server:1234

“URN Service” zum schnelleren Auffinden von Metadaten

7

VERWENDUNG VON APIS

● Applikation verwenden API● Alles Ruby Applikationen

● Anbindung der API wird mit einem Ruby-Gem “infrastructure-client” vereinfacht.

8

VERWENDUNG VON APIS● Einheitliche und komfortable Verwendung:

● Bei Anpassungen an API einfach infrastructure-client anpassen, neue Version releasen und Applikationen bei Bedarf updaten

9

Gesamtsystem

10

PROS & CONS

VORTEILE

• Kleine abgekapselte Apps• Deployment einfacher, weil kleine Apps• Verteilt: Wenn etwas kaputt geht, geht

nicht alles kaputt• Skalierbarkeit

NACHTEILE

• Development Abhängigkeiten• Überblick behalten• Maintenance• Komplexeres Gesamtsystem

11

CONCLUSION

• Standardisieren: Alle Apps möglichst gleich aufbauen (z.B. Ruby on Rails, JSON, ...)

• Monolithen im Zaum halten• Infrastruktur für effizientes Deployment

aufbauen (ChatOps, Puppet, Docker, etc.)• Tests, Tests, Tests, Tests, … !• Tests!!

12

Kundenname, PräsentationstitelNine Internet Solutions AGAlbisriederstr. 243aCH-8047 Zürich

Tel +41 44 637 40 00Fax +41 44 637 40 [email protected]

VIELEN DANK FÜR’S ZUHÖREN

13