SOA @ NINE.CH
PHILIPP KOSTER 

PHILIPPE HÄSSIG
1
SOA? MICROSERVICES?
SOA
Unabhängige
Applikationen mit
komplett eigener
Business Logik
Microservice
Kleine 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 durch

Uniform 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äsentationstitel
Nine Internet Solutions AG
Albisriederstr. 243a
CH-8047 Zürich
Tel +41 44 637 40 00
Fax +41 44 637 40 01
info@nine.ch
VIELEN DANK FÜR’S
ZUHÖREN
13

TechTalkThursday 14.04.2016: Service Oriented Architecture @nine.ch

  • 1.
    SOA @ NINE.CH PHILIPPKOSTER 
 PHILIPPE HÄSSIG 1
  • 2.
    SOA? MICROSERVICES? SOA Unabhängige Applikationen mit kompletteigener Business Logik Microservice Kleine Services mit genau einem spezifischen Task, die zusammen eine Business Logik abbilden 2
  • 3.
    LEGACY APPLIKATION • PHPAnwendung aus Anfang 2000er • Keine Tests, wenig Struktur 3
  • 4.
    LEGACY APPLIKATION Stats-Connector • Rubyon Rails App • JSON API • Implementiert z.B. auch Power Actions 4
  • 5.
    DEAMONS ! Schreibt Konfigurationfü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
  • 6.
    KUBA • Verwaltung vonKunden- und Produktdaten • Identifikation von Produkten über URN • Aktive Produkte eines Kunden via JSON-API abrufbar 6
  • 7.
    URNS Identifikation von Ressourcendurch
 Uniform Resource Name urn:nine:server:1234 “URN Service” zum schnelleren Auffinden von Metadaten 7
  • 8.
    VERWENDUNG VON APIS !Applikation verwenden API ! Alles Ruby Applikationen ! Anbindung der API wird mit einem Ruby-Gem “infrastructure-client” vereinfacht. 8
  • 9.
    VERWENDUNG VON APIS !Einheitliche und komfortable Verwendung: ! Bei Anpassungen an API einfach infrastructure- client anpassen, neue Version releasen und Applikationen bei Bedarf updaten 9
  • 10.
  • 11.
    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
  • 12.
    CONCLUSION • Standardisieren: AlleApps 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
  • 13.
    Kundenname, Präsentationstitel Nine InternetSolutions AG Albisriederstr. 243a CH-8047 Zürich Tel +41 44 637 40 00 Fax +41 44 637 40 01 info@nine.ch VIELEN DANK FÜR’S ZUHÖREN 13