Torsten Laser - IT Service Management

Artikel und Berichte für einen sicheren und stabilen IT Betrieb

Was ist eigentlich FinOps?

Bild mit altmodischer IT-Ausstattung
Photo by Alex Motoc on Unsplash

Es geht ein neue Abkürzung durch die IT-Welt: FinOps. Doch was ist das eigentlich?

Das Aufkommen und die zunehmende Nutzung von öffentlichen Cloud-Diensten hat Unternehmen aller Größenordnungen enorme Vorteile gebracht. Cloud-Dienste von Amazon Web Service, Google Cloud Platform oder Microsoft Azure ermöglichen eine schnelle Einrichtung und Bereitstellung von IT-Lösungen. Entwickler können mit einem Prototyp ihrer Idee klein anfangen und die Anwendung skalieren, sobald sie mehr Nutzer hat. Auch Geschäftsanwender können ihre Ideen mit Cloud-Diensten prototypisch umsetzen, ohne die IT-Abteilung fragen zu müssen. Es müssen keine teuren Server gekauft, keine Datenbanklizenzen erworben und keine Firewalls geöffnet werden. Sie können Ihre Umgebung nach Ihren Bedürfnissen aufrüsten, Sie haben ein Rechenzentrum, das jederzeit zur Verfügung steht. Mit einem Account bei Ihrem bevorzugten Cloud-Anbieter sind Sie startklar.

All dies ist eine großartige Möglichkeit, Innovationen in einem Unternehmen zu ermöglichen und voranzutreiben. Auch Nicht-IT-Mitarbeiter werden in die Lage versetzt, digitale Lösungen zu implementieren, zu testen, zu veröffentlichen und auch wieder zu verwerfen.

Auf den zweiten Blick…

Bei alle Freude über die vielen Vorteile der Cloud, gibt es auch eine zweite Seite der Medaille, sobald nämlich die monatliche Rechnung im Briefkasten liegt, wird der ein oder andere schockiert auch seinen Cloud-Träumen erwachen. Warum ist meine Rechnung so hoch? Was ist schief gelaufen, wenn ich nur einen On-Demand-Server, eine kleine Datenbankinstanz und eine Firewall eingerichtet habe? Zu Beginn eines Projekts ist es oft schwierig, die anfallenden Kosten realistisch abzuschätzen. In vielen Fällen wird das Budget überzogen. Woran liegt das?

Inwieweit FinOps hier helfen kann, möchte ich in diesem Beitrag skizzieren.

Viele IT-Teams sind es nicht gewohnt, sich laufend mit den Kosten auseinanderzusetzen und diese zu kontrollieren. Solange man sich im eigenen Rechenzentrum befindet, war die Beschaffung von Hardware ein einfacher Prozess.

Mit Public-Cloud-Services können die Ausgaben außer Kontrolle geraten, da sich niemand wirklich um die variablen Ausgaben kümmert. Ehemalige Gatekeeper wie Finanzen, Controlling oder Beschaffung mit ihren mühsamen und zeitaufwändigen Prozessen gibt es – Gott sei Dank – nicht mehr. Umgebungen werden eingerichtet, aber in einigen Fällen werden diese Umgebungen nicht mehr genutzt, sie werden nicht mehr gewartet, man vergisst sie und sie werden zu teuren Lost (IT-) Places…

Bild eines verlassenen Ortes
Photo by Denny Müller on Unsplash

Die Rechnungen landen weiter in Ihrem Briefkasten. Früher oder später wird der Leiter der Finanzabteilung an Ihre Tür klopfen und nach Gründen fragen. Dies wird wahrscheinlich kein angenehmes Gespräch werden.

Die Finanzabteilung ist auf die Cloud-Welt nicht vorbereitet. Der Wandel ist notwendig, da sich riesige Beträge und Budgets von Investitionen (CapEx) zu wiederkehrenden Betriebskosten (OpEx) verschieben.

Die Lösung ist FinOps

FinOps, Financial Operations, Cloud Financial Operations sind die gleiche Bezeichnung für ein neues IT- und Finanzmodell. Es wurde als Reaktion auf die strukturelle Volatilität der öffentlichen Cloud-Dienste geschaffen. FinOps ist eine Veränderung der Denkweise, Teil eines kollektiven Umdenkens in den Technologiesektoren unserer Welt.

Es ist eine Best Practice zur Überwindung von Silos innerhalb von Organisationen. DevOps ist ein ähnliches Beispiel für die Verbesserung der Zusammenarbeit und Verantwortlichkeit zwischen Softwareentwicklung und IT-Betrieb.

Diese neu geschaffene Verbindung zwischen ehemals getrennten Abteilungen führt zu einer stärkeren gegenseitigen Kommunikation und verfeinert letztlich viele Stufen der internen Lieferkette des Unternehmens.

Die Vorteile von FinOps

  • Finanzielle Rechenschaftspflicht für das variable Ausgabenmodell der Cloud
  • Verfeinert viele Stufen der internen Lieferkette
  • Befähigung der Teams, geschäftliche Kompromisse zwischen Geschwindigkeit, Kosten und Qualität zu schließen
  • Verschiebung der kulturellen Praxis, eine Möglichkeit für Teams, ihre Cloud-Kosten zu verwalten, bei der jeder Einzelne die Verantwortung für seine Cloud-Nutzung übernimmt
  • Die Teams erhalten mehr finanzielle Kontrolle und Vorhersehbarkeit
  • Verbessert die funktionsübergreifende Kommunikation
  • Erleichtert die gemeinsame Nutzung von Finanz- und Nutzungsinformationen

Jeder kann (und sollte) sich beteiligen

  • Executives, z.B. CIO, CTO und CFO
  • Finance & Procurement – Strategische Einkäufer, Financial Business Advisor
  • Product Owner wie z.B. Cloud Analysts und Business Analysts
  • Development & Engineering – Lead Software Engineers
  • Operations – System Engineers, Administratoren, DBAs

FinOps ist weder ein Prozess noch ein Service sondern ein Lösungsrahmen. Die FinOps-Foundation ist eine Non-Profit-Organisation für alle Unternehmen, die das FinOps-Modell anwenden.

Die Grundlage von FinOps bildet ein zirkuläres Modell mit drei Phasen:

Inform, Optimize and Operate

Bild mit den Prozess-Schritten von FinOps
Der FinOps-Zyklus (Quelle: www.finops.org)

FinOps – Gain more financial control and predictability over your cloud spend. Ensure you get the most value out of every dollar spent in cloud.

Finops.org

Was ist mit Ihnen? Haben Sie schon von FinOps gehört? Denken Sie, dass es ein hilfreiches Modell ist?

Teilen Sie gern Ihre Gedanken und Meinungen in den Kommentaren 👇👇⬇️👇⬇️⁉️❇️

Wie Facebook aus dem Internet verschwand

Am 4. Oktober 2021 gegen 18:30 Uhr MESZ kam ein großer Teil der digitalen Welt zum Stillstand. Das Zuckerberg-Imperium war für seine Nutzer nicht mehr erreichbar. Whatsapp, Facebook und Instagram waren offline und mein Traum als Privatsphären-Enthusiast wurde endlich wahr 😀

Doch was war eigentlich passiert? Wenn Sie sich für die Ursachen dieser Facebook-Katastrophe interessieren, empfehle ich Ihnen diesen Blogartikel von Cloudfare, einem großen Netzwerkanbieter:

https://blog.cloudflare.com/october-2021-facebook-outage/

Der Artikel ist sehr technisch geschrieben, gibt aber einen erschreckenden Überblick darüber, wie abhängig wir von großen Plattformen geworden sind und wie anfällig ihre Infrastruktur ist.


Haben Sie den Ausfall bemerkt? Lassen Sie es mich in den Kommentaren wissen.

„IT service management is not going away, but will rather continue to evolve to meet the needs of businesses. Emerging technologies like cloud services may help streamline processes, automate software deployments or facilitate remote work, but the need for managing services to the expectations of businesses will remain.“

Corona als Chance für die Digitalisierung

Das Corona-Virus hält immer noch die ganze Welt in Atem. Staaten wurden heruntergefahren, das öffentliche Leben nahezu eingestellt, teilweise wurden Grundrechte eingeschränkt (Shutdown oder Lockdown). Auch wenn sich die Lage zwischenzeitlich etwas entspannt hat, bleibt das weitere Infektionsgeschehen unübersichtlich. Doch in all dem Trubel voller Unsicherheiten und Unwägbarkeiten gibt es auch positive Nachrichten. Strenge Hygienevorschriften und Social Distancing sorgen für ungekannte Lösungen: Die Großmutter etwa, die zum ersten Mal zum Smartphone greift, um mit ihren Enkeln per Videocall in Kontakt zu bleiben. Lieferdienste, nicht nur für Pizza, sondern für alle Artikel des täglichen Lebens erleben einen wahren Boom. Die in kürzester Zeit entwickelte Corona-App der Bundesregierung wurde mittlerweile millionenfach heruntergeladen. Und dies sind nur drei sehr plakative Beispiele.

Schon immer waren Krisen Triebfeder für Veränderungen. In puncto Digitalisierung setzt die Corona-Pandemie aktuell eine Entwicklung in Gang, die ansonsten Jahre oder Jahrzehnte gedauert hätte. 

Noch 2019 waren die Deutschen das Volk, das europaweit mit am häufigsten auf Bargeld setzte. Laut EHI wurden im vergangenen Jahr rund drei Viertel aller Einkäufe im stationären Handel bar bezahlt. Aus hygienischen Gründen bitten die Supermärkte aktuell darum, per Karte zu bezahlen, um das Personal und Kunden zu schützen. Die Barzahlung wurde damit stark zurückgedrängt – noch vor wenigen Monaten wäre das undenkbar gewesen.

Digitalisierung ist die seit den 1970er Jahren laufende Umwandlung von analogen Inhalten und Prozessen hin zu digitalen Formaten und Arbeitsweisen. Die Vorteile liegen klar auf der Hand: Digitale Daten können beliebig vervielfältigt und verteilt werden, sind kostengünstiger, können durchsucht und mit deutlich weniger Platzaufwand gespeichert werden. In puncto Sicherheit gibt es aber auch Risiken. Sind Daten digital verfügbar, können Hacker theoretisch darauf Zugriff erlangen. Jahrelang hegten Betriebsräte, ITler, Datenschutzbeauftragte und Manager genau aus diesem und anderen Gründen Bedenken gegenüber der Digitalisierung von Prozessen – wie etwa der Heimarbeit.

Im Angesicht der Corona-Krise wurden diese Befürchtungen schnell über Bord geworfen, denn die Geschäftstätigkeit vieler Unternehmen konnte nur durch Homeoffice bzw. mobiles Arbeiten erhalten bleiben. Selten ging ein Paradigmenwechsel in der Arbeitswelt so schnell. Das mobile Arbeiten wurde alternativlos und Firmenchefs erkannten, dass die Energie der Arbeitnehmer im Homeoffice viel ungestörter in die eigentliche Aufgabe fließt – statt in den Arbeitsweg oder den Bürotratsch. Die Unternehmen könnten sogar langfristig an dieser Regelung festhalten, denn der befürchtete Produktivitätseinbruch ist bislang nicht zu verzeichnen. Darüber hinaus schont die Heimarbeit auch noch die Umwelt. 

Gleiches gilt für viele Lehreinrichtungen: Universitäten, die früher auf Anwesenheitspflicht und Präsenzveranstaltungen Wert legten, bieten heute Lehrveranstaltungen im Internet an. Studenten können ihre Hausarbeiten digital einreichen und an virtuellen Vorlesungen im Netz teilnehmen. Weiterbildungen von Arbeitnehmern finden zunehmend in der Form des „e-Learnings“, also als Videokurse statt. Selbst der sensible Bereich des Gesundheitswesen steht vor großen Umbrüchen. Die Krankschreibung per Telefon wurde bereits während der Corona-Pandemie eingeführt und immer mehr Ärzte bieten Sprechstunden per Chat oder Video an.

Was vor kurzem noch unmöglich schien, ist heute Realität. Die Krise hilft uns also, alte Denkmuster zu hinterfragen und neue, digitale Wege zu beschreiten. Für eine nachhaltige gemeinsame Zukunft nach Corona.

DevOps Glossar – Teil 2

Hier folgt der zweite Teil des DevOps Glossars (der erste Teil findet sich hier). Ein einheitliches Verständnis der Begrifflichkeiten fördert und vereinfacht die tägliche Zusammenarbeit.

Continuous Deployment

Continuous Deployment ist die Automatisierung der Schritte, um Änderungen am Quellcode in definierter und wiederholbarer Art und Weise zu veröffentlichen. Dadurch wird die Vorlaufzeit für neue Features einer Software verkürzt und ermöglicht, vollautomatisiert neue Software-Releases zu veröffentlichen. Es ist kein manueller Verteilungsprozess mehr erforderlich.

Produkte wie Jenkins, Ant und Travis CI unterstützen das Continuous Deployment von Software.

Continuous Integration

Mit einer kontinuerlichen Integration meint man, das täglich mehrfach durchzuführende „Mergen“ von Code-Änderungen in die „Main Version“ des Versionkontrollsystems. Dadurch will man erreichen, dass Integrationsprobleme bereits nach geringen Code-Anpassungen erkannt werden.  Im Nachgang ist sichergestellt, dass die Entwickler immer auf der gleichen „Baseline“ des Codes arbeiten. Versionskonflikte werden so verringert oder ganz eliminiert. 

Continuous Integration profitiert vom Auftrennen der Funktionalitäten in kleinere Teile oder Aspekte, die vollständig programmiert werden und dann einfacher in die „Main Version“ übernommen werden können.

Continuous Learning

Lernen durch die bei der täglichen Arbeit gemachten Erfahrungen und die Notwendigkeit sich lebenslang weiterzubilden und die eigenen Fähigkeiten zu verbessern, wird unter dem Begriff „ContinuousLearning“ zusammengefasst.

„Continuous Learning“ kann auf drei Ebenen stattfinden:

Auf der individuellen Ebene, wo ein einzelner Mitarbeiter daran arbeitet, seine Fähigkeiten zu erweitern und zu verbessern. Das kann durch einfaches Fragenstellenerfolgen, wenn der Mitarbeiter eine Aufgabe nicht versteht oder wenn er an einer Schulung oder einem Weiterbildungsprogramm teilnimmt.

„Continuous Learning“ bezieht sich jedoch keineswegs nur auf das individuelle Lernen. Mentoring und Lehre kann ebenfalls eine Rolle in der eigenen Weiterentwicklung durch „Continuous Learning“ spielen.

Auf Team-Ebene nutzen und teilen die Team-Mitglieder ihr gemeinsames Wissen und ihre Erfahrungen, um das Team voranzubringen. Dies kann auch bedeuten, „Best Practices“ zu implementieren, die das Lernen und den Wissenstranfer erleichtern. Dazu zählen sog. Retrospektiven oder Team-Fragestunden.

Schließlich gibt es die unternehmensweite Ebene, auf der „Continuous Learning“ die Überprüfung und Erstellung von Policies und Prozessen bedeutet, um die Geschäftsziele zu erreichen. Dazu muss internes und externes Feedback von Mitarbeitern und Kunden gesammelt, zusammengetragen und ausgewertet werden.

Idempotency

Idempotency beschreibt die Möglichkeit im Konfigurationsmanagement, eine Operation oder einen Code mehrfach auszuführen, ohne unbeabsichtigte oder unerwünschte Auswirkungen. Wenn man beispielsweise auf seiner Konfigurationsmanagement-Plattform festgelegt hat, dass die Webserver den Apache installieren, wird der Apache nur genau einmal installiert, unabhängig davon, wie oft der Konfigurationsmanager gegen einen Server in dieser Gruppe ausgeführt wird.

Die meisten Tools für das Konfigurationsmanagement sind idempotent, z.B. Ansible, Chef, Puppet und Salt.

Infrastructure as Code

Hiermit ist die Möglichkeit gemeint, Infrastruktur durch maschinenlesbare Dateien zu beschreiben und damit alle Parameter eines Systems oder einer Serverumgebung eindeutig zu definieren und beliebig oft  wiederherstellen zu können.

Bei Chef heißen die Dateien Recipes, bei Puppet Manifeste.

Das Konfigurationsmanagement-Werkzeug ist in der Lage, die Parameter zu ermitteln und neu erzeugte Server mit diesen Parameter zu installieren.

Ansible, Chef, Puppet und Salt implementieren alle das Konzept von „Infrastructure as code“, um Systeme zu konfigurieren, bereitzustellen und zu warten.

Infrastructure as a Service (Iaas)

Bei der Nutzung von IaaS wird kein eigenes Rechenzentrum benötigt, auch ein Housing in einem fremdem Rechenzentrum ist nicht mehr erforderlich. Anbieter von „Infrastructure as a Service“ betreiben Hardware, Server und Speicher, der kundenspezifisch angepasst werden kann. Auf dieser Plattform lassen sich Applikationen, Websites, Datenbanken, Cloudspeicher u.ä. betreiben. Der Aufwand für das Management der Plattform, des Netzwerkes und der Server liegt beim IaaS-Anbieter. Die Anbieter haben meistens nur reine Server-Instanzen mit einer Basisinstallation eines Betriebssystems im Angebot. Darauf müssen Kunden ihre Anwendungen dann selbst installieren, konfigurieren und für eine ausreichende IT-Security sorgen.

Microservices

Unter Microservices versteht man eine Service-orientierte Architektur, die die verschiedenen Komponenten einer Applikation nur lose koppelt. Kleinere Services können vielfältiger genutzt und wiederverwendet werden als komplexe Servicestrukturen. Microservices bilden die Grundlage für das Konzept der „Continous Integration“, da Entwickler kleinere Teile einer Applikation risikoloser und schneller in die Produktion bringen können als komplexe Software-Module.

Mutable/Immutable Infrastructure

Mutable Infrastructure bezeichnet eine Infrastruktur, die aktualisiert, geändert und adaptiert werden kann. Mutable Infrastructure ist langlebig und wird nicht vollständig ausgetauscht im Falle einer Aktualisierung der darauf betriebenen Softwarekomponenten. Im Gegensatz dazu gibt es „Immutable infrastructure“, die nicht geändert wird. Stattdessen wird die Instanz oder der Container neu aufgebaut, wenn Änderungen durchzuführen sind. Die alte Instanz wird dann beendet bzw. gelöscht.

Orchestration

Das automatisierte Management von Serverlandschaften, Software oder IT-Services wird als Orchestration bezeichnet. Dazu werden vorbereitend sog. Policies definiert und später genutzt, um Workflows, Serverinstallationen, Server-Wartungen und -skalierungen, je nach Anforderung, automatisch durchführen zu können.

Bekannte Werkzeuge zur Orchestrierung sind Chef und Puppet, für die Orchestrierung von Containern wird Kubernetes oder Docker genutzt.

Provisioning

Provisioningbezeichnet sämtliche Vorbereitungen und Tätigkeiten, um einen Server bereitzustellen. Dazu gehören die Installation des Betriebssystems und der benötigten Dienste sowie Konfigurationseinstellungen und weitere Aufgaben, bevor ein Server in die Produktionsumgebung integriert wird.

Serverless

Serverlose (serverless) Architekturen erlauben es Entwicklern ihren Code direkt an einen Service abzugeben, der die erforderliche Infrastruktur bereitstellt. Serverless Architekturen nutzen Dienste wie „Backend as a service“ oder „Function as a service“ von Drittanbietern. Damit müssen sich Entwickler nur noch um ihren Code kümmern und nicht mehr um die zugrundeliegende Infrastruktur.

AWS Lambda and Azure Functions von Microsoft sind zwei populäre Serverless-Dienste.

Test-Driven Development

Hierunter versteht man einen Ansatz in der Softwareentwicklung bei dem zuerst ein Test programmiert wird, danach wird die Funktionalität programmiert und gegen den erstellten Testfall geprüft. Wenn der Testfall nicht bestanden wird, wird der Code iterativ verbessert, bis der Testfall erfolgreich durchlaufen wird. Durch dieses Vorgehen werden Entwickler ermutigt, die Anforderungen zunächst zu durchdenken und vollständig zu verstehen, bevor die erste Zeile Code geschrieben wird.

« Ältere Beiträge
Diese Website benutzt Google Analytics. Bitte klicke hier wenn Du nicht möchtest dass Analytics Dein Surfverhalten mitverfolgt. Hier klicken um dich auszutragen.