01. July 2019

Der ideale Workload für die Cloud – Buildprozesse mit Spot-Instanzen

cloud_bank_now_aws_blog

Eine der ersten Fragen, die sich im Cloud Kontext stellt, ist: Welche Workloads eignen sich für den ersten Schritt in die Cloud? Lesen Sie im Folgenden, weshalb Build- und Test-Prozesse für Software-Artefakte besonders geeignet sind und was es basierend auf den Erfahrungen aus unserem Projekt mit der BANK-now zu beachten gilt.

Wenn sich ein Unternehmen dafür entschieden hat, Cloud Services zu nutzen, müssen zuerst die zu migrierenden Workloads identifiziert werden. Der entsprechende Workload sollte aus Business-Sicht unkritisch sein, keine Compliance oder Datenschutzprobleme verursachen und halbwegs isoliert von anderen Systemen sein, um die Integration zu vereinfachen.

Ein naheliegender Kandidat für einen solche Workload sind CI/CD-Prozesse, im speziellen Build- und Test-Prozesse für Software-Artefakte. Sie sind aus Compliance-Sicht völlig unproblematisch, da sie keinerlei Daten im Sinne des Datenschutzgesetzes enthalten und ein fehlerhafter Build mag zwar ärgerlich sein, ist aber nur selten Business-kritisch. Diese Prozesse sind auch noch aus einem anderen Grund prädestiniert für ein Cloud Deployment: Sie produzieren hohe Last in einem begrenzten Zeitfenster.

 

Mit Spot-Instanzen lassen sich Kostenvorteile erzielen

Für unseren Kunden BANK-now in Horgen am Zürichsee durften wir in den letzten Monaten ein Projekt realisieren, bei dessen Entwicklung uns Cloud-Dienste sehr von Nutzen waren. Speziell haben wir die Build Prozesse für die Software-Artefakte auf AWS implementiert und konnten so die knappen on-premise Ressourcen deutlich entlasten. Da ausschliesslich Build-Prozesse in der Cloud implementiert und keinerlei Daten dort gespeichert wurden, war die Auslagerung dieser Tasks auch aus Compliance-Sicht unproblematisch. 

Aufgrund der Load-Charakteristik konnten zudem preiswerte Spot-Instanzen genutzt werden, die deutlich billiger sind als on-demand Instanzen. Spot-Instanzen zeichnen sich dadurch aus, dass AWS damit seine nicht genutzten Ressourcen zu Discountpreisen anbietet. Die Preise werden laufend der aktuellen Last im AWS Data Center angepasst. Die Preisfindung funktioniert wie an einer Börse. Als Kunde bietet man einen Maximalpreis und bekommt dann den Zuschlag, wenn der aktuelle Preis unterhalb der definierten Schwelle liegt. Die realisierbaren Preisvorteile liegen typischerweise bei 60 bis 80% im Vergleich mit on-demand Instanzen. Der Haken bei der Sache ist, dass AWS etwa 5 bis 20% der Instanzen eigenständig terminiert, weil die Ressourcen etwa für höherpreisige on-demand Instanzen benötigt werden.

 

Es kommt auf das Design der Workloads an

Um nun trotz des Damoklesschwerts der vorzeitigen Terminierung die Workloads erfolgreich abarbeiten zu können, müssen die Workloads entsprechend konzipiert werden. Im Umfeld von Spot-Instanzen bieten sich dafür folgende Strategien an:

  • Die Workload, in diesem Fall die Build Jobs, müssen so gestaltet sein, dass sie nach einer Terminierung durch AWS selbständig und nur mit geringem Verlust wiederanlaufen können. 
  • Die Build Jobs sind dabei so zu schneiden, dass eine zufällige Terminierung nur wenig bereits geleistete Arbeit vernichtet.
  • Mittels Termination Notice kann AWS Cloud Watch zwei Minuten vor der eigentlichen Terminierung die betroffene Spot-Instanz in einen sicheren, wiederanlauffähigen Zustand versetzen und die bereits geleistete Arbeit sichern.
  • Durch die Definition von Block Durations kann eine Spot-Instanz von vornherein so angefordert werden, dass AWS sie für die spezifizierte Zeitdauer von einer bis sechs Stunden sicher nicht vorzeitig terminieren wird. Eine solche Reservation ist jedoch kostenpflichtig.

AWS bietet so effiziente Mittel, um dafür geeignete Workloads wie Build Jobs sehr kostengünstig abzuwickeln. Da gerade grosse Build Jobs in der Regel hohe CPU- und Memory-Anforderungen haben, sind Spot-Instanzen eine ideale Lösung. Die internen IT Ressourcen werden entlastet, ohne die signifikanten Kosten von grossen Compute-Instanzen in der Cloud tragen zu müssen. 


Bernd  Leinfelder
Bernd Leinfelder

Bernd Leinfelder ist seit 2016 System Architekt bei ti&m. Er verfügt über langjährige Erfahrungen in Softwareentwicklung und System Engineering. Neben seiner Tätigkeit bei ti&m leitet er den Fachbereich Enterprise Computing an der Fernfachhochschule Schweiz und doziert dort zu Robustheit und Wartbarkeit verteilter Software. Er hält diverse Zertifizierungen in den Bereichen Cloud Computing, IT-Security und IT-Audit.

Weitere Beiträge

mind reader 750x410
Are you a mind reader?

Are millennial men the right target group for a Pampers marketing campaign? Of course - if they have children. Anticipating what the customer wants is like mind reading. This is now possible by analyzing customer behavior and situations.

find more information
Trust 750x410
Authentication Is Good, Trust Is Better. What About Trusting Delegated Identity?

Trust in a relationship is a must and this is not only holds true for private lives but also in the virtual life. While trustworthiness for established authentication protocols is mainly based on agreement between entities, certificates and keys, trust in the identity delegation context is ambiguous because the owner might not be the consumer of the API. This post addresses some trust concerns when introducing protocols based on identity delegation that de-facto lead to an identity paradigm shift.

find more information
Impressionen von der App Builders Switzerland
Impressionen von der ersten App Builders Konferenz der Schweiz

Die Schweiz hat mit der App Builders Konferenz einmal mehr bewiesen, dass sie ein iOS-Land ist. In diesem Artikel geht es um die Impressionen der „App Builders Switzerland 2016“, der ersten Schweizer Konferenz von Entwicklern für Entwickler in Europa.

find more information
Lead_boxer
Who will win the Hybrid Multi-Cloud War?

The hybrid multi-cloud is radically changing the IT world as we know it. Although the concept is still at its infancy, several opponents are already vying for supremacy over this new cloud world. In this blogpost, we analyze exactly how these rivals differ and where their strengths and weaknesses lie.

find more information
2017_04_artificial-intelligence
Artificial Intelligence: Taking a Closer Look

Rapid advancements in and around our current state as a species have always challenged us to innovate new technologies: from farming to transportation, building to space exploration. Right now, Artificial Intelligence is experiencing a revolution. But how do you build such an advanced intelligence? Let’s take a closer look at history and some basics.

find more information