Was uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellen

Hallo!

Mein Name ist Michael, ich bin stellvertretender IT-Direktor bei der Firma „Sportmaster“. Ich möchte eine Geschichte darĂŒber teilen, wie wir mit den Schwierigkeiten wĂ€hrend der Pandemie umgegangen sind.

In den ersten Tagen der neuen RealitĂ€t kam der gewohnte Offline-Handelsformat von „Sportmaster“ zum Stillstand, und die Belastung unseres Online-Kanals, insbesondere im Bereich der Lieferungen an die Kundenadresse, stieg enorm um das Zehnfache. Innerhalb weniger Wochen haben wir unser riesiges Offline-GeschĂ€ft in ein Online-GeschĂ€ft umgewandelt und den Service an die BedĂŒrfnisse unserer Kunden angepasst.

Im Grunde genommen wurde das, was zuvor unser zweitrangiges GeschÀft war, zur HauptgeschÀftstÀtigkeit. Die Bedeutung jeder Online-Bestellung stieg extrem. Wir mussten jeden Rubel, den der Kunde in die Firma brachte, erhalten. 

Was uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellen

Um schnell auf die Anfragen der Kunden zu reagieren, haben wir ein zusĂ€tzliches Kontaktzentrum in der Zentrale des Unternehmens eröffnet und können jetzt etwa 285.000 Anrufe pro Woche entgegennehmen. Gleichzeitig haben wir 270 GeschĂ€fte auf ein neues Format fĂŒr kontaktlesse und sichere Arbeit umgestellt, was es den Kunden ermöglichte, ihre Bestellungen zu erhalten und die Mitarbeiter ihre ArbeitsplĂ€tze zu behalten.

WĂ€hrend des Transformationsprozesses traten bei uns zwei Hauptprobleme auf. Erstens wurde die Belastung unserer Online-Ressourcen spĂŒrbar erhöht (wie wir damit umgegangen sind, wird Sergey erzĂ€hlen). Zweitens hat der Strom seltener (vor COVID) Operationen um ein Vielfaches zugenommen, was wiederum einen großen Bedarf an schneller Automatisierung erforderte. Um dieses Problem zu lösen, mussten wir schnell Ressourcen von vorherigen Hauptbereichen umschichten. Wie wir damit umgegangen sind, wird Elena erzĂ€hlen.

Betrieb von Online-Diensten

Sergei Kolesnikov, verantwortlich fĂŒr den Betrieb des Online-Shops und der Mikrodienste

Seitdem unsere EinzelhandelsgeschĂ€fte fĂŒr Besucher geschlossen wurden, haben wir ein Wachstum von Metriken wie der Anzahl der Benutzer, der Anzahl der Bestellungen, die in unserer App aufgegeben werden, und der Anzahl der Anfragen an die Anwendungen verzeichnet. 

Was uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellenAnzahl der Bestellungen vom 18. bis 31. MĂ€rzWas uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellenAnzahl der Anfragen an Mikrodienste fĂŒr die Online-ZahlungWas uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellenAnzahl der ĂŒber die Website aufgegebenen Bestellungen

Im ersten Diagramm sehen wir, dass das Wachstum etwa das 14-Fache betrug, im zweiten etwa das 4-Fache. Die aussagekrÀftigste Metrik in diesem Zusammenhang betrachten wir als die Reaktionszeit unserer Anwendungen. 

Was uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellen

In diesem Diagramm sehen wir die Reaktion von Frontends und Anwendungen, und wir haben festgestellt, dass wir kein nennenswertes Wachstum bemerkt haben.

Dies hÀngt in erster Linie damit zusammen, dass wir Ende 2019 mit den Vorbereitungsarbeiten begonnen haben. Jetzt sind unsere Dienste reserviert, und wir haben die Fehlertoleranz auf der Ebene der physischen Server, der Virtualisierungssysteme, Docker und der darin enthaltenen Dienste gewÀhrleistet. Gleichzeitig ermöglichen unsere Serverressourcen, mehrfaches Volumen zu bewÀltigen.

Das Hauptinstrument, das uns in dieser ganzen Geschichte geholfen hat, war unser Überwachungssystem. Vor nicht allzu langer Zeit hatten wir jedoch kein einheitliches System, das es ermöglichte, Metriken auf allen Ebenen zu sammeln, von der physischen Hardware bis zu den GeschĂ€ftsmessdaten. 

Formell gab es die Überwachung im Unternehmen, jedoch war sie in der Regel verstreut und lag in der Verantwortung spezifischer Abteilungen. TatsĂ€chlich hatten wir bei einem Vorfall fast nie ein einheitliches VerstĂ€ndnis davon, was genau passiert war, es gab keine Information, und oft fĂŒhrte dies dazu, dass wir im Kreis liefen, um das Problem zu finden und zu lokalisieren, um es anschließend zu beheben.

Irgendwann dachten wir nach und entschieden, dass es genug ist — wir brauchen ein einheitliches System, um das gesamte Bild vollstĂ€ndig zu sehen. Die Haupttechnologien in unserem Stack sind Zabbix als Alert- und Metrik-Speicherzentrale, Prometheus zur Sammlung und Speicherung von Anwendungsmetriken, Stack ELK fĂŒr Logging und Speicherung von Daten des gesamten Überwachungssystems sowie Grafana fĂŒr die Visualisierung, Swagger, Docker und andere nĂŒtzliche und Ihnen vertraute Dinge.

Dabei nutzen wir nicht nur die verfĂŒgbaren Technologien auf dem Markt, sondern entwickeln auch einige Dinge selbst. Zum Beispiel erstellen wir Dienste zur Integration von Systemen miteinander, sprich eine Art API zur Sammlung von Metriken. Zudem arbeiten wir an eigenen Überwachungsystemen — auf der Ebene der GeschĂ€ftsmessdaten verwenden wir UI-Tests. Außerdem haben wir einen Bot in Telegram fĂŒr die Benachrichtigung der Teams.

Außerdem bemĂŒhen wir uns, das Überwachungssystem fĂŒr die Teams zugĂ€nglich zu machen, damit sie ihre Metriken selbst speichern und damit arbeiten können, einschließlich der Einrichtung von Alerts fĂŒr bestimmte, in einem engeren Rahmen relevante Metriken. 

Im Rahmen des gesamten Systems streben wir nach ProaktivitĂ€t und einer möglichst schnellen Lokalisierung von VorfĂ€llen. Zudem hat die Anzahl unserer Mikrodienste und Systeme in letzter Zeit erheblich zugenommen, wodurch auch die Zahl der Integrationen steigt. Im Rahmen der Optimierung des Diagnoseprozesses von VorfĂ€llen auf Integrationsebene entwickeln wir ein System, das es ermöglicht, systemĂŒbergreifende PrĂŒfungen durchzufĂŒhren und Ergebnisse zu liefern, um die wesentlichen Probleme im Zusammenhang mit Importen und der Interaktion zwischen den Systemen zu identifizieren. 

NatĂŒrlich gibt es noch viel Raum fĂŒr Wachstum und Entwicklung in Bezug auf den Betrieb der Systeme, und wir arbeiten aktiv daran. Mehr Informationen ĂŒber unser Überwachungssystem können Sie hier lesen. hier. 

Technische Tests 

Sergej Orlow, leitet das Kompetenzzentrum fĂŒr Web- und mobile Entwicklung

Seit der Schließung der physischen GeschĂ€fte stehen wir vor verschiedenen Herausforderungen in der Entwicklung. Zuallererst der Anstieg der Last an sich. Es ist klar, dass, wenn keine entsprechenden Maßnahmen ergriffen werden, die Systeme bei hoher Last mit einem traurigen Knall in einen KĂŒrbis verwandelt werden können, oder die Leistung ganz eint vallen, oder sie ihre FunktionsfĂ€higkeit vollstĂ€ndig verlieren.

Der zweite Aspekt, der etwas weniger offensichtlich ist, besteht darin, dass das System unter hoher Last sehr schnell geĂ€ndert werden musste, um sich an die VerĂ€nderungen der GeschĂ€ftsprozesse anzupassen. Manchmal mehrmals am Tag. In vielen Unternehmen gibt es die Regel, dass bei großen MarketingaktivitĂ€ten keine Änderungen am System vorgenommen werden sollten. Überhaupt keine, lass es einfach laufen, wenn es funktioniert.

Bei uns gab es im Grunde genommen einen endlosen Black Friday, wĂ€hrenddessen das System dennoch geĂ€ndert werden musste. Und jede Fehler, jedes Problem, jede Störung im System wĂŒrde das GeschĂ€ft sehr teuer zu stehen kommen.

Um vorzugreifen, kann ich sagen, dass wir erfolgreich mit diesen Herausforderungen umgehen konnten, alle Systeme haben die Last standgehalten, ließen sich leicht skalieren, und es gab keine globalen technischen Störungen.

Es gibt vier SchlĂŒsselbereiche, auf denen die FĂ€higkeit des Systems beruht, hohe plötzliche Lasten zu bewĂ€ltigen. Der erste ist das Monitoring, ĂŒber das Sie oben gelesen haben. Ohne ein gut strukturiertes Monitoring-System ist es nahezu unmöglich, EngpĂ€sse im System zu finden. Ein gutes Monitoring-System ist wie bequeme Alltagskleidung, es sollte bequem und auf Sie abgestimmt sein.

Der zweite Aspekt ist das Testen. Wir nehmen diesen Punkt sehr ernst: Wir schreiben klassische Unit-Tests, Integrationstests, Lasttests und viele andere fĂŒr jedes System. Außerdem entwickeln wir eine Teststrategie und bemĂŒhen uns, das Testniveau so zu steigern, dass manuelle ÜberprĂŒfungen nicht mehr notwendig sind.

Der dritte SchlĂŒsselbereich ist die CI/CD-Pipeline. Die Prozesse fĂŒr den Aufbau, das Testen und die Bereitstellung von Anwendungen mĂŒssen so weit wie möglich automatisiert sein; es sollte keine manuellen Eingriffe geben. Das Thema CI/CD-Pipeline ist ziemlich tief, und ich werde es nur am Rande streifen. Es ist erwĂ€hnenswert, dass wir eine CI/CD-Pipeline-Checkliste haben, nach der jede Produktteam mithilfe von Kompetenzcentern vorgeht.

Was uns geholfen hat, schnell auf den Online-Handel unter den neuen Bedingungen umzustellenHier ist die Checkliste

Auf diese Weise werden viele Ziele erreicht. Dazu gehört die Versionierung der API, das Feature Toggle, um Releases zu vermeiden, die im Nachhinein als ĂŒberflĂŒssig erscheinen, und das Erreichen eines Testabdeckungsniveaus, bei dem das Testen vollstĂ€ndig automatisiert ist und die Deployments nahtlos ablaufen.

Der vierte SchlĂŒsselbereich sind die architektonischen Prinzipien und technischen Lösungen. Man kann viel und lange ĂŒber die Architektur sprechen, aber ich möchte einige Prinzipien hervorheben, auf die ich besonderen Wert legen möchte.

ZunĂ€chst mĂŒssen spezialisierte Werkzeuge fĂŒr bestimmte Aufgaben ausgewĂ€hlt werden. Ja, das klingt offensichtlich, und es ist klar, dass NĂ€gel mit einem Hammer eingeschlagen werden sollten, wĂ€hrend spezielle Schraubenzieher zum Zerlegen von Armbanduhren verwendet werden. Aber in unserer Zeit streben viele Werkzeuge nach UniversalitĂ€t, um den maximalen Nutzerkreis zu erfassen: Datenbanken, Caches, Frameworks und anderes. Nehmen wir zum Beispiel die Datenbank MongoDB; sie arbeitet mit Multi-Dokument-Transaktionen, wĂ€hrend die Datenbank Oracle mit JSON arbeitet. Und es könnte scheinen, dass alles fĂŒr alles verwendet werden kann. Aber wenn wir fĂŒr Leistung plĂ€dieren, mĂŒssen wir die StĂ€rken und SchwĂ€chen jedes Werkzeugs genau verstehen und nur die fĂŒr unsere Aufgabenklasse geeigneten verwenden. 

Zweitens muss jede Erhöhung der KomplexitĂ€t beim Entwerfen von Systemen gerechtfertigt sein. Wir mĂŒssen dies stĂ€ndig im Hinterkopf behalten, das Prinzip des low coupling ist allgemein bekannt. Ich glaube, dass es sowohl auf der Ebene eines einzelnen Services, als auch auf der Ebene des gesamten Systems und der architektonischen Landschaft angewendet werden muss. Auch die FĂ€higkeit zur horizontalen Skalierung jeder Systemkomponente unter Last ist wichtig. Wenn man diese FĂ€higkeit besitzt, stellt die Skalierung keine Schwierigkeit dar.

Wenn es um technische Lösungen geht, haben wir die Produktteams gebeten, ein frisches Set an Empfehlungen, Ideen und Lösungen zu erstellen, die sie im Vorfeld der nÀchsten Lastwelle umgesetzt haben.

Caches

Es ist wichtig, den Auswahlprozess fĂŒr lokale und verteilte Caches bewusst zu gestalten. Manchmal macht es Sinn, sowohl lokale als auch verteilte Caches innerhalb eines Systems zu nutzen. Zum Beispiel haben wir Systeme, bei denen ein Teil der Daten im Grunde genommen ein Schaufelcache ist, das heißt, die Quelle der Aktualisierungen befindet sich außerhalb des Systems, und das System verĂ€ndert diese Daten nicht. FĂŒr einen solchen Ansatz verwenden wir den lokalen Caffeine Cache. 

Es gibt jedoch Daten, die das System aktiv wĂ€hrend des Betriebs Ă€ndert, und hier wenden wir bereits einen verteilten Cache mit Hazelcast an. Dieser Ansatz ermöglicht es uns, die Vorteile des verteilten Caches dort zu nutzen, wo sie wirklich benötigt werden, und die Betriebskosten fĂŒr den Austausch von Daten im Hazelcast-Cluster zu minimieren, dort, wo wir darauf verzichten können. Über Caches haben wir viel geschrieben. hier und hier.

DarĂŒber hinaus hat der Wechsel des Serialisierers zu Kryo in Hazelcast einen erheblichen Vorteil fĂŒr uns gebracht. Der Übergang von ReplicatedMap zu IMap + Near Cache in Hazelcast hat es uns ermöglicht, die Datenbewegung im Cluster zu minimieren. 

Ein kleiner Tipp: Bei der massenhaften Invalidation des Caches kann manchmal die Taktik des AufwĂ€rmens des zweiten Caches mit anschließendem Wechsel sinnvoll sein. Auf den ersten Blick sollte dieser Ansatz zu einem doppelten Speicherverbrauch fĂŒhren, aber in der Praxis hat sich der Speicherverbrauch in den Systemen, in denen dies praktiziert wurde, verringert.

Reaktiver Stack

Wir nutzen den reaktiven Stack bereits in einer betrÀchtlichen Anzahl von Systemen. In unserem Fall handelt es sich um Webflux oder Kotlin mit Coroutinen. Besonders gut eignet sich der reaktive Stack dort, wo wir langsame Eingabe-Ausgabebetriebe erwarten. Zum Beispiel Aufrufe langsamer Dienste, die Arbeit mit dem Dateisystem oder Speichersystemen.

Das wichtigste Prinzip ist, blockierende Aufrufe zu vermeiden. Unter der Haube der reaktiven Frameworks laufen nur wenige aktive Dienst-Threads. Wenn wir uns unvorsichtig einen direkten blockierenden Aufruf erlauben, wie beispielsweise einen Aufruf des JDBC-Treibers, wird das System einfach zum Stillstand kommen. 

Streben Sie an, Fehler in eigene Runtime-Exceptions umzuwandeln. Der tatsĂ€chliche AusfĂŒhrungsfluss des Programms weicht den reaktiven Frameworks ab, und die AusfĂŒhrung von Code wird nicht-linear. Infolgedessen ist es sehr schwierig, Probleme anhand von Stack-Traces zu diagnostizieren. Eine Lösung wĂ€re, klare objektive Runtime-Exceptions fĂŒr jeden Fehler zu schaffen.

Elasticsearch

Bei der Verwendung von Elasticsearch sollten Sie keine ungenutzten Daten auswĂ€hlen. Dies ist grundsĂ€tzlich ein sehr einfacher Rat, wird jedoch hĂ€ufig vergessen. Wenn Sie mehr als zehntausend DatensĂ€tze auf einmal abrufen mĂŒssen, sollten Sie Scroll verwenden. Im Vergleich dazu Ă€hnelt dies einem Cursor in einer relationalen Datenbank. 

Verwenden Sie postfilter nicht ohne Notwendigkeit. Bei großen Datenmengen in der Hauptauswahl belastet diese Operation die Datenbank erheblich. 

Verwenden Sie Bulk-Operationen, wo dies anwendbar ist.

API

Bei der Gestaltung von APIs sollten Sie die Anforderungen zur Minimierung der ĂŒbermittelten Daten berĂŒcksichtigen. Dies ist besonders relevant in Verbindung mit dem Frontend: An dieser Schnittstelle verlassen wir unsere Rechenzentren und arbeiten bereits auf der Verbindung zum Kunden. Wenn es dort die kleinsten Probleme gibt, fĂŒhrt ein zu hohes Verkehrsdatenaufkommen zu einem negativen Benutzererlebnis.

Und schließlich, werfen Sie nicht einen Haufen Daten auf, gehen Sie klar auf den Vertrag zwischen Verbrauchern und Anbietern ein.

Organisatorische Transformation

Eroshkina Elena, stellvertretende IT-Direktorin

In dem Moment, als die QuarantĂ€ne eintrat und die Notwendigkeit bestand, den Online-Ausbau und die EinfĂŒhrung von Omnichannel-Diensten rasch zu steigern, waren wir bereits im Prozess der organisatorischen Transformation. 

Ein Teil unserer Struktur wurde auf die Prinzipien und Praktiken des produktbasierten Ansatzes umgestellt. Es bildeten sich Teams, die nun fĂŒr den Betrieb und die Entwicklung jedes Produkts verantwortlich sind. Die Mitarbeiter in diesen Teams sind zu 100% eingebunden und organisieren ihre Arbeit nach Scrum oder Kanban, je nachdem, was ihnen am besten passt, richten den Bereitstellungsprozess ein, implementieren technische Praktiken, QualitĂ€tsmanagementpraktiken und vieles mehr.

Zum GlĂŒck befand sich der grĂ¶ĂŸte Teil solcher Produktteams von uns gerade im Bereich Online- und Omnichannel-Dienste. Dies ermöglichte es uns, in kĂŒrzester Zeit (ernsthaft, innerhalb von nur zwei Tagen) in den Modus der Fernarbeit zu wechseln, ohne an Effizienz zu verlieren. Der eingerichtete Prozess erlaubte es uns, schnell auf die neuen Arbeitsbedingungen zu reagieren und ein ausreichend hohes Tempo fĂŒr die Bereitstellung neuer FunktionalitĂ€ten aufrechtzuerhalten.

DarĂŒber hinaus mussten wir die Teams verstĂ€rken, die an der Front des Online-GeschĂ€fts tĂ€tig sind. Zu diesem Zeitpunkt wurde klar, dass wir dies nur mit internen Ressourcen erreichen konnten. Etwa 50 Personen wechselten innerhalb von zwei Wochen ihren Arbeitsbereich und integrierten sich in die Arbeit an einem fĂŒr sie neuen Produkt. 

DafĂŒr waren keine speziellen Managementanstrengungen erforderlich, da wir neben der Organisation unserer eigenen Prozesse, der technischen Verfeinerung des Produkts und der QualitĂ€tssicherungspraktiken auch unsere Teams in Selbstorganisation schulen — um ihren eigenen Produktionsprozess ohne administrative Ressourcen zu steuern.

Wir konnten unsere Managementressourcen genau dort konzentrieren, wo es in diesem Moment erforderlich war — bei der Koordination mit dem GeschĂ€ft: Was ist fĂŒr unseren Kunden jetzt wichtig, welche FunktionalitĂ€ten mĂŒssen zuerst umgesetzt werden, was muss getan werden, um unsere KapazitĂ€t fĂŒr die Lieferung und Verarbeitung von Bestellungen zu erhöhen. All dies und ein klares Rollenmodell haben es uns ermöglicht, wĂ€hrend dieses Zeitraums unsere Produktionsströme zur Wertschöpfung mit dem zu belasten, was wirklich wichtig und notwendig ist. 

Es ist klar, dass wir bei Remote-Arbeit und dem rasanten Tempo der VerĂ€nderungen, bei dem die GeschĂ€ftskennzahlen von der Beteiligung jedes Einzelnen abhĂ€ngen, uns nicht nur auf interne Empfindungen wie „LĂ€uft bei uns alles gut? Ja, sieht ganz gut aus“ verlassen können. Es sind objektive Leistungsmetriken erforderlich. Diese haben wir, sie sind fĂŒr jeden zugĂ€nglich, der sich fĂŒr die Kennzahlen der Produktteams interessiert. ZunĂ€chst fĂŒr das Team selbst, das GeschĂ€ft, die angrenzenden Abteilungen und das Management.

Alle zwei Wochen findet mit jedem Team eine Statusbesprechung statt, in der fĂŒr 10 Minuten die Metriken analysiert, EngpĂ€sse im Produktionsprozess identifiziert und gemeinsame Lösungen erarbeitet werden: Was kann getan werden, um diese EngpĂ€sse zu beseitigen. Hier kann auch sofort um UnterstĂŒtzung durch das Management gebeten werden, falls ein identifiziertes Problem außerhalb des Einflussbereichs der Teams liegt, oder um die Expertise von Kollegen, die möglicherweise bereits mit einem Ă€hnlichen Problem konfrontiert waren.

Dennoch verstehen wir, dass wir fĂŒr eine exponentielle Beschleunigung (genau dieses Ziel setzen wir uns) noch viel lernen und in unsere tĂ€gliche Arbeit integrieren mĂŒssen. Im Moment setzen wir den produktorientierten Ansatz auf andere Teams und neue Produkte um. Dazu mussten wir ein fĂŒr uns neues Format der Online-Schule fĂŒr Methodologen erlernen.

Methodologen, Menschen, die Teams helfen, Prozesse aufzubauen, Kommunikation zu verbessern und die Effizienz der Arbeit zu steigern, sind im Wesentlichen VerÀnderungsagenten. Momentan arbeiten die Absolventen unseres ersten Jahrgangs mit Teams und helfen ihnen, erfolgreich zu werden. 

Ich denke, dass die aktuelle Situation uns Möglichkeiten und Perspektiven eröffnet, die wir vielleicht selbst noch nicht vollstÀndig realisiert haben. Aber die Erfahrungen und Praktiken, die wir gerade jetzt sammeln, bestÀtigen, dass wir den richtigen Entwicklungspfad gewÀhlt haben, wir werden in Zukunft diese neuen Chancen nicht verpassen und können ebenso effektiv auf die Herausforderungen reagieren, die vor "Sportmaster" stehen werden.

Das DBMS Tarantool ist ein attraktives, zukunftstrÀchtiges Produkt zur Erstellung von hochbelasteten Anwendungen.

In dieser schwierigen Zeit haben wir die wichtigsten GrundsĂ€tze formuliert, auf denen die Softwareentwicklung basiert, die, glaube ich, fĂŒr jedes Unternehmen, das damit beschĂ€ftigt ist, relevant sein werden.

Menschen. Das ist das Fundament. Die Mitarbeiter sollten Freude an ihrer Arbeit haben, die Ziele des Unternehmens und die Ziele der Produkte, an denen sie arbeiten, verstehen. Und natĂŒrlich sollten sie sich beruflich weiterentwickeln können. 

Technologie. Es ist notwendig, dass das Unternehmen reif an die Arbeit mit seinem Technologie-Stack herangeht und dort Kompetenzen aufbaut, wo es wirklich nötig ist. Das klingt sehr einfach und offensichtlich, wird aber oft ignoriert.

Prozesse. Es ist wichtig, die Arbeit der Produktteams und Kompetenzzentren richtig zu strukturieren und die Zusammenarbeit mit dem GeschÀft aufzubauen, um mit ihm als Partner zu arbeiten.

Im Allgemeinen haben wir etwa so ĂŒberlebt. Die Hauptthese der Moderne hat sich einmal mehr bestĂ€tigt, laut auf die Stirn klopfend.

Selbst wenn du ein riesiges Offline-GeschĂ€ft mit vielen GeschĂ€ften und zahlreichen StĂ€dten bist, entwickle dein Online-Angebot. Es ist nicht nur ein zusĂ€tzlicher Vertriebskanal oder eine schöne Anwendung, ĂŒber die man auch etwas kaufen kann (und auch, weil die Konkurrenz ebenfalls schön aussieht). Es ist kein Notfallreserverad, das hilft, einen Sturm zu ĂŒberstehen.

Es ist eine zwingende Notwendigkeit. Auf die sollten nicht nur deine technischen KapazitĂ€ten und Infrastruktur, sondern auch die Menschen und Prozesse vorbereitet sein. Denn schnell Speicher, Platz und neue Instanzen hinzuzufĂŒgen, kann man innerhalb von ein paar Stunden. Aber die Menschen und Prozesse mĂŒssen vorher darauf vorbereitet werden.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster