Verlassen der Wolke

Dec 23 2022
Es wird jetzt viel darüber geredet, dass die Cloud passe ist und nur eine teure Möglichkeit, Menschen wirklich in den Weltraum zu schicken. Ein Blogpost von David Heinemeir Hansson hat vor einiger Zeit darüber gepostet, dass er die Cloud größtenteils für neue Farbanstriche auf altem Zeug hält und sie deshalb gleich hinter sich lassen möchte.

Es wird jetzt viel darüber geredet, dass die Cloud passe ist und nur eine teure Möglichkeit, Menschen wirklich in den Weltraum zu schicken. Ein Blogpost von David Heinemeir Hansson hat vor einiger Zeit darüber gepostet, dass er die Cloud größtenteils für neue Farbanstriche auf altem Zeug hält und sie deshalb gleich hinter sich lassen möchte. Als Praktiker, der Zeit in und außerhalb der Cloud mit großen und kleinen Unternehmen verbracht hat, sind dies meine Kommentare.

Ich habe dieses Bild von DALL-E-2 erstellt

Nun ist David kein Leichtgewicht mehr. Er ist der Mann hinter Basecamp, das Millionen von Menschen nutzen. Er ist auch der Mann hinter dem weit verbreiteten Framework Ruby on Rails, das von zig Millionen Menschen verwendet wird. Er ist ein Bestsellerautor. Er ist sogar ein echter, zertifizierter Rennfahrer. Ich habe noch nie ein großes Open-Source-Projekt geschrieben und fahre nur mit dem Fahrrad an Rennstrecken vorbei, also seien wir klar – ich schnüffle auf Riesen. Meine einzige Verteidigung – ich habe einige dieser Sachen in allen möglichen Größenordnungen gemacht. Ich bin einmal auf der Wolke geboren worden, habe Zeit nur auf dem Boden verbracht und bin ein paar Mal hin und her gegangen, und das gibt mir hoffentlich eine Ansicht, die es wert ist, betrachtet zu werden.

Davis Kernargument, dass man nicht mieten sollte, was man kaufen kann, ist richtig – aber nur unter bestimmten Umständen. David selbst weist auf zwei von ihnen hin; ein neues Unternehmen ohne Kunden oder ein etabliertes Unternehmen mit sehr volatilem Wachstum, bei dem Cloud seiner Meinung nach besser ist. Sein Argument ist jedoch, dass dies die EINZIGEN beiden Fälle sind, in denen Cloud besser ist, wo er meiner Meinung nach über seinen Rennwagen stolpert.

Lassen Sie uns zunächst einige Hintergrundinformationen erhalten. David – man muss seinen Standpunkt verstehen. Das Unternehmen 37Signals ist ein kleines Unternehmen mit einem Umsatz von 7,9 Millionen US-Dollar und etwa 95 Mitarbeitern. Es hat etwa 14 Millionen Nutzer pro Monat bei etwa 150.000 zahlenden Kunden. Es ist ein profitables, stetig wachsendes Unternehmen, das nicht VC-finanziert ist und im Gegensatz zu den meisten anderen Technologieunternehmen langsames profitables Wachstum über schnelle Skalierung schätzt. Darüber haben sie immer wieder gesprochen – ihr Ideal ist eher der örtliche Lebensmittelladen als Slack oder NetFlix.

Damit ist 37Signals ein ziemlicher Ausreißer. Aus diesem Grund ist das, was für sie funktioniert, nicht immer das, was für andere funktioniert, also brauchen wir mehr Nuancen.

Skalierung ohne die Cloud

Der Artikel sagt, dass Basecamp bereits einen großen und komplexen Dienst betreibt, aber das ist nicht wirklich richtig. Soweit ich der eigenen Website von Basecamp und dem Googeln anderer Quellen entnehmen kann, hat das Unternehmen täglich 8–10 Millionen Besucher und 130.000 Konten. Dies ist nicht sehr groß; Selbst die RBL Bank, bei der ich derzeit arbeite, hat etwa 7–8 Millionen Besucher pro Monat. Darüber hinaus hat Basecamp keine Echtzeittransaktionen, eine relativ einfache Backend-Verarbeitung und viel einfachere Sicherheitsanforderungen.

David selbst sagt: „Wir haben ein Geschäftsmodell, das unglaublich gut damit kompatibel ist, Hardware zu besitzen und über viele Jahre abzuschreiben. Wachstumspfade, die größtenteils vorhersehbar sind. Fachpersonal, das seine Talente genauso gut an unseren eigenen Maschinen einsetzen könnte.“

Dieser Unterschied ist entscheidend. Die Lasten von Basecamp werden wahrscheinlich von einer Handvoll Servern verwaltet, verglichen mit über 3.000 Servern für die RBL Bank, die mehr als 40 Geschäftsbereiche betreibt. Betrieb einer vollständigen Infrastruktur mit Hunderten von Racks und Tausenden von Servern, ganz zu schweigen von Stapeln von Routern und Switches. Und es gibt all diesen Bedarf an Support rund um die Uhr. Können eine Handvoll Leute das schaffen?

Für die meisten CTOs von Unternehmen lautet die Antwort sofort nein. So viel Hardware bedeutet normalerweise. Es gibt das Server-Team mit seinen Linux-Experten, das Netzwerk-Team mit seinen Cisco-Experten, das Speicher-Team mit seinen EMC-Experten, das Virtualisierungs-Team mit seinen VMWare-Experten, das Datenbank-Team mit Oracle-Experten und so weiter. Viele Experten, viele Vorgesetzte, viel Komplexität, der man sich stellen muss.

Allerdings stimme ich David zu; das ist nicht die heutige Realität.

Die heutige Infrastruktur ist selbst vor Ort in der Regel bereits virtualisiert, und es gibt ausgereifte Tools, um jeden Aspekt weitgehend automatisiert zu verwalten, sodass ein kleines (nicht besonders erfahrenes) Team – mit etwas Hilfe von OEMs – alles tun kann, was früher eine Armee erforderte. Denken Sie daran, dass früher für eine Xerox-Maschine ein zertifizierter Bediener erforderlich war – heute kann ein Kleinkind die Taste drücken und perfekte Antworten erhalten, weil die Technologie fortgeschritten ist, Schnittstellen vereinfacht und bewegliche Teile reduziert wurden. Etwas Ähnliches ist mit Servern und Netzwerken passiert; Die meisten CIOs haben es einfach nicht bemerkt. All das einfache, integrierte Management, das heute in der Cloud verfügbar ist, ist auch einfach (und zuverlässig) vor Ort verfügbar.

Amazon und Google haben viele der von ihnen verwendeten Tools selbst hilfreich als Open Source bereitgestellt, außerdem haben die VMWares und Nuntanixs und Dells der Welt kopiert und ausgereift. Die Hyperskalare erreichen heute Server-zu-Personen-Verhältnisse in der Größenordnung von 10.000 – was bedeutet, dass eine Person 10.000 Server verwaltet. Im etwas kleineren Unternehmensmaßstab ist es immer noch problemlos möglich, ein paar tausend Server mit nur einem Cricket-Team zu verwalten. Denken Sie daran, dass wir nicht über die Unterstützung von Anwendungscode sprechen – das ist derselbe Aufwand in der Cloud oder vor Ort – sondern vielmehr über die Verwaltung der zugrunde liegenden Rechenspeicher-Netzwerkinfrastruktur.

Es gibt keine Magie. Ein vereinfachtes, virtualisiertes Hardware-Setup (alles ist von der gleichen Art) und vielseitig qualifizierte Mitarbeiter und hervorragende Management-Tools – all das haben die meisten Unternehmen in Reichweite, wenn sie es nur versuchen würden. NSE macht es in der IFSC Gift City, Zerodha macht es, Startups machen es, aber etablierte Unternehmen haben Mühe, aus bestehenden Paradigmen herauszukommen, um es auf diese Weise zu tun.

Es gibt jedoch einen Vorbehalt (und es könnte ein großer sein). Ihr Hardware-Stack muss einheitlich und relativ neu sein, damit dies funktioniert (was übrigens tatsächlich der Fall ist. Die meisten Tools und Fähigkeiten werden kompliziert oder unmöglich, es sei denn, Sie haben sich zu vereinfachten, modernisierten Stacks verpflichtet. Ein bisschen wie bei Southwest Airlines nur Eine Art Flugzeug , das ein Schlüsselelement der Strategie ist, mit der Southwest buchstäblich in die Wolken fliegt.

Spiking ohne Cloud

Davids Aussage, dass Unternehmen entweder stabil oder volatil sind, ist zu einfach. Jede komplexe Geschäftseinheit hat immer mehrere Geschäftszweige und mehrere Produkte – und damit eine Mischung aus stabil und volatil. Neue Unternehmen können klein starten und schnell skalieren oder groß gründen und noch schneller skalieren oder in beiden Größenordnungen stetig wachsen. Außerdem ist es schwierig, die Spikeness in der Zukunft vorherzusagen.

Basecamp hat den Luxus, sowohl stetiges Wachstum als auch die Vorhersagbarkeit zukünftiger Stacheln zu haben. Nach Jahren im selben Geschäft mit demselben Produkt ist es unwahrscheinlich, dass unerwartete Spitzen auftreten. Dies gilt nicht für die meisten komplexen Unternehmen, in denen ständige Neueinführungen und Einführungen die Dinge volatiler machen. Aber auch hier spricht David selbst darüber, wie sehr die Cloud ein Segen war, als sie Hey starteten – 300.000 Benutzer in Stunden statt der prognostizierten 30.000 in Monaten.

Geht das ohne die Cloud? Hier ist die Antwort nein (aber mit einigen Escape-Klauseln). On-Premise-Skalierung für ein einzelnes Unternehmen bedeutet im Wesentlichen, Kapazitäten ungenutzt zu lassen; Es gibt keine andere Möglichkeit, Kapazität nach Bedarf zu erhalten. Ein Teil der Belastung kann durch die dynamische Neuzuweisung von Ressourcen von inaktiven Anwendungen zu ausgelasteten Anwendungen verringert werden (eine Fähigkeit, die die meisten modernen On-Premise-Stacks heute haben), aber die Kapazität vor Ort ist endlich und letztendlich relativ begrenzt.

Was heute machbar ist, platzt in die Cloud. Sogar traditionelle Unternehmen haben damit begonnen, in begrenztem Umfang damit umzugehen und Massendatenverwaltungsjobs in der Cloud auszuführen, anstatt die Hardware dafür zu kaufen. Oracle und viele andere Hardware-OEMs bieten eine Möglichkeit, mit nutzungsbasierter Bezahlung über die Kernlast vor Ort hinaus in die Cloud zu expandieren – die RBL Bank hat dies in den ersten Tagen des Core-Banking-Upgrades, als viele Jobs belegt waren, intensiv genutzt viel mehr Rechenleistung bei eingeschalteter Optimierung. Nicht alle Anwendungen unterstützen dies, aber wenn Anwendungen containerisiert werden, wird dies zunehmend zur Norm.

Wenn Sie sich im Hypergrowth-Modus befinden, hilft diese ganze Burstability natürlich nicht; Sie bleiben lieber in der Cloud.

Glänzende neue Anstriche

David verbringt viel Zeit damit, darüber zu sprechen, wie Menschen in die Magie von AWS getäuscht werden. Dies scheint der Tatsache zu widersprechen, dass technologisch sehr anspruchsvolle Unternehmen (wie Capital One, Nasdaq, Slack oder Netflix) weiterhin in der Cloud sind und sich weiterhin dafür einsetzen. Netflix gibt heute etwa 12 Millionen US-Dollar pro Monat aus und hat sich öffentlich verpflichtet, bis 2025 die dreifache Zahl zu verdreifachen. Slack hat sich verpflichtet, 400 Millionen US-Dollar auszugeben. Es ist unwahrscheinlich, dass diese Unternehmen nicht nachgerechnet haben oder sich von neuen Anstrichen blenden lassen.

Was weiß also ein Netflix, was Basecamp nicht weiß? Nichts wirklich, es ist nur eine unterschiedliche Sichtweise. Was auch immer Sie in der Cloud tun, können Sie auch vor Ort tun, und es ist nicht mehr so ​​schwierig oder personalintensiv wie früher – aber es ist mehr Arbeit als in der Cloud. Basecamp priorisiert Kosteneinsparungen und ist bereit, ein paar zusätzliche Mitarbeiter für die Verwaltung des Dienstes einzusetzen. Capital One, das viel größer und auch komplexer ist, priorisiert wahrscheinlich andere Aufgaben über die Kosteneinsparungen der Cloud; Sie können sich beispielsweise dafür entscheiden, Mitarbeiter in der Produktentwicklung anstelle des Infrastrukturmanagements einzusetzen. Es ist auch eine Frage der Skalierung – wachsen Sie auf Hunderttausende von Servern und es sind nicht länger ein paar Open-Source-Tools und etwas Automatisierung.

Und dann sind da noch die Dienste. Die Cloud kann viele Dienste vollständig vorverdaut anbieten; Nehmen Sie einfach den Service in Anspruch und machen Sie sich weder um die Anwendung noch um die Infrastruktur Gedanken. Analytik, Protokollierung, Datenbank, mobiles Backend, Objektspeicherung, serverloses Webserving, Messaging – all dies ist jederzeit, auf Abruf und mit extremer Zuverlässigkeit verfügbar. Natürlich haben sie einen Aufpreis, aber auch Leute, die Autos und Häuser besitzen, mieten bei Hertz und Marriott. Der Trick besteht darin, es angemessen und klug einzusetzen und zu wissen, wann man die Miete verlassen muss.

Zusammenfassung

Die Einführung der Cloud hat viele Aspekte, einschließlich der Kosten. Unternehmen, die Agilität benötigen, müssen einen Fuß in der Cloud behalten. Der Umgang mit nicht zum Kerngeschäft gehörenden Anliegen mit nicht zum Kerngeschäft gehörenden Fähigkeiten bläht schließlich die Belegschaft einer Organisation auf. Cloud ist keine Wunderwaffe – es ist eine mächtigere Wahl in einem Waffenarsenal. Die Zeit, in der IAAS das Ziel ist, ist lange vorbei. Wechseln Sie nur dann in die Cloud, wenn Sie bereit sind, Cloud-nativ zu sein – containerisiert, DevOps, horizontal skaliert usw.

Wichtige Lektionen:

  • Legen Sie die Dinge nicht blindlings in die Cloud. Überlegen Sie kontinuierlich – bei jeder Produkteinführung – ob Sie mehr Basecamp oder mehr Netflix sind. Neue Anwendungen oder sehr volatile Anwendungen sind offensichtliche Kandidaten, aber es gibt auch andere. Und die Dinge ändern sich, überprüfen Sie dies regelmäßig, um zu sehen, wohin Sie was verschieben müssen.
  • Machen Sie sich weniger Sorgen darüber, dass Sie keine Fähigkeiten vor Ort einstellen oder behalten können. Sie brauchen diese Expertenarmeen nicht mehr, sodass Sie Ihre gesamte Belegschaft viel umfassender und häufiger trainieren können. DevOps absorbiert einen Großteil Ihrer Expertenarbeit (erfordert einen signifikanten kulturellen Wandel).
  • Bereinigen und vereinfachen Sie Ihren Stack. Die meisten Komplexitäten und Kosten vor Ort entstehen durch den Kauf mehrerer Varianten, Anbieter und Versionen. – Be Southwest
  • Gehen Sie für die teuersten Teile intern um – in AWS sind es heute RDS (verwaltete Postgres-Datenbanken), daher würde ich dringend empfehlen, sich davon zu entfernen. Bauen Sie intern Fähigkeiten für das Postgres-Management auf und haben Sie keine Angst mehr vor Datenbanken.
  • Die Zeit, in der IAAS das Ziel ist, ist lange vorbei. Wechseln Sie nur in die Cloud, wenn Sie bereit sind, Cloud-nativ zu sein – containerisiert, DevOps, horizontal skaliert usw. Wo es sinnvoll ist, nutzen Sie einige der zusätzlichen Mehrwerte, die die Cloud kostenlos bietet, wie z. B. viel bessere Überwachung, automatische Skalierung KI-Operationen, viel feinkörnigere Kostenkontrolle (Netflix hat hier einige erstaunliche Dinge getan). Wenn Sie dazu nicht bereit sind, ersetzen Sie Ihren CIO und nicht Ihre Infrastruktur.