01. Juli 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

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.

Mehr erfahren
Rüesch_Conrad_Special
Die Digitalisierung braucht agile Strategieprozesse

Althergebrachte Strategiezyklen werden den Anforderungen an die digitale Welt nicht mehr gerecht. Transformationsprozesse stellen völlig neue Anforderungen an die Art und Weise, wie die Strategie in Unternehmen entwickelt werden muss. Ständige Iterationen machen den Unterschied.

Mehr erfahren
Handling the Communication Channel Shift to Social Media
How to Mine Gold: Handling the Communication Channel Shift to Social Media

Data being the gold of the 21st century is a given fact by now. Still, most companies do not have a strategy on how to handle social media data, even though it has become the main channel of client communication. To tackle this problem, we recently carried out a ti&m garage with a major Swiss bank.

Mehr erfahren
Dog 750x410
On the Internet, Nobody Knows You're a Dog – Identification with OpendIDConnect, the Prelude to Unique OAuth Authorization

When considering authentication, the first thing people think of is identity. However, with the use of new authentication frameworks applied to current business cases, essential security requirements seem to get neglected. Thus, it might just happen that we lose our identity on the internet. This article is part of a series based on different user’s feedback dealing with fundamental security concepts applied to the applicability of authentication and authorization protocols such as OAuth and OpenIDConnect.

Mehr erfahren
Code Camp 750x410
The Night Is There for Coding: Here's What Happened at Our 30 Hour Code Camp.

During the last week of October, the very first ti&m code camp took place. 25 surfers, that’s what we call our agile employees, signed up to code for 30 hours and to resolve several technical challenges. Here’s what happened.

Mehr erfahren