was ist cloud?
TRANSCRIPT
Was ist Cloud?Kristian Köhntopp Alter Sack
SysEleven
© 2015 Kristian Köhntopp
Kapitel 1: Hardware für Hipster
Hilfe, mein Computer hat zu viel Bumms!http://hpserver.by/images/detailed/1/hp_dl380p_gen8_inside_in_t7e8-xt.jpg © 2014 HP Press Material
http://hpserver.by/images/detailed/1/hp_dl380p_gen8_inside_in_t7e8-xt.jpg © 2014 HP Press Material
CPU
used 8
unused 40
RAM
used 16
unused 240
CPU
used 4
unused 44
RAM
used 8
unused 248
Java Appserver
PHP Appserver
Wir virtualisieren!5
Hardware Node
vSwitchvRouter
VM VM VM VM VM
Wir virtualisieren!6
4 Cores8 GB RAM50 GB Ephemeral Disk
8 Cores32 GB RAM50 GB Ephemeral Disk
2 TB Persistent Volume
2 Network Interfaces2 Cores4 GB RAM50 GB Ephemeral Disk
Was braucht so eine Instanz zum Booten?
• Boot Image zur Ephemeral Disk aufblasen
• Volume attachen • Netz attachen • VM starten • DHCP • Config: Hostname, Startscript
7
8 Cores32 GB RAM50 GB Ephemeral Disk
2 TB Persistent Volume
Glance
Cinder
Neutron
Nova
cloud-init
Was ist, wenn ein Host umfällt?
• Wichtig sind die persistenten Daten (das Volume)
• Der Rest kann schneller neu generiert werden als er restauriert werden kann.
• Vorbedingung: Das Setup ist vollständig automatisch generiert.
8
8 Cores32 GB RAM50 GB Ephemeral Disk
2 TB Persistent Volume
Puppet, Ansible, Salt, Chef
Mehr als ein Computer…9
CPU, RAM
StorageNetwork
OverlayUnderlay
Es ist also komplizierter…
• Underlay: • Mehrere Hosts (wieviele?), shared Storage, ausreichend
Netzwerk-Kapazität • Overlay:
• frei definierbare Netze, frei definierbarer Storage, definierbare Guests, definierbare Firewall- und Loadbalancer-Regeln
10
Hardware als Skript, Infrastructure as Code…11
»Die Cloud ist für uns alle #neuland«https://en.wikipedia.org/wiki/File:Angela_Merkel_Juli_2010_-_3zu4.jpg, Armin Linnartz
Problem 1: Storage
• Filer? • Pro: erprobte Technologie, angemessene Bandbreiten,
separates Storage-Netz. • Contra: wie skaliert das in der Größe und finanziell?
separates Storage-Netz.
• Alternativen?
13
I can haz live migration, plz?
• Ja, aber zu einem Preis. • Live migration erlaubt Reboot
im Unterlay, Korrektur von Scheduler-Fehlern, Datenrettung
• aber: Shared Storage
14
Problem 2: Netzwerk-Kapazität
• Platten und CPU in Hosts für Storage mitnutzen. • HDFS, Ceph, Quobyte, …
• 3 Kopien, mindestens eine Off-Rack • Latenz? IOPS? Bandbreite?
• Wieviel Netz ist genug?
15
Mercury Redstone Connector MR-1 (1960) https://www.flickr.com/photos/jurvetson/5691350527 Steve Jurvetson (CC-BY)
2005: 50 DL360 = 50 Cores, 50 GBit/s Netz, ~ 2 Racks
2015: 2 HE, 48 Cores, 2x 10 GBit/s Netz = ~40% Netz
Ohai, can I haz 2x 25 Gbit/s, plz?
„Be careful what you wish for!“
19
16 DL380 mit 2x 25 GBit/s pro Rack, Ceph (Symbolbild)
Top of Rack Switch
Kapazitätsproblem? Welches Kapazitätsproblem?21
18U Rack (resize vertically) 18U Rack (resize vertically) 18U Rack (resize vertically)
2x 10GBit/s Netz (2400 MB/sec) oder2x 25 GBit/s Netz(6000 MB/sec)
16x 2x 10GBit/s(320 GBit/s)
oder
16x2x 25 GBit/s(800 GBit/s)
Storage Traffic (Ost-West Traffic)(320 GBit/s, 800 GBit/s)
zum Internet (Nord-Süd Traffic)
Virtuelle Maschine
Volume
Terasort to watch the world burn22
http://www.slideshare.net/pramodbiligiri/shuffle-phase-as-the-bottleneck-in-hadoop-terasort by http://www.slideshare.net/pramodbiligiri/presentations
Meanwhile, at the Chocolate Factory…23
Google “Jupiter” Superblock, “1 Petabit/sec of total bisection bandwidth”© 2015 Google Presserelease
Konstruktionsprinzip: Leaf and Spine24
http://bradhedlund.com/2012/01/25/construct-a-leaf-spine-design-with-40g-or-10g-an-observation-in-scaling-the-fabric/
Netz >> Storage
• Sinnvoller Storage braucht also sinnvolles Netz • “Leaf and Spine” braucht eine zentrale Flow-Steuerung
• Verschiedene Hersteller haben das begriffen. • Aber es gibt keine großen, funktionierenden
Deployments.
25
Contrail26
Midonet27
Nebenbemerkung: Strom, Wärme
“With great power comes a great electricity bill…”web.de Amalienbadstrasse, Karlsruhe, (C) 2004 Kristian Köhntopp
High Density
• 6 blade centers or 16 2HU servers ~ 20kW per rack
• Luftkühlung: • “specific heat capacity”
(Erwärme 1kg um 1K) • Heißgang/Kaltgang
30
web.de Amalienbadstrasse, Karlsruhe, (C) 2004 Kristian Köhntopp
Kapitel 2: Overlay und Underlay
Scheduler, Spread Strategy32
VMHost
Scheduler, Spread Strategy32
VMHost
http://hpserver.by/images/detailed/1/hp_dl380p_gen8_inside_in_t7e8-xt.jpg © 2014 HP Press Material
CPU
used 8
unused 40
RAM
used 16
unused 240
CPU
used 4
unused 44
RAM
used 8
unused 248
Java Appserver
PHP Appserver
IMBA: Ungleichmäßiger Ressourcenverbrauch
Welche Ressource ist am knappsten?34
Ressourcen
• 48 Cores: • 256 GB RAM, 2x 10 GBit/s • 12x 3TB Disk (200 IOPS ea) oder 4x 2TB SSD (20k IOPS ea)
• pro Core (“Compute Unit”) • 5 GB RAM, 400 MBit/s, 50 IOPS Disk, 1500 IOPS SSD
35
Flavors
• “Compute Unit”: “1/48stel Rechner” • 5 GB RAM, 400 MBit/s, 50 IOPS Disk, 1500 IOPS SSD
• Flavor: • x Compute Units • Flavor i = 2* Flavor (i-1) • Kein Verschnitt
36
Isolation
• CPU Cores • RAM • Disk I/O (IOPS, MB/s) • Netz I/O (Bit/s)
37
VMHost
Quota mit Token Bucket
Arrival Rate
Volumen = Elastizität
Verbrauch
Ein Image, viele Instanzen39
H
HardwareNode
Ubuntu14.04 LTS
Appserver 1
Appserver 2
DatabaseMaster
copyon
write
download
Glance
Mehr SSD
für alle!
Ephemeral vs. Persistent Volume40
MySQLDatenbank
Master
/dev/vda
/dev/vdb
50 GBFest an der VMLebensdauer der VM
WunschgrößeDetachable/AttachableLebensdauer wählbar(billed)
MySQLDatenbank
Master
/dev/vda 50 GBFest an der VMLebensdauer der VM
MySQLDatenbank
Master
/dev/vda
/dev/vdb
50 GBFest an der VMLebensdauer der VM
WunschgrößeDetachable/AttachableLebensdauer wählbar(billed)
MySQLDatenbank
Master
/dev/vda
Floating IP41
Floating IP
Internal IP 1
Internal IP 2
MySQLDatenbank
Master
/dev/vda
/dev/vdb
50 GBFest an der VMLebensdauer der VM
WunschgrößeDetachable/AttachableLebensdauer wählbar(billed)
MySQLDatenbank
Master
/dev/vda
Floating IP41
Floating IP
Internal IP 1
Internal IP 2
ZK ZK ZKZK ZK ZK
Distributed Anything45
Distributed Anything
• “Anwesenheit feststellen” in MySQL, Redis, MongoDB, … funktioniert nicht.
• “Paxos", “Raft” oder andere beweisbare Konsensalgorithmen funktionieren (ZK, etcd, consul)
• wenn man sie korrekt anwendet• “Kyle Kingsburg Proof” (http://aphyr.com/tags/jepsen)
46
Control Systems
• Sollzustand vs. Istzustand• in derselben Paxos-Domain
• State Transition• Check, Update des Istzustands durch Messung• Selbstregulierend
47
Distributed Anything vs. Performance
• “Microservices”• “Pile of network traversals”• Disconnect, Partition• Throughput, Jitter• Asynchronous Calls? Straggler Handling? Total Jitter!• Nichtlineare Performance, nichtlineare operative
Komplexität
48
• Virtualisierung ist High Density Computing.• Das ist nicht billiger, nur anders.• Insbesondere muß man sein Netz neu bauen.• Das Thema SDN ist noch weitgehend unbearbeitet und
eine weitaus härtere Nuß als alle anderen Themen.
50
• “Infrastructure as Code” ist cool.• “Automatisierte Provisionierung”.• Netzinsuffizienz scheint durch, wird als fsync/Commit
Insuffizienz sichtbar.• “Microservices”, “distributed anything” - Vermeiden,
wenn es geht. Wenn nicht, richtig machen. Overhead!
51
52
?