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

Hallo!

Mein Name ist Michail, ich bin der IT-Direktor bei «Sportmaster». Ich möchte eine Geschichte darĂŒber teilen, wie wir die Herausforderungen wĂ€hrend der Pandemie gemeistert haben.

In den ersten Tagen der neuen RealitĂ€t kam der gewohnte Offline-Verkauf von «Sportmaster» zum Erliegen, und die Belastung unseres Online-Kanals, insbesondere im Hinblick auf die Lieferung an die Kundenadresse, stieg um das Zehnfache. Innerhalb weniger Wochen haben wir unser riesiges Offline-GeschĂ€ft in ein Online-GeschĂ€ft transformiert und unseren Service an die BedĂŒrfnisse unserer Kunden angepasst.

Im Grunde genommen wurde das, was ursprĂŒnglich unsere NebentĂ€tigkeit war, zum HauptgeschĂ€ft. Die Bedeutung jeder Online-Bestellung stieg extrem an. Jeder Rubel, den ein Kunde in das Unternehmen brachte, musste gesichert werden. 

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

Um schnell auf die Anfragen der Kunden reagieren zu können, haben wir ein zusÀtzliches Kontaktzentrum in der Unternehmenszentrale eröffnet, das jetzt rund 285.000 Anrufe pro Woche entgegennehmen kann. Gleichzeitig haben wir 270 Filialen auf ein neues, kontaktloses und sicheres Betriebsformat umgestellt, was es den Kunden ermöglichte, Bestellungen zu erhalten, wÀhrend die Mitarbeiter ihre ArbeitsplÀtze behalten konnten.

WĂ€hrend des Transformationsprozesses standen wir vor zwei wesentlichen Herausforderungen. Erstens gab es eine spĂŒrbare Zunahme der Belastung fĂŒr unsere Online-Ressourcen (wie wir damit umgegangen sind, wird Sergej erzĂ€hlen). Zweitens ist der Fluss seltener (vor COVID) Operationen exponentiell gestiegen, was ein großes Maß an schneller Automatisierung erforderte. Um dieses Problem zu lösen, mussten wir umgehend Ressourcen von Bereichen abziehen, die zuvor unsere Hauptschwerpunkte waren. Wie wir das gemeistert haben, wird Elena berichten.

Betrieb von Online-Diensten

Sergej Kolesnikow, verantwortlich fĂŒr den Betrieb des Online-Shops und der Mikrodienste

Seit der Schließung unserer EinzelhandelsgeschĂ€fte fĂŒr Besucher verzeichnen wir einen Anstieg von Metriken wie der Anzahl der Nutzer, der Bestellungen, die ĂŒber unsere App aufgegeben werden, und der Anfragen an die Anwendungen. 

Was uns geholfen hat, uns schnell auf den Online-Verkauf unter den neuen Bedingungen umzustellen.Anzahl der Bestellungen vom 18. bis 31. MĂ€rzWas uns geholfen hat, uns schnell auf den Online-Verkauf unter den neuen Bedingungen umzustellen.Anzahl der Anfragen an die Mikrodienste fĂŒr Online-ZahlungenWas uns geholfen hat, uns schnell auf den Online-Verkauf unter den neuen Bedingungen umzustellen.Anzahl der auf der Website getĂ€tigten Bestellungen

Im ersten Diagramm sehen wir, dass das Wachstum etwa das 14-fache betrug, im zweiten das 4-fache. Besonders aussagekrÀftig erachten wir dabei die Metrik der Antwortzeiten unserer Anwendungen. 

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

In diesem Diagramm sehen wir die Reaktionen von Frontend und Anwendungen, und wir haben festgestellt, dass wir kein signifikantes Wachstum bemerkt haben.

Das liegt in erster Linie daran, dass wir Ende 2019 mit den Vorbereitungsarbeiten begonnen haben. Derzeit sind unsere Dienste reserviert und die Ausfallsicherheit ist auf Ebene der physischen Server, der Virtualisierungssysteme, der Container und der Dienste in diesen gewÀhrleistet. Gleichzeitig ermöglichen unsere Serverressourcen Mehrfachbelastungen.

Das Hauptinstrument, das uns in dieser ganzen Geschichte geholfen hat, ist unser Überwachungssystem. Allerdings hatten wir vor nicht allzu langer Zeit kein einheitliches System, das es uns ermöglicht hĂ€tte, Metriken auf allen Ebenen zu sammeln, vom physischen Equipment und Hardware bis hin zu GeschĂ€ftsmetriken. 

Formal gab es in der Firma Monitoring, aber in der Regel war es verstreut und lag in der Verantwortung spezifischer Abteilungen. TatsĂ€chlich hatten wir fast nie ein gemeinsames VerstĂ€ndnis dafĂŒr, was genau passiert ist, wenn ein Vorfall auftrat; es gab keine Information, und oft fĂŒhrte das zu einer endlosen Suche nach der Problemursache und deren Behebung.

Irgendwann dachten wir, dass es genug ist — wir benötigten ein einheitliches System, um das gesamte Bild zu sehen. Die Haupttechnologien, die in unserem Stack enthalten sind, sind Zabbix als Alert-Center und zur Speicherung von Metriken, Prometheus zur Erfassung und Speicherung von Anwendungsmetriken, die ELK-Stack fĂŒr das Logging und die Speicherung der Daten des gesamten Monitoring-Systems sowie Grafana zur Visualisierung, Swagger, Docker und andere nĂŒtzliche und Ihnen vertraute Tools.

Dabei nutzen wir nicht nur die am Markt verfĂŒgbaren Technologien, sondern entwickeln auch eigene Lösungen. Zum Beispiel erstellen wir Services zur Integration von Systemen miteinander, also eine Art API zur Erfassung von Metriken. Zudem arbeiten wir an eigenen Monitoring-Systemen — auf der Ebene der GeschĂ€ftsmetriken verwenden wir UI-Tests. Außerdem haben wir einen Bot in Telegram zur Benachrichtigung der Teams.

DarĂŒber hinaus bemĂŒhen wir uns, das Monitoring-System fĂŒr die Teams zugĂ€nglich zu machen, damit sie ihre Metriken eigenstĂ€ndig speichern und verwalten können, einschließlich der Möglichkeit, Alerts fĂŒr spezifische Metriken einzurichten, die nicht von breiterer Anwendung sind. 

Innerhalb des gesamten Systems streben wir proaktive und möglichst schnelle Lokalisierungen von VorfĂ€llen an. Zudem ist die Anzahl unserer Mikrodienste und Systeme in letzter Zeit erheblich gewachsen, was auch die Zahl der Integrationen erhöht. Im Rahmen der Optimierung des Diagnosprozesses von VorfĂ€llen auf Integrationsniveau entwickeln wir ein System, das es ermöglicht, systemĂŒbergreifende PrĂŒfungen durchzufĂŒhren und Ergebnisse zu liefern, wodurch wir die grundlegenden Probleme im Zusammenhang mit Importen und dem Zusammenspiel der Systeme identifizieren können. 

NatĂŒrlich gibt es noch viel Raum fĂŒr Wachstum und Entwicklung in Bezug auf das Betriebsmanagement der Systeme, und wir arbeiten aktiv daran. Weitere Informationen zu unserem Überwachungssystem finden Sie hier. hier. 

Technische Tests 

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

Seit der Schließung physischer GeschĂ€fte sehen wir uns in der Entwicklung mit verschiedenen Herausforderungen konfrontiert. An erster Stelle steht der Anstieg der Last. Es ist klar, dass, wenn keine entsprechenden Maßnahmen ergriffen werden, das System unter hoher Last mit einem unglĂŒcklichen Knall in eine KĂŒrbisform verwandelt werden kann, entweder durch einen vollstĂ€ndigen Leistungsabfall oder möglicherweise sogar durch einen kompletten Ausfall.

Der zweite Aspekt, der etwas weniger offensichtlich ist, besteht darin, dass das System unter hoher Last sehr schnell angepasst werden musste, um sich an die VerĂ€nderungen der GeschĂ€ftsprozesse anzupassen. Manchmal mehrfach am Tag. Viele Unternehmen haben die Regel, dass bei großen MarketingaktivitĂ€ten keine Änderungen am System vorgenommen werden sollen. Überhaupt keine, solange es lĂ€uft.

Bei uns gab es im Grunde genommen einen unendlichen Black Friday, wÀhrend wir gleichzeitig das System Àndern mussten. Und jeder Fehler, jedes Problem, jeder Ausfall im System hÀtte dem GeschÀft sehr teuer zu stehen kommen können.

Um es vorweg zu nehmen: Wir haben es geschafft, diese Herausforderungen zu meistern. Alle Systeme hielten der Last stand, ließen sich leicht skalieren, und es gab keine grĂ¶ĂŸeren technischen AusfĂ€lle.

Es gibt vier SĂ€ulen, auf denen die FĂ€higkeit des Systems basiert, hohe sprungartige Lasten zu bewĂ€ltigen. Die erste ist das Monitoring, das Sie weiter oben gelesen haben. Ohne ein gut etabliertes Monitoring-System ist es nahezu unmöglich, EngpĂ€sse im System zu identifizieren. Ein gutes Monitoring-System ist wie bequeme Freizeitkleidung — es sollte angenehm und auf Sie abgestimmt sein.

Der zweite Aspekt ist das Testing. Wir nehmen diesen Punkt sehr ernst: Wir schreiben klassische Unit-Tests, Integrationstests, Lasttests und viele andere fĂŒr jedes System. Zudem erstellen wir eine Teststrategie und bemĂŒhen uns, das Testlevel so weit zu steigern, dass manuelle PrĂŒfungen nicht mehr notwendig sind.

Der dritte SchlĂŒssel ist der CI/CD-Pipeline. Die Prozesse fĂŒr den Build, das Testen und das Deployment von Anwendungen sollten so weit wie möglich automatisiert sein, ohne manuelle Eingriffe. Das Thema CI/CD-Pipeline ist ziemlich umfangreich, und ich werde es nur am Rande behandeln. Es genĂŒgt zu erwĂ€hnen, dass wir eine Checkliste fĂŒr die CI/CD-Pipeline haben, die von jedem Produktteam mit Hilfe von Kompetenzzentren durchgegangen wird.

Was uns geholfen hat, uns schnell auf den Online-Verkauf unter den neuen Bedingungen umzustellen.Hier ist die Checkliste

Auf diese Weise werden viele Ziele erreicht. Dazu gehören die Versionierung von APIs und Feature-Toggles, um eine Flut von Releases zu vermeiden, und das Erreichen von Testabdeckungen in einem Umfang, der es ermöglicht, dass das Testen vollstÀndig automatisiert ist und die Deployments nahtlos erfolgen.

Der vierte SchlĂŒssel sind die Architekturprinzipien und technischen Entscheidungen. Man kann viel und lange ĂŒber Architektur sprechen, aber ich möchte ein paar Prinzipien hervorheben, auf die ich gerne aufmerksam machen möchte.

ZunĂ€chst einmal sollten spezialisierte Werkzeuge fĂŒr bestimmte Aufgaben ausgewĂ€hlt werden. Ja, das klingt offensichtlich, und es ist klar, dass man NĂ€gel mit einem Hammer einschlagen sollte und spezielle Schraubendreher benötigt, um Armbanduhren zu zerlegen. In unserem Zeitalter streben viele Werkzeuge jedoch nach UniversalitĂ€t, um den grĂ¶ĂŸtmöglichen Benutzerkreis abzudecken: Datenbanken, Caches, Frameworks und mehr. Wenn wir zum Beispiel die Datenbank MongoDB betrachten, arbeitet sie mit Multidokumenten-Transaktionen, wĂ€hrend die Datenbank Oracle mit JSON arbeitet. Man könnte also denken, dass alles fĂŒr alles verwendet werden kann. Doch wenn wir fĂŒr Leistung eintreten, mĂŒssen wir die StĂ€rken und SchwĂ€chen jedes Werkzeugs klar verstehen und die fĂŒr unsere spezifischen Aufgaben wichtigen Tools auswĂ€hlen. 

Zweitens muss jede Erhöhung der KomplexitĂ€t bei der Systemgestaltung gerechtfertigt sein. Wir mĂŒssen dies stĂ€ndig im Hinterkopf behalten; das Prinzip des niedrigen Kopplungsgrades ist allgemein bekannt. Ich denke, dass es sowohl auf der Ebene eines bestimmten Dienstes, auf der Ebene des gesamten Systems als auch auf der Ebene der architektonischen Landschaft angewendet werden sollte. Ebenso ist die FĂ€higkeit zur horizontalen Skalierung jeder Systemkomponente unter Last wichtig. Wenn man diese FĂ€higkeit hat, wird das Skalieren kein Problem darstellen.

Wenn es um technische Lösungen geht, haben wir die Produktteams gebeten, ein frisches Set von Empfehlungen, Ideen und Lösungen vorzubereiten, die sie im Rahmen der Vorbereitung auf die nÀchste Lastwelle umgesetzt haben.

Caches

Die Wahl zwischen lokalen und verteilten Caches sollte bewusst getroffen werden. Manchmal ist es sinnvoll, beide innerhalb eines Systems zu verwenden. Zum Beispiel haben wir Systeme, in denen ein Teil der Daten im Wesentlichen ein Schaufenster-Cache ist, das heißt, die Quelle der Aktualisierungen liegt außerhalb des Systems, und das System Ă€ndert diese Daten nicht. FĂŒr diesen Ansatz verwenden wir den lokalen Caffeine Cache. 

Es gibt Daten, die das System aktiv wĂ€hrend des Betriebs Ă€ndert. Hier setzen wir einen verteilten Cache mit Hazelcast ein. Dieser Ansatz ermöglicht es uns, die Vorteile eines verteilten Caches dort zu nutzen, wo sie wirklich gebraucht werden, und die Betriebskosten fĂŒr die Datenzirkulation im Hazelcast-Cluster zu minimieren, 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 uns einen guten Leistungsschub gegeben. Der Übergang von ReplicatedMap zu IMap + Near Cache in Hazelcast hat es uns ermöglicht, die Datenbewegungen im Cluster zu minimieren. 

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

Reaktiver Stack

Wir setzen den reaktiven Stack bereits in einer Vielzahl von Systemen ein. In unserem Fall handelt es sich um Webflux oder Kotlin mit Koroutinen. Besonders gut eignet sich der reaktive Stack dort, wo wir langsame Input-Output-Operationen erwarten. Zum Beispiel bei dem Aufruf langsamer Dienste, der Arbeit mit dem Dateisystem oder Speichersystemen.

Das wichtigste Prinzip ist, blockierende Aufrufe zu vermeiden. Unter der Haube der reaktiven Frameworks lÀuft eine begrenzte Anzahl aktiver Service-Threads. Wenn wir uns nicht vorsichtig verhalten und einen direkten blockierenden Aufruf tÀtigen, wie etwa einen Aufruf des JDBC-Treibers, wird das System einfach stehenbleiben. 

Versuchen Sie, Fehler in eigene Runtime-Exceptions zu verwandeln. Der ursprĂŒngliche AusfĂŒhrungsfluss des Programms wechselt zu den reaktiven Frameworks, die AusfĂŒhrung des Codes wird nichtlinear. Daher ist es sehr schwierig, Probleme anhand von Stack-Traces zu diagnostizieren. Eine Lösung besteht darin, verstĂ€ndliche, objektive Runtime-Exceptions fĂŒr jeden Fehler zu erstellen.

Elasticsearch

Bei der Nutzung von Elasticsearch sollten Sie keine ungenutzten Daten auswĂ€hlen. Dies ist im Grunde genommen ein sehr einfacher Rat, aber meistens wird genau das vergessen. Wenn Sie mehr als 10.000 DatensĂ€tze auf einmal auswĂ€hlen mĂŒssen, sollten Sie Scroll verwenden. Im Vergleich dazu Ă€hnelt es ein wenig einem Cursor in einer relationalen Datenbank. 

Verwenden Sie Postfilter nicht ohne Notwendigkeit. Bei großen Datenmengen in der Hauptabfrage belastet dieser Vorgang die Datenbank erheblich. 

Nutzen Sie Bulk-Operationen, wo immer dies anwendbar ist.

API

Planen Sie bei der Gestaltung der API Anforderungen zur Minimierung der ĂŒbertragenen Daten ein. Dies ist besonders relevant in Verbindung mit dem Frontend: Genau an dieser Schnittstelle verlassen wir die KanĂ€le unserer Rechenzentren und arbeiten bereits ĂŒber den Kanal, der uns mit dem Kunden verbindet. Wenn es dort die geringsten Probleme gibt, fĂŒhrt ein zu hoher Datenverkehr zu einem negativen Nutzererlebnis.

Und schließlich, geben Sie nicht einfach einen Haufen Daten aus, sondern gehen Sie klar und prĂ€zise an den Vertrag zwischen Verbrauchern und Anbietern heran.

Organisatorische Transformation

Eroshkina Elena, stellvertretende IT-Direktorin

Als die QuarantÀne eintrat und die Notwendigkeit bestand, die Entwicklung online schnell voranzutreiben und Omnikanal-Services zu implementieren, waren wir bereits in einem Prozess der organisatorischen Transformation. 

Ein Teil unserer Struktur wurde umgestellt, um nach den Prinzipien und Praktiken des Produktansatzes zu arbeiten. Es bildeten sich Teams, die nun fĂŒr den Betrieb und die Weiterentwicklung jedes Produkts verantwortlich sind. Die Mitarbeiter in diesen Teams sind zu 100% involviert und gestalten ihre Arbeit nach Scrum oder Kanban, je nachdem, was fĂŒr sie bevorzugt ist. Sie richten das Bereitstellungssystem ein, implementieren technische Praktiken, QualitĂ€tsmanagement-Systeme und vieles mehr.

Durch einen glĂŒcklichen Zufall befanden sich die meisten dieser Produktteams in den Bereichen Online- und Omnikanal-Services. Das ermöglichte es uns, innerhalb kĂŒrzester Zeit (ernsthaft, in nur zwei Tagen) in den Remote-Arbeitsmodus zu wechseln, ohne an EffektivitĂ€t zu verlieren. Der etablierte Prozess ermöglichte eine schnelle Anpassung an die neuen Arbeitsbedingungen und hielt ein ziemlich hohes Tempo bei der Lieferung neuer FunktionalitĂ€ten aufrecht.

DarĂŒber hinaus mussten wir die Teams verstĂ€rken, die an der Spitze des Online-GeschĂ€fts stehen. Zu diesem Zeitpunkt wurde klar, dass wir dies nur durch interne Ressourcen erreichen können. In etwa zwei Wochen haben rund 50 Personen ihren Arbeitsbereich gewechselt und sich in die Arbeit an einem neuen Produkt eingearbeitet. 

Es bedurfte keiner besonderen Managementanstrengungen, da wir neben der Organisation des eigenen Prozesses, der technischen Weiterentwicklung des Produkts und der QualitĂ€tssicherung unsere Teams in der Selbstorganisation schulen — sie sind in der Lage, ihren eigenen Produktionsprozess ohne administrative Ressourcen zu steuern.

Die Managementressourcen konnten wir genau dort bĂŒndeln, wo es zu diesem Zeitpunkt notwendig war - bei der Koordination mit dem GeschĂ€ft: Was ist momentan wichtig fĂŒr unseren Kunden, welche FunktionalitĂ€ten mĂŒssen prioritĂ€r umgesetzt werden, was muss getan werden, um unsere KapazitĂ€t fĂŒr die Lieferung und Bearbeitung von Bestellungen zu erhöhen. All dies und ein klares Rollenmodell ermöglichten es uns wĂ€hrend dieses Zeitraums, unsere Produktionsströme zur Schaffung von Wert mit dem zu belasten, was wirklich wichtig und notwendig ist. 

Offensichtlich kann man bei Remote-Arbeit und einem hohen VerĂ€nderungstempo, bei dem die GeschĂ€ftszahlen von jedem Mitwirken abhĂ€ngen, nicht nur auf interne GefĂŒhle setzen wie: "LĂ€uft bei uns alles gut? Sieht nicht schlecht aus." Notwendige objektive Kennzahlen des Produktionsprozesses. Solche haben wir, sie stehen jedem zur VerfĂŒgung, der sich fĂŒr die Kennzahlen der Produktteams interessiert. Vor allem dem Team selbst, dem GeschĂ€ft, den Schnittstellen und dem Management.

Alle zwei Wochen findet ein Statusmeeting mit jedem Team statt, in dem innerhalb von 10 Minuten Metriken analysiert, EngpĂ€sse im Produktionsprozess identifiziert und gemeinsame Lösungen erarbeitet werden: Was kann getan werden, um diese EngpĂ€sse zu beseitigen? Hier können auch sofort UnterstĂŒtzung von der FĂŒhrung angefordert werden, falls ein identifiziertes Problem außerhalb des Einflussbereichs der Teams liegt oder auf die Expertise von Kollegen zurĂŒckgegriffen werden muss, die möglicherweise bereits mit einem Ă€hnlichen Problem konfrontiert waren.

Dennoch verstehen wir, dass wir noch viel lernen und in unsere tĂ€gliche Arbeit integrieren mĂŒssen, um eine drastische Beschleunigung zu erreichen (genau dieses Ziel haben wir uns gesetzt). Momentan setzen wir unseren produktorientierten Ansatz in weiteren Teams und neuen Produkten um. DafĂŒr mussten wir ein fĂŒr uns neues Format der Online-Schule fĂŒr Methodologen erlernen.

Methodologen, also Menschen, die Teams helfen, Prozesse aufzubauen, KommunikationskanÀle zu etablieren und die Effizienz der Arbeit zu steigern, sind im Grunde genommen VerÀnderungsagenten. Momentan arbeiten die Absolventen unseres ersten Jahrgangs mit Teams zusammen 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 erkennen. Aber die Erfahrungen und das Wissen, die wir gerade jetzt erwerben, bestÀtigen, dass wir den richtigen Entwicklungsweg gewÀhlt haben. Wir werden in Zukunft diese neuen Möglichkeiten nicht verpassen und in der Lage sein, genauso effektiv auf die Herausforderungen zu reagieren, die "Sportmaster" bevorstehen werden.

Fazit

In dieser schwierigen Zeit haben wir die Hauptprinzipien formuliert, auf denen die Softwareentwicklung basiert, die meiner Meinung nach fĂŒr jedes Unternehmen, das sich damit beschĂ€ftigt, relevant sein werden.

Menschen. Das ist der Kern, auf dem alles basiert. Die Mitarbeiter mĂŒssen Freude an der Arbeit haben, die Ziele des Unternehmens und die Ziele der Produkte, an denen sie arbeiten, verstehen. Und natĂŒrlich sollten sie sich auch beruflich weiterentwickeln können. 

Technologie. Es ist notwendig, dass das Unternehmen reif an den Umgang mit seinem Technologie-Stack herangeht und dort Kompetenzen aufbaut, wo es wirklich notwendig ist. Das klingt sehr einfach und offensichtlich. Und wird sehr oft ignoriert.

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

So haben wir im Großen und Ganzen ĂŒberlebt. Der zentrale Gedanke der Gegenwart wurde erneut bestĂ€tigt, als er laut auf die Stirn klopfte.

Selbst wenn du ein riesiges Offline-GeschĂ€ft mit zahlreichen Filialen und vielen StĂ€dten bist, entwickle deinen Online-Bereich. Das ist nicht nur ein zusĂ€tzlicher Verkaufsweg oder eine schöne Anwendung, ĂŒber die man auch etwas kaufen kann (auch weil die Konkurrenz ebenfalls schöne Anwendungen hat). Es ist kein Reservesystem fĂŒr den Notfall, das hilft, einen Sturm zu ĂŒberstehen.

Es ist eine absolute Notwendigkeit. Darauf sollten nicht nur deine technischen Ressourcen und Infrastruktur vorbereitet sein, sondern auch die Menschen und die Prozesse. Denn es ist schnell möglich, Speicherplatz, KapazitĂ€ten und neue Instanzen in ein paar Stunden zu beschaffen. Aber die Menschen und Prozesse mĂŒssen darauf im Voraus vorbereitet werden.

Quelle: habr.com

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster