Eines der beliebtesten Schlagworte in Entwicklungskreisen der letzten Jahre war „Bereitstellung in großem Maßstab“. Nun, obwohl es schön ist, einen allgemein anerkannten Begriff zu haben, gehen die Meinungen darüber, was eine Bereitstellung in großem Maßstab tatsächlich bedeutet, in der Regel auseinander.

Was genau bedeutet „in großem Maßstab“ in der Entwicklungsgemeinschaft und wie können Unternehmen diesen Begriff definieren? eigene Herangehensweise? Wir haben mit Adam Frank, VP, Produkt und Marketing bei Armory.io gesprochen, um es herauszufinden.

BN: Fangen wir damit an, zu den Grundlagen zurückzukehren, was macht eine „Bereitstellung“ aus?

AF: Eine Bereitstellung im Kontext von Continuous Deployment und Technologie liegt vor, wenn Code-oder Konfigurationsänderungen automatisch festgeschrieben oder „bereitgestellt“ werden’in die Produktion. Kontinuierliche Bereitstellung stellt die Bereitstellung sicher, ohne die Benutzererfahrung negativ zu beeinflussen, indem der Lebenszyklus von Tests und Umgebungsförderung orchestriert wird, während fortschrittliche Strategien wie Canary und Blue/Green mit automatisierter Wirkungsanalyse und nahtlosen Rollbacks verwendet werden.

BN: Wie ist die Bereitstellung von der Unternehmensumgebung betroffen?

AF: Die Unternehmensumgebung schafft mit ihrer Größe, Inkonsistenzen und unzähligen beweglichen Teilen Komplexität. Die Bereitstellung von Software in großem Maßstab in der Unternehmensumgebung kann immens herausfordernd, umständlich, langsam und teuer sein. Die anderen Größenaspekte, die wir nicht vergessen dürfen, sind auch die Personen-und Prozessaspekte. Teams im gesamten Unternehmen werden unterschiedliche Prozesse, Ziele, Prioritäten und Mandate haben. Menschen, Prozesse und Technologien auf Unternehmensebene führen oft zu Komplexität.

BN: Wo ziehen Sie die Grenze zwischen Bereitstellung und Wartung? Wie passt das zum Konzept des Continuous Deployment?

AF: Es gibt keine definierte Grenze zwischen Deployment und Maintenance und sollte es auch nicht geben. Mancher Code kann neue Funktionen liefern, während ein anderer eine Fehlerbehebung bereitstellt oder bestehenden Code und technische Schulden bereinigt. In jedem Fall sollten sie alle den Bereitstellungsprozess durchlaufen, um die Funktionalität sicherzustellen und Änderungsfehler zu reduzieren.

BN: Also, wie können Bereitstellungen skaliert werden?

AF: Zwei Worte: Orchestrierung. Automatisierung. Plattformingenieure und DevOps-Praktiker verbringen viel Zeit mit dem Aufbau und der Wartung von Bereitstellungspipelines und-prozessen, deren Komplexität die Zeit zwischen Releases verlängert und die Wahrscheinlichkeit einer erfolgreichen Bereitstellung verringert. Eigenentwickelten Tools mangelt es an Skalierbarkeit in allen drei Aspekten: Menschen, Prozesse, Technik. Sie möchten, dass sich Ihre Mitarbeiter auf Ihren Wettbewerbsvorteil konzentrieren; fokussiert auf Ihren Differenzierungswert. Nicht den Aufbau und die Instandhaltung von Infrastrukturen. Sie möchten, dass Ihr Prozess durchgängig automatisiert wird. Um Bereitstellungen effizient zu skalieren, müssen Teams den gesamten Prozess unkompliziert, zuverlässig und wiederholbar gestalten. Continuous Deployment orchestriert Tests, Sicherheitsscans und den Promotion-Lebenszyklus in jedem Cluster und jeder Umgebung, unabhängig davon, wie viele Cluster und Umgebungen vorhanden sind, und reduziert vor allem das Risiko, Ihr Kundenerlebnis negativ zu beeinflussen. Egal, ob Sie von 10 auf 1000 Entwickler oder 1000 oder 10.000 und mehr aufsteigen, ein guter Continuous-Deployment-Workflow bleibt einfach zu warten, effizient und effektiv.

BN: Welche Rolle spielen Technologien wie Containerisierung? zu spielen?

AF: Container virtualisieren Softwareschichten oberhalb der Betriebssystemebene und machen sie zu leichtgewichtigen Softwarepaketen, die alle Abhängigkeiten enthalten, die zum Ausführen der enthaltenen Software erforderlich sind. Da sie leichtgewichtig sind, können sie sehr schnell modifiziert und iteriert werden. Das macht sie perfekt für Continuous Deployment. Sobald der kontinuierliche Integrationsprozess erfolgreich abgeschlossen wurde und ein neues Artefakt vorhanden ist; B. ein neues Container-Image, übernimmt der Continuous Deployment-Workflow die umgebungsübergreifende Bereitstellung und orchestriert sie. Dadurch wird sichergestellt, dass das Artefakt sicher und sicher seinen Weg zur Produktion findet.

Bildnachweis: Elnur_/depositphotos.com

By Henry Taylor

Ich arbeite als Backend-Entwickler. Einige von Ihnen haben mich vielleicht auf der Entwicklerkonferenz gesehen. In letzter Zeit arbeite ich an einem Open-Source-Projekt.