gesamtbild design, entwicklung, betrieb, messung

Werbung
GESAMTBILD
MICROSERVICES
DESIGN, ENTWICKLUNG, BETRIEB, MESSUNG,
MONITORING, ALERTING
Róbert Bräutigam, MATHEMA So ware GmbH.
1
INHALT
Warum überhaupt Microservices und DevOps?
So ware Design
Entwicklung
Packaging
Testing
Rollout
Monitoring
Alerting
2
WARUM ÜBERHAUPT?
Monolitische Deployments werden immer Legacy Systeme
Auch wenn sie am Anfang schön sind
Kommunikationsbarrieren verlangsamen
Manuelle Prozesse sind langsam und instabil
Lösung:
Kleine Deployments
Schön, aber wenn nicht, einfach ersetzbar
Ein Team für alles, keine Barrieren
Alles automatisiert
3
SOFTWARE DESIGN
So wenig Dependencies wie nur möglich!
Abgekapselt und ausführbar
Alle Services können unterschiedliche Technologien
einsetzen
Wenn doch die meisten Java machen, Clients anbieten
Protocol
Client
Server
4
ENTWICKLUNG
JayWire: "Dependency Injection"
Spark: Web
Hystrix: Reliability
5
PACKAGING
Archiv starten mit java -jar
Alle abhängigkeiten bundlen!
Nicht nur Jars, sondern JDK, OS, Einstellungen etc.
Docker
6
DOCKER
Image
Beinhaltet
Repository
Beinhaltet
Registry
Aus
Container
7
WIRD LANGSAM ZU VIEL...
Zeit für Automatisierung
8
TESTING
Funktionale Tests
Update Tests
Rollback Tests
...
Performance Tests (Gatling)
9
WIRD LANGSAM ZU VIEL...
Zeit für Pipelines
10
ROLLOUT
Continuous deployment: immer am Ende Deployen
Nicht nur Produktion, sondern: Development, Test
Umgebungen, usw.
Rollback einbauen!
Technologien:
Ansible
Puppet
(Docker)
11
MONITORING
Infrastruktur
Inhaltlich
Technologien:
ELK Stack: ElasticSearch, LogStash, Kibana
Alternativ: Graphite
Alternativ: Grafana
12
ALERTING
Watcher (schön, aber Bezalso ware)
ElastAlert (keine GUI, von Yelp!)
13
DISKUSSION, FRAGEN?
14
DANKE!
Robert Bräutigam, MATHEMA So ware GmbH.
15
Herunterladen