Wie viel geben Sie für die Infrastruktur aus? Und wie können Sie dabei sparen?

Wie viel geben Sie für die Infrastruktur aus? Und wie können Sie dabei sparen?

Definitiv haben Sie sich gefragt, was die Infrastruktur Ihres Projekts kostet. Dabei ist es bemerkenswert: Das Wachstum der Ausgaben ist im Verhältnis zu den Lasten nicht linear. Viele Geschäftsinhaber, CTOs und Entwickler haben unterschwellig das Gefühl, dass sie zu viel bezahlen. Aber wofür genau?

In der Regel beschränkt sich die Kostenreduzierung darauf, die günstigste Lösung zu finden, den AWS-Tarif oder, wenn wir von physischen Server-Racks sprechen, die Hardware-Konfiguration zu optimieren. Zudem kümmert sich faktisch jeder darum, wie es ihm gerade passt: Bei einem Start-up ist das wahrscheinlich der leitende Entwickler, der genug andere Sorgen hat. In größeren Unternehmen übernimmt dies oft der CMO/CTO, gelegentlich mischt sich der Geschäftsführer zusammen mit dem Hauptbuchhalter persönlich ein. Im Grunde sind es diejenigen, die auch genug „eigene“ Sorgen haben. Und so kommt es, dass die Infrastrukturausgaben steigen, aber sich damit beschäftigt... niemand, der dafür Zeit hat.

Wenn im Büro Toilettenpapier gekauft werden muss, kümmert sich der Hausmeister oder eine verantwortliche Person aus dem Reinigungsteam darum. Bei der Entwicklung — die Leads und CTOs. Der Vertrieb — ist auch alles klar. Aber seit den alten Zeiten, als man „Serverraum“ einen Schrank nannte, in dem ein klassischer Tower-PC mit etwas mehr Arbeitsspeicher und ein paar Festplatten im RAID standen, ignorieren alle (oder zumindest viele) die Tatsache, dass der Einkauf von Kapazitäten ebenfalls von einer speziell ausgebildeten Person erledigt werden sollte.

Leider zeigt die historische Erfahrung, dass diese Aufgabe jahrzehntelang auf „zufällige“ Personen abgewälzt wurde: Wer gerade zur Stelle war, kümmerte sich um das Problem. Erst kürzlich hat sich auf dem Markt der Beruf des FinOps konkretisiert und gewisse Konturen angenommen. Dies ist genau die speziell ausgebildete Person, deren Aufgabe es ist, den Einkauf und die Nutzung von Kapazitäten zu überwachen. Und letztendlich auch, die Kosten des Unternehmens in diesem Bereich zu senken.

Wir werben nicht dafür, auf teure und effektive Lösungen zu verzichten: Jedes Unternehmen muss selbst entscheiden, was es für ein komfortables Bestehen in Bezug auf Hardware und Cloud-Tarife benötigt. Aber man kann nicht ignorieren, dass der gedankenlose Einkauf "von der Liste" ohne anschließende Kontrolle und Analyse der Nutzung für viele Unternehmen letztendlich in sehr erheblichen Verlusten aufgrund ineffizienter Verwaltung der „Assets“ ihres Backends resultiert.

Was ist FinOps?

Nehmen wir an, Sie haben ein solides Unternehmen, über das die Vertriebler mit Begeisterung „Enterprise“ sagen. Wahrscheinlich haben Sie „von der Liste“ ein Dutzend Server, AWS und noch ein paar Kleinigkeiten erworben. Das ist auch logisch: In einem großen Unternehmen gibt es ständig irgendwelche Bewegungen – einige Teams wachsen, andere fallen auseinander, wieder andere wechseln zu benachbarten Projekten. Und diese Kombination von Bewegungen zusammen mit dem Einkaufsmechanismus „von der Liste“ führt letztendlich zu neuen grauen Haaren, wenn man die nächste monatliche Rechnung für die Infrastruktur betrachtet.

Was also tun – weiterhin geduldig graue Haare bekommen, sie übermalen oder sich mit den Gründen für das Erscheinen dieser zahlreichen schrecklichen Nullen in der Rechnung befassen?

Was soll man sagen: Die Genehmigung, die Zustimmung und die direkte Bezahlung eines Antrags innerhalb des Unternehmens für den gleichen AWS-Tarif ist nicht immer (in der Realität – fast nie) schnell. Und gerade wegen der ständigen Unternehmensbewegung kann ein Teil dieser Anschaffungen irgendwo „verloren“ gehen. Und einfach nur stillstehen. Wenn ein aufmerksamer Administrator eine herrenlose Rack in seinem Serverraum bemerkt, ist die Situation bei Cloud-Tarifen weitaus trauriger. Diese können monatelang „auf Eis“ stehen – bezahlt, aber gleichzeitig bereits in der Abteilung, für die sie angeschafft wurden, nicht mehr benötigt. Währenddessen beginnen die Kollegen aus dem Nachbarraum, ihre noch nicht ergrauten Haare nicht nur auf dem Kopf, sondern auch an anderen Körperstellen zu reißen – ihnen kann seit Wochen nicht etwa der gleiche benötigte AWS-Tarif bezahlt werden.

Was ist die naheliegendste Lösung? Genau, die Zügel an die Bedürftigen abzugeben, und alle sind zufrieden. Nur funktionieren die horizontalen Kommunikationswege nicht immer gut. Und die zweite Abteilung weiß möglicherweise einfach nicht von dem Reichtum der ersten, das sich als nicht so besonders notwendig herausgestellt hat.

Wer ist daran schuld? — Eigentlich niemand. So ist es nun einmal eingerichtet.
Wer leidet darunter? — Alle, die gesamte Firma.
Wer kann die Situation verbessern? — Ja, genau, FinOps.

FinOps ist nicht nur eine Schnittstelle zwischen Entwicklern und der benötigten Hardware, sondern eine Person oder ein Team, das genau weiß, wo, was und wie gut die Cloud-Tarife, die das Unternehmen gekauft hat, „liegen“. Tatsächlich sollten diese Menschen eng mit DevOps auf der einen Seite und der Finanzabteilung auf der anderen Seite zusammenarbeiten und die Rolle eines effektiven Vermittlers und, was am wichtigsten ist, eines Analysts übernehmen.

Ein wenig über die Optimierung

Clouds. Relativ günstig und sehr praktisch. Aber diese Lösung hört auf, günstig zu sein, wenn die Anzahl der Server zweistellig oder dreistellig wird. Außerdem bieten Clouds die Möglichkeit, immer mehr Dienste zu nutzen, die zuvor nicht verfügbar waren: Datenbanken als Dienst (Amazon AWS, Azure Database), serverless Anwendungen (AWS Lambda, Azure Functions) und viele andere. Sie sind alle großartig, weil sie einfach zu benutzen sind — gekauft und losgelegt, keine Probleme. Doch je tiefer das Unternehmen und seine Projekte in die Clouds eindringen, desto schlechter schläft der Finanzdirektor. Und desto schneller wird der Geschäftsführer grauer.

Die Sache ist die, dass die Rechnungen für verschiedene Cloud-Dienste immer extrem verworren sind: für einen einzelnen Posten kann eine dreiseitige Aufschlüsselung kommen, wofür, wohin und wie Ihr Geld ausgegeben wurde. Das ist zwar schön, aber sich darin zurechtzufinden, ist praktisch unmöglich. Unserer Meinung nach sind wir in dieser Frage keineswegs allein: Um Cloud-Rechnungen in menschliche Sprache zu übersetzen, gibt es ganze Dienste, wie zum Beispiel www.cloudyn.com oder www.cloudability.com. Wenn sich jemand die Mühe gemacht hat, einen separaten Dienst zur Aufschlüsselung von Rechnungen zu schaffen, dann ist das Ausmaß des Problems größer als die Kosten für Haarfarbe.

Was tut FinOps in dieser Situation:

  • versteht genau, wann und in welchen Mengen Cloud-Lösungen gekauft wurden.
  • weiß, wie diese Kapazitäten genutzt werden.
  • verteilt sie je nach Bedarf der jeweiligen Abteilung neu.
  • kauft nichts „zum Spaß“.
  • und spart letztendlich Ihr Geld.

Ein ausgezeichnetes Beispiel ist die cloudbasierte Speicherung einer Kaltkopie der Datenbank. Archivieren Sie sie beispielsweise, um den benötigten Speicherplatz und den Datenverkehr bei der Aktualisierung des Speichers zu reduzieren? Ja, in einem bestimmten Einzelfall mag die Situation unbedeutend erscheinen, aber die Summe solcher unbedeutenden Situationen führt letztendlich zu unvertretbaren Ausgaben für Cloud-Services.

Oder eine andere Situation: Sie haben Kapazitäten bei AWS oder Azure für den Fall bestellt, dass Sie Spitzenlasten nicht bewältigen können. Kann man sich sicher sein, dass dies die optimale Lösung ist? Schließlich, wenn diese Instanzen 80 % der Zeit untätig sind, verschenken Sie einfach Geld an Amazon. Zumal es für solche Fälle bei AWS und Azure sogenannte 'burstable' Instanzen gibt – warum sollten Sie also Server im Leerlauf betreiben, wenn Sie ein Werkzeug zur Lösung von genau diesen Spitzenlast-Problemen nutzen können? Statt On-Premise Instanzen könnten Sie auch auf Reserved schauen – diese sind viel günstiger und es gibt sogar Rabatte darauf.

Übrigens, zu den Rabatten

Wie bereits zu Beginn erwähnt, kümmert sich oft irgendjemand um die Einkäufe – die Person ist gefunden, und dann wird das schon irgendwie laufen. Am häufigsten werden solche 'Verantwortlichen' von bereits stark beschäftigten Personen ernannt, und letztendlich haben wir eine Situation, in der jemand schnell und kompetent, aber völlig eigenständig entscheidet, was und in welchen Mengen gekauft werden soll.

Doch beim Kontakt mit einem Verkäufer des Cloud-Dienstes können Sie günstigere Konditionen erhalten, wenn es um den Großkauf von Kapazitäten geht. Es ist klar, dass solche Rabatte bei einer automatisierten, leisen und einseitigen Bestellung nicht möglich sind – aber ein Gespräch mit einem echten Verkaufsmanager könnte sich lohnen. Diese Herren können auch sagen, wofür es derzeit Rabatte gibt. Das kann ebenfalls nützlich sein.

Dabei sollte man nicht vergessen, dass nicht nur AWS oder Azure in Betracht kommen. Natürlich ist die Einrichtung eines eigenen Rechenzentrums nicht zur Debatte, aber es gibt auch Alternativen zu diesen beiden klassischen Lösungen der Giganten.

Zum Beispiel hat Google für Unternehmen die Plattform Firebase bereitgestellt, mit der man ein ähnliches Mobilitätsprojekt „schlüsselfertig“ umsetzen kann, das möglicherweise eine schnelle Skalierung erfordert. Mit Hilfe dieser Lösung sind Speicher, Echtzeitdatenbanken, Hosting und Cloud-Datensynchronisierung an einem Ort verfügbar.

Auf der anderen Seite, wenn wir nicht von einem monolithischen Projekt, sondern von deren Gesamtheit sprechen, ist eine zentralisierte Lösung nicht immer vorteilhaft. Wenn das Projekt langlebig ist, eine eigene Entwicklungsgeschichte hat und die entsprechende Menge an Daten gespeichert werden muss, sollte man über eine fragmentarischere Platzierung nachdenken.

Bei der Optimierung der Ausgaben für Cloud-Dienste können Sie plötzlich erkennen, dass für geschäftskritische Anwendungen auch leistungsstärkere Tarife erworben werden können, die dem Unternehmen ein unterbrechungsfreies Einkommen sichern. Gleichzeitig ist es nicht ideal, das »Erbe« der Entwicklung, alte Archive, Datenbanken usw. in teuren Clouds zu speichern. Denn für solche Daten ist auch ein Standard-Rechenzentrum mit herkömmlichen HDDs und durchschnittlicher Hardware ohne spezielle Extras vollkommen ausreichend.

Hier kann man wieder denken, dass „das ganze Geschichtemachen es nicht wert ist“, aber die Problematik dieses Beitrags basiert darauf, dass zu verschiedenen Zeitpunkten die Verantwortlichen Details vernachlässigen und es sich bequemer und schneller machen. Was letztendlich nach ein paar Jahren in den besagten Horror-Rechnungen resultiert.

Was kommt dabei heraus?

Clouds sind grundsätzlich großartig, sie lösen eine Menge Probleme für Unternehmen jeder Größe. Dennoch führt die Neuheit dieses Phänomens dazu, dass wir immer noch keine Kultur des Verbrauchs und des Managements haben. FinOps ist ein organisatorischer Hebel, der dabei hilft, die Cloud-Ressourcen effizienter zu nutzen. Das Wichtigste ist, diese Position nicht in eine Art Exekutionsteam zu verwandeln, dessen Aufgabe es ist, unaufmerksame Entwickler auf frischer Tat zu ertappen und sie für die ungenutzten Ressourcen zu „tadeln“.

Entwickler sollten entwickeln und nicht das Geld des Unternehmens zählen. Und FinOps sollten sowohl den Prozess des Kaufs als auch den Prozess der Abschreibung oder Übertragung von Cloud-Ressourcen an andere Teams zu einem einfachen und angenehmen Ereignis für alle Beteiligten machen.

Quelle: habr.com

60GB SSD 8Gb DDR4