DevOps-Automatisierung und einige Tools, die wir lieben gelernt haben.

Basierend auf meiner Arbeit im Laufe der Jahre hatte ich das Privileg, als Mentor für viele aufregende Startups aus der ganzen Welt zu dienen Google Developers-Launchpad Programm. Bei der Arbeit mit diesen Startups und ihren Produkten an der Verwendung von Technologie zum Aufbau von Skalierung gab es ein konsistentes wiederkehrendes Thema: Keine Liebe zur Automatisierung!

Sie haben verpasst, wie viel einfacher das Leben potenziell sein könnte, wenn sie automatisiert hätten oder wüssten, dass sie es könnten. Also musste ich immer wieder denselben aufmunternden Vortrag über die DevOps-Automatisierung und einige Tools halten, die ihnen auf ihrem Weg helfen könnten …

Sagen wir einfach, dieser Artikel ist die Papierversion dieser aufmunternden Gespräche 😃.

DevOps selbst.

DevOps ist ein aufkommender Begriff, der aus den Phrasen geprägt wurde Entwickler “Entwicklung und Ops Software-„Operationen“. Es ist eine Bewegung, die die Automatisierung und Überwachung aller Schritte im Lebenszyklus der Softwareentwicklung befürwortet.

Aber in einfachem Deutsch: Es ist eine Reihe von Prozessen und Tools, die helfen Entwickler und Ops Teams arbeiten schneller.

Die 6 Stufen (meistens).

Im Folgenden sind die sechs Phasen in fast jedem Softwareentwicklungslebenszyklus aufgeführt:

  1. Anforderungserfassung und -analyse.
  2. Entwurf.
  3. Implementierung oder Codierung.
  4. Testen.
  5. Einsatz.
  6. Wartung.

Worauf ich mich konzentrieren möchte, sind die Tools, die in den Phasen 4, 5 und 6 helfen können. Ich bin sicher, wir haben alle von Continuous Integration & Continuous Deployment (CI/CD) gehört, es ist einfach die Automatisierung, wie Code in unsere Produktion gelangt Server, anstatt dies manuell zu tun (was auch immer Ihre sein mag, ich habe verschiedene Formen davon erlebt. Zu viel Stress.). Mit anderen Worten, menschliche Eingriffe durch Maschinen ersetzen.

Tools, die ich verwendet und geliebt habe.

Das Ziel hier ist, Sie in die richtige Richtung zu weisen, Sie müssen auf die Dokumente klicken, um zu sehen, welche Sie bevorzugen und Ihrer Meinung nach gut passen.

So, Docker ist das erste Tool, das ich auf dieser Reise empfehlen würde. Es ist im Wesentlichen eine sehr leichte VM, die Ihnen helfen kann, einen reproduzierbaren, portablen und wiederverwendbaren Snapshot Ihrer Anwendung oder Teilen davon zu erstellen. Wenn Sie das gefürchtete „Äh, aber es hat in der Entwicklung funktioniert“ vermeiden möchten, ziehen Sie bitte diese Zeile. Es ist der heilige Gral, mein Freund, der heilige Gral.

Die nächsten Tools, die ich Ihnen empfehlen würde, um bei CI zu helfen, sind entweder Jenkins, CircleCI, TravisCI, Überholspur. Jenkins ist ein selbst gehosteter erweiterbarer Open-Source-Automatisierungsserver, während CircleCI und TravisCI kommerziell verwaltete Lösungen sind. (TravisCI hat auch eine Open-Source-Version). Fastlane ist eine Open-Source-Plattform, die darauf abzielt, den Entwicklungs- und Veröffentlichungs-Workflow für Android und iOS zu vereinfachen. Diese Tools können tatsächlich dabei helfen, automatisierte Tests durchzuführen und schließlich Ihre Anwendung zu erstellen, um sie für die Bereitstellung vorzubereiten. Bitte beachten Sie, dass es viele andere ebenso hervorragende Tools gibt, aber mit diesen habe ich gearbeitet.

Und schließlich würde ich Ihnen für die automatisierte Bereitstellung Ihrer Anwendungen empfehlen, sich eine der folgenden anzusehen Kubernetes, Core-Betriebssystem, Amazon EKS, Amazon ECS & Google GKE. Kubernetes ist ein selbst gehostetes Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen (mithilfe von Docker). Amazon EKS & Google GKE sind Cloud-gehostete verwaltete Lösungen. Wir verwenden derzeit Google GKE in der Produktion.

Ich hoffe, das war hilfreich.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *