Als Vorteil von Cloud-Anwendungen wird gerne die grenzenlose Skalierbarkeit angeführt. Um eine größere (Machine-Learning)-Anwendung im Produktivbetrieb am Laufen zu halten, braucht es aber mehr als der typische Werbeslogan verspricht.
Bongfish betreibt für seine Spiele eine große Machine-Learning-Anwendung in der Azure-Cloud. In diesem Vortrag zeigen wir, aus welchen Bestandteilen unser System besteht, um die Anwendung zu überwachen und welche Fallstricke uns das Leben schwer gemacht haben. Unter anderem:
* Terraform, um die verschiedenen Environments aufzusetzen
* ELK-Stack als zentraler Logging-Server und warum wir UDP als Protokoll verwenden
* Hot- und Cold-Deployment mit Jenkins, Packer, Cloudinit und Azure Scale Sets
* PostgreSQL-Datenbank und Monitoring mit pgwatch2
* Fallstricke: versteckte Limits, Fehlerhandling, Multi-Region