Einmal über den großen Teich
MongoDB in der AWS-Cloud von EU nach US
ohne Downtime migrieren
Markus Ostertag

Markus Oster...
Wer bin ich?
• Online-Business seit >15 Jahren
• Diplom-Informatik TU München
• Gründer MovieMaze.de (Verkauf 2012)
• Foku...
Übersicht

• Was ist DNTX?
• Wie wir MongoDB einsetzen
• AWS Voraussetzungen
• Architektur einer MongoDB in EC2

Markus Os...
Übersicht
• Konzept der Migration
• Die Migration
• Die Nacharbeiten
• Happy End?

Markus Ostertag - MongoDB München 2013
Markus Ostertag - MongoDB München 2013
DNTX
• DNTX = Direct Navigation Traffic Exchange
• Monetarisierung von Domain Parking Traffic
• Real Time Bidding pro Requ...
Wie wir MongoDB einsetzen
• Anfragen nach höchstem Gebot (Read)
• Tracking (Write)
• Read & Write intensiv
• Gesamtantwort...
Wie wir MongoDB einsetzen
• 4 Shards (je ein Replica Set mit 3 Maschinen)
• 7 MongoS + 3 Configserver
• Read Preference
„s...
Wie wir MongoDB einsetzen
• 600 Feedrequests/Sek. (~52 Mio./Tag)
• Avg. 4k DB-Queries/Sek. (Peaks: 20k/Sek.)
• Avg. 500 DB...
AWS Voraussetzungen
• Entscheidung für Amazon Web Services
• VPC als „Trusted Environment“
• Availability Zones und Region...
Architektur einer MongoDB in EC2

• Eine VPC mit 3 Availability Zones
• Primary über Priority (rs.conf()) verteilen
Markus...
Sprung über den Teich

Markus Ostertag - MongoDB München 2013
Konzept der Migration

Markus Ostertag - MongoDB München 2013
Die Migration
• Datenmenge reduzieren
• Balancer abschalten
• Jedem Shard einen „Transfer-MongoD“ als
„hidden“ Secondary h...
Die Migration

Markus Ostertag - MongoDB München 2013
Die Migration
• „Transfer-MongoD“ stoppen
• Snapshots ziehen und nach US kopieren

• Snapshots in US starten
Markus Ostert...
Die Migration

• Sync ausgehend von Transfer-MongoDs
• Alle (12) neuen MongoDs in US starten
• Sync von den jeweiligen Tra...
Die Migration – Kritischer Teil
• Migration der Config-Server
–Snapshots in EU -> Copy in US starten
–Alle MongoS stoppen ...
Die Migration – Kritischer Teil
• Switch der Application von EU nach US (DNS)
• Switch der Secondaries nach US
cfg = rs.co...
Die Migration – Kritischer Teil
• Switch der Primaries nach US
• Zur Sicherheit:
–Neuaufbau der Connections triggern
–EU l...
Die Nacharbeiten
• Monitoring der US-Systeme
• VPN-Verbindung trennen
• EU abschalten
• Security Groups anpassen

Markus O...
Happy End?

• Probleme:
–VPN-Instanzen und der Netzwerkdurchsatz
–Ohne Downtime ist ein Config-Serverumzug
nicht möglich (...
Happy End?
• Fazit:
– Vorarbeit
– Geduld
– Hidden Secondaries helfen!

Markus Ostertag - MongoDB München 2013
Links

• IPSec zwischen zwei VPCs:
http://aws.amazon.com/articles/5472675506466066
• MongoDB-Whitepaper von Amazon:
http:/...
• Mail: markus@teaminternet.de
• Xing: http://xing.to/mo
• Linkedin:
http://de.linkedin.com/in/ostertag

Markus Ostertag -...
Nächste SlideShare
Wird geladen in …5
×

Einmal über den großen teich MongoDB in der aws-cloud von eu nach us nahezu ohne downtime migrieren

503 Aufrufe

Veröffentlicht am

Einen aktiven Cluster in einen anderen Kontinent zu migrieren ist selbst in der Cloud und damit ohne den Transport von physischen Servern eine große Aufgabe. Die Anforderung, dass das Ganze mit nahezu keiner Downtime geschehen und bis zum Abschalten dauerhaft in den MongoDB geschrieben werden muss, machte es für uns nicht einfacher... Wie wir das Problem mit genauer Planung und viel Vorarbeit bewältigt haben ist Thema dieses Talks.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
503
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
55
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Einmal über den großen teich MongoDB in der aws-cloud von eu nach us nahezu ohne downtime migrieren

  1. 1. Einmal über den großen Teich MongoDB in der AWS-Cloud von EU nach US ohne Downtime migrieren Markus Ostertag Markus Ostertag - MongoDB München 2013
  2. 2. Wer bin ich? • Online-Business seit >15 Jahren • Diplom-Informatik TU München • Gründer MovieMaze.de (Verkauf 2012) • Fokus auf Skalierung und AWS • Seit 11/2012 bei Team Internet als Head of Development (Advertiser Products) Markus Ostertag - MongoDB München 2013
  3. 3. Übersicht • Was ist DNTX? • Wie wir MongoDB einsetzen • AWS Voraussetzungen • Architektur einer MongoDB in EC2 Markus Ostertag - MongoDB München 2013
  4. 4. Übersicht • Konzept der Migration • Die Migration • Die Nacharbeiten • Happy End? Markus Ostertag - MongoDB München 2013
  5. 5. Markus Ostertag - MongoDB München 2013
  6. 6. DNTX • DNTX = Direct Navigation Traffic Exchange • Monetarisierung von Domain Parking Traffic • Real Time Bidding pro Request • DNTX als Marktplatz zwischen Parkingplattform und Advertiser Markus Ostertag - MongoDB München 2013
  7. 7. Wie wir MongoDB einsetzen • Anfragen nach höchstem Gebot (Read) • Tracking (Write) • Read & Write intensiv • Gesamtantwortzeit < 500ms Markus Ostertag - MongoDB München 2013
  8. 8. Wie wir MongoDB einsetzen • 4 Shards (je ein Replica Set mit 3 Maschinen) • 7 MongoS + 3 Configserver • Read Preference „secondaryPreferred“ • Application Server in node.js Markus Ostertag - MongoDB München 2013
  9. 9. Wie wir MongoDB einsetzen • 600 Feedrequests/Sek. (~52 Mio./Tag) • Avg. 4k DB-Queries/Sek. (Peaks: 20k/Sek.) • Avg. 500 DB-Inserts/Sek. (Peaks: 2k/Sek.) • Avg. 400 DB-Updates/Sek. (Peaks: 2k/Sek.) Markus Ostertag - MongoDB München 2013
  10. 10. AWS Voraussetzungen • Entscheidung für Amazon Web Services • VPC als „Trusted Environment“ • Availability Zones und Regions Markus Ostertag - MongoDB München 2013
  11. 11. Architektur einer MongoDB in EC2 • Eine VPC mit 3 Availability Zones • Primary über Priority (rs.conf()) verteilen Markus Ostertag - MongoDB München 2013
  12. 12. Sprung über den Teich Markus Ostertag - MongoDB München 2013
  13. 13. Konzept der Migration Markus Ostertag - MongoDB München 2013
  14. 14. Die Migration • Datenmenge reduzieren • Balancer abschalten • Jedem Shard einen „Transfer-MongoD“ als „hidden“ Secondary hinzufügen –priority:0, hidden:true, votes:0 • Warten… Markus Ostertag - MongoDB München 2013
  15. 15. Die Migration Markus Ostertag - MongoDB München 2013
  16. 16. Die Migration • „Transfer-MongoD“ stoppen • Snapshots ziehen und nach US kopieren • Snapshots in US starten Markus Ostertag - MongoDB München 2013
  17. 17. Die Migration • Sync ausgehend von Transfer-MongoDs • Alle (12) neuen MongoDs in US starten • Sync von den jeweiligen Transfer-MongoDs rs.syncFrom("transfer-mongodshard1-us") • Warten… • Neue MongoS und Application-Server in US Markus Ostertag - MongoDB München 2013
  18. 18. Die Migration – Kritischer Teil • Migration der Config-Server –Snapshots in EU -> Copy in US starten –Alle MongoS stoppen und mit den neuen Config-Servern (US) starten -> Downtime von wenigen Minuten • Gesamtsystem dupliziert Markus Ostertag - MongoDB München 2013
  19. 19. Die Migration – Kritischer Teil • Switch der Application von EU nach US (DNS) • Switch der Secondaries nach US cfg = rs.conf(); cfg.members[0].votes = 1 cfg.members[0].priority = 1 cfg.members[0].hidden = false rs.reconfig(cfg) Markus Ostertag - MongoDB München 2013
  20. 20. Die Migration – Kritischer Teil • Switch der Primaries nach US • Zur Sicherheit: –Neuaufbau der Connections triggern –EU läuft per VPN noch mit Markus Ostertag - MongoDB München 2013
  21. 21. Die Nacharbeiten • Monitoring der US-Systeme • VPN-Verbindung trennen • EU abschalten • Security Groups anpassen Markus Ostertag - MongoDB München 2013
  22. 22. Happy End? • Probleme: –VPN-Instanzen und der Netzwerkdurchsatz –Ohne Downtime ist ein Config-Serverumzug nicht möglich (MongoS müssen alle down sein) Markus Ostertag - MongoDB München 2013
  23. 23. Happy End? • Fazit: – Vorarbeit – Geduld – Hidden Secondaries helfen! Markus Ostertag - MongoDB München 2013
  24. 24. Links • IPSec zwischen zwei VPCs: http://aws.amazon.com/articles/5472675506466066 • MongoDB-Whitepaper von Amazon: http://aws.amazon.com/whitepapers/mongodb-on-aws/ • MongoDB on AWS (10Gen): http://docs.mongodb.org/ecosystem/platforms/amazonec2/ Markus Ostertag - MongoDB München 2013
  25. 25. • Mail: markus@teaminternet.de • Xing: http://xing.to/mo • Linkedin: http://de.linkedin.com/in/ostertag Markus Ostertag - MongoDB München 2013

×