Heim  >  Artikel  >  System-Tutorial  >  DevOps und Cloud Computing sind voneinander abhängig und eng miteinander verbunden

DevOps und Cloud Computing sind voneinander abhängig und eng miteinander verbunden

WBOY
WBOYnach vorne
2024-01-18 22:24:051005Durchsuche

Das bestimmende Merkmal von Software ist Weichheit. Vergleichen Sie beispielsweise ein Klapphandy mit einem Smartphone. Wenn Sie die Farbe der Taste eines Klapptelefons ändern möchten, wären Änderungen am Herstellungsprozess erforderlich, da es sich bei der Taste um ein massives Stück Kunststoff handelt. Von der Idee bis zur Marktumsetzung können Wochen oder sogar Monate vergehen. Allerdings verwenden Smartphones eine Software zur Anzeige ihrer Schlüssel, und der Umfang der Änderung ist lediglich eine Codezeile in der Konfigurationsdatei. Dieser Wandel dauert von der Idee bis zur Marktumsetzung nur Stunden oder sogar Minuten.

DevOps und Cloud Computing sind voneinander abhängig und eng miteinander verbunden

Warum brauchen Rechenzentren also mehr Software?

Und in den letzten Jahren ist fast jedes Unternehmen ein Softwareunternehmen, und Unternehmen, die Rechenzentren nutzen, verlangen möglicherweise vor allem Geschwindigkeit. Für sie bedeutet Geschwindigkeit agile Softwaremethoden und schnelle Iteration, und der effizienteste Weg, die besten Ideen zu finden, besteht darin, so viel Software wie möglich zu veröffentlichen. Dadurch erhöhen sich ihre Chancen, mehr zu gewinnen als ihre Konkurrenten, was sich in höheren Einnahmen für das Unternehmen niederschlägt.

Deshalb sind DevOps und Cloud Computing wichtig: Geben Sie ihnen die Geschwindigkeit, nach der sie sich sehnen.

Entwicklungsarbeit für Entwickler

Wenn ein Unternehmen von Entwicklern verlangt, ein Ticket zu erstellen, um eine virtuelle Maschine zu starten, die die tatsächliche Nutzung dieser gut verwalteten Hardware im Rechenzentrum erfordert, muss es den Kunden (d. h. Entwicklern) leicht gemacht werden, diese zu nutzen.

Der Job eines Entwicklers dreht sich in der Regel um einen zweiwöchigen Entwicklungsprozess, bei dem es darum geht, bestimmte Funktionen zu implementieren oder Fehler aus einer Prioritätenliste zu beheben. Die Liste der zu erledigenden Punkte wird von Fachleuten gepflegt und organisiert, und jeder Entwickler im Team stößt auf ein Problem und erledigt es, bevor er mit der nächsten Anforderung fortfährt.

Es gibt weitere Details zu diesem Fristablauf. Dabei geht es darum, eine Umgebung einzurichten, die so produktionsähnlich ist, dass sie für bestehende Aufgaben geeignet ist, und dann automatisierte Tests für neue Funktionen zu schreiben. Wenn diese Tests erfolgreich sind, weiß der Entwickler, dass die Arbeit abgeschlossen ist. Dieser Ansatz wird als „testgetriebene Entwicklung“ bezeichnet. Wenn Umgebungen erstellt und Tests geschrieben werden, kommt den Entwicklern die Aufgabe zu, Code zu schreiben, der neue Funktionen implementiert, oft indem sie das Problem in kleinere Teile aufteilen, an jedem einzelnen arbeiten und die Teile in der Entwicklungsumgebung bereitstellen.

Zunächst werden alle Tests fehlschlagen. Je mehr dieser Schleifen, die einzelne Snippets kodieren, abgeschlossen sind, desto mehr Tests werden schließlich alle bestanden, was darauf hinweist, dass die Arbeit abgeschlossen ist. Der Code wird dann in ein Quellcodeverwaltungssystem wie Git eingecheckt, wo die Automatisierung den neuen Code in der Staging-Umgebung bereitstellt (und möglicherweise eine völlig neue Staging-Umgebung erstellt) und nicht nur die neue Funktionalität, sondern alle vorherigen Tests ausführt. . Wenn alle diese Tests erfolgreich sind, kann der Code als Teil einer manuellen Version gestapelt werden. Je nachdem, wie das Team arbeitet, wird es auch durch eine andere Automatisierung sofort in der Produktion bereitgestellt.

Eine große Anzahl von Schleifen, um Wartezeiten zu minimieren

Der Zweck dieses Schleifenprozesses besteht darin, einen kleinen Codeabschnitt in eine vollständige Funktion zu integrieren, und jede in die Schleife eingefügte Wartezeit wirkt sich nachteilig auf die Effizienz und die Entwicklermoral aus. Angenommen, Sie sind für eine neue Funktion verantwortlich und versuchen, eine Entwicklungsumgebung für den Code zu erstellen, nur um dann einen ganzen Tag zu warten, während der Ticketprozess eine virtuelle Maschine für die Umgebung konfiguriert. Dies führt zu einem Produktivitätsverlust, der den Zyklus verlangsamt.

Stellen Sie sich nun vor, dass eine neue Umgebung mit virtuellen Maschinen in wenigen Minuten oder mit Containern in Sekundenschnelle erstellt werden kann. Diese Situation ermöglicht es Entwicklern, schneller zum Kern ihrer Arbeit zu gelangen: dem Schreiben von Code. Durch die Minimierung der Wartezeiten werden ihre Effizienz und Arbeitsmoral steigen. Wenn sie in ihren eigenen Rechenzentren keine minimalen Wartezeiten erreichen können, greifen sie auf öffentliche Cloud-Alternativen zurück.

Wie DevOps-Erfolg aussieht

Nun, bei DevOps geht es darum, die Automatisierung dieser Umgebungen zu entwerfen, die Entwickler während des Entwicklungs- und Bereitstellungszyklus benötigen, um ihre Wartezeit zu minimieren und es ihnen zu ermöglichen, mehr Iterationen auf ihrer Codebasis zu erhalten. Angesichts der Tatsache, dass sich diese Umgebungen in einem sich ständig verändernden Zustand befinden, sind sie natürliche Verbündete für den Cloud-basierten Konsum. Wenn Unternehmen jedoch Druck auf Entwickler ausüben, ihre Präferenzen für öffentliche und private Clouds festzulegen, werden sie wahrscheinlich sagen, dass Geschwindigkeit wichtiger ist als Details.

Vor diesem Hintergrund ermöglicht die erfolgreiche Implementierung von DevOps, dass Cloud Computing die Ressourcen, die zur Unterstützung der verschiedenen am Entwicklungs- und Bereitstellungsprozess beteiligten Umgebungen erforderlich sind, sofort aktiviert. Und die Integration von Sicherheit, Überwachung und anderen Aspekten der Umgebung, die Rechenzentrumsbetreibern am Herzen liegen, ist von entscheidender Bedeutung, geht jedoch nicht auf Kosten der Geschwindigkeit. Ohne die Möglichkeit, wichtige Aspekte der Verwaltung virtueller Maschinen zu automatisieren, haben Entwickler nicht die Möglichkeit, externe Ressourcen zur Bereitstellung von Verwaltungsanforderungen bereitzustellen.

Zusammenfassung

Im Laufe der Jahre sind Entwickler und Betreiber manchmal aneinandergeraten und haben sich gegenseitig die Schuld gegeben. In den vergangenen Jahren hatten die IT-Abteilungen ein Monopol auf Hosting-Optionen für die Softwareentwickler, die sie entwickelten, aber die Public Cloud hat all das verändert und eine Ära der automatisierten Umgebungserstellung eingeläutet, die zum neuen Standard für Entwickler wurde. Das Rechenzentrumsgeschäft kann immer noch das Gleiche tun, indem es DevOps-Automatisierung in den Entwicklungsprozess einbaut, und die Aufmerksamkeit von Entwicklungsteams zu gewinnen, die eng mit dem Umsatz des Unternehmens verbunden sind, ist nicht nur möglich, sondern auch ein Muss.

Das obige ist der detaillierte Inhalt vonDevOps und Cloud Computing sind voneinander abhängig und eng miteinander verbunden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen