Sysdig Container Usage Report 2019: Neue Kubernetes und Sicherheitsdetails


Wir freuen uns, Ihnen heute den Sysdig- Container-Nutzungsbericht für 2019 ( Sysdig-Container-Nutzungsbericht 2019) vorlegen zu können . Kubernetes gewinnt immer mehr an Dynamik, Cloud-Architekturen werden zunehmend erforscht, und all dies verändert nicht nur die Nutzungsmuster, sondern auch die Prozesse und Organisationsstrukturen. Überraschenderweise hat sich in diesem Jahr die Anzahl der Container verdoppelt, deren Lebensdauer 5 Minuten nicht überschreitet. Je dynamischer die Services werden, desto besser erkennen Cloud-Teams die Notwendigkeit, Sicherheit in DevOps-Prozesse zu integrieren. Im Rahmen unseres Nutzungsberichts für 2019 untersuchen wir erstmals Sicherheits- und Compliance-Details sowie eine Reihe von Details zur Verwendung von Containern, Kubernetes und mehr durch Kunden.


Eindeutige Sysdig Position


Die Sysdig Secure DevOps Platform bietet eine echte Perspektive auf Infrastruktur, Anwendungen und Container. Unser Bericht deckt Unternehmen auf der ganzen Welt und in vielen Bereichen ab. In diesem Jahr haben wir Details zu lokalen SaaS- und Sysdig-Benutzern hinzugefügt, um Ihnen ein Bild der kommerziellen Nutzung von zwei Millionen bereitgestellten Containern zu vermitteln.


Mehr zu den Ergebnissen.


Welche Containerplattformen werden bereitgestellt?


In unserem Bericht für 2018 haben wir beschrieben, wie die Open Container Initiative (OCI) zur Einführung alternativer Container- Startumgebungen beigetragen hat. Dies geschah im Jahr 2019 in großem Stil: Das Containerd-Projekt erreichte einen signifikanten Anteil von 18%. Aus Gründen der Fairness sollte beachtet werden, dass containererd von Docker verwendet wird. Zuvor implementierte die Engine sowohl High-Level- als auch Low-Level-Funktionen der Startumgebung. Jetzt sind sie in zwei separate Projekte unterteilt: containerd und runc.



CRI-O debütierte in diesem Jahr. Wir waren unter anderem von dem niedrigen Entwicklungsstand heute überrascht. CRI-O, die Kubernetes-Lightweight-Runtime, erschien 2016 auf Red Hat und wurde 2019 in CNCF © aufgenommen. Wir gehen davon aus, dass sich der Entwicklungsstand erhöhen wird, sobald Red Hat OpenShift-Benutzer von Version 3 auf Version 4 migrieren, wobei CRI-O die zuvor verwendete Docker-Engine ersetzt.


Die Dichte der Container auf einem physischen Server wächst um 100%


Im vergangenen Jahr hat sich die durchschnittliche Anzahl der Container pro physischem Server auf 30 verdoppelt, verglichen mit 15 im Jahr 2018 und 10 im Jahr 2017.



Wir glauben, dass diese Zahl aufgrund mehrerer Faktoren steigen wird:


  • Eine Zunahme der Anzahl von Anwendungen, die auf die Cloud-Infrastruktur migriert werden;
  • Einbeziehung von Daten von lokalen Sysdig-Clients, auf denen größere und dichtere Cluster ausgeführt werden.
  • Das Anwachsen der Rechenleistung, wodurch mehr Container auf jedem Server arbeiten können.

Im Jahr 2019 betrug die maximale Containerdichte pro Knoten 250, was einer Steigerung von 38 Prozent gegenüber 2018 entspricht.


Container Orchester: Kubernetes dominiert


Es ist nicht verwunderlich, dass Kubernetes als Instrument der Orchestrierung de facto bis zu 77% des Anteils der verwendeten Orchestratoren einnahm. Diese Zahl erhöht sich auf 89%, wenn Sie Red Hat OpenShift und Rancher - beide auf Kubernetes basierend - hinzufügen. Und hier ist die aktuelle Situation in Zahlen:



Welche Plattform wählen lokale Kunden?


Wenn Sie die Daten für Unternehmen trennen, die die Sysdig-Plattform lokal bereitstellen, ändert sich das Bild der Orchestrierung erheblich. In diesem Segment übernimmt die Red Hat OpenShift Container Platform die Führung. Der Hauptgrund dafür ist, dass Benutzerorganisationen, die in der Regel groß und vorsichtig sind, die Vorteile von Kubernetes nutzen möchten, dies jedoch lieber mit kommerziell unterstützten lokalen Lösungen wie Platform as a Service (PaaS) wie OpenShift tun.



Ebenfalls im Bericht 2019 untersuchen wir Statistiken zur Nutzung von Public Clouds. Laden Sie es für Details herunter .


Sicherheit und Compliance


"Implementiere Sicherheit im Voraus" ist zu einer zwanghaften Phrase geworden. Es beschreibt einen Ansatz, bei dem Sicherheit in den frühen Phasen des Entwicklungslebenszyklus eingebettet ist. Im Allgemeinen verstehen Containerorganisationen, wie Sicherheit und Compliance in den DevOps-Workflow integriert werden. Um einen Einblick in die Sicherheit und Compliance in Containern und Kubernetes zu erhalten, analysieren wir Daten aus den Bereichen Scannen nach Schwachstellen, Sicherheit der Startumgebung und CIS-Compliance.


Schwachstellenmanagement


Clients scannen Bilder, um Container-Schwachstellen in CI / CD-Pipelines und Container-Registern zu erkennen, zu blockieren und zu beseitigen. Im vollständigen Bericht sehen wir uns die verwendeten Register an, den Prozentsatz der Bilder, die aus öffentlichen und privaten Repositories extrahiert wurden. Wir geben auch das Verhältnis zwischen erfolgreichem und nicht erfolgreichem Scannen von Bildern auf Sicherheitslücken an. Hier sind einige Schlussfolgerungen.


Bildextraktion: Öffentliche und private Repositorys


Wie viele Container werden aus öffentlichen oder privaten Repositories abgerufen? Wir haben festgestellt, dass 40% der Bilder aus öffentlich zugänglichen Quellen stammen.



Die Verwendung von Container-Images aus offenen Repositorys ist problematisch, da nur wenige die Standards erfüllen oder auf Sicherheitslücken überprüft werden. Nehmen wir zum Beispiel den Docker Hub : Die Bilder mit den Bezeichnungen "Certified", "Official" und "Verified Publisher" sind vertrauenswürdiger. Von den drei Millionen auf dem Server gehosteten Bildern weisen jedoch weniger als 1% solche Bezeichnungen auf. Um das Risiko zu minimieren, erstellen Cloud-Teams Richtlinien, um zu bestimmen, welche Containerregister für die Verwendung in ihren Organisationen genehmigt werden können.


Bildscan


Unabhängig von der Quelle sollten Sie ein Image auf bekannte Sicherheitslücken prüfen, bevor Sie es in einer Produktionsumgebung bereitstellen. Dies ist eine bewährte Methode, die nicht zu vernachlässigen ist. Um das Ausmaß der Risiken oder Schwachstellen zu beurteilen, haben wir Proben der Bilder entnommen, die den Scan über einen Zeitraum von 5 Tagen bestanden und nicht bestanden haben. Mehr als die Hälfte der Bilder hat den Test nicht bestanden, so dass darin bekannte Schwachstellen mit hohem und sehr hohem Gefährdungsgrad identifiziert wurden.



Sicherheitsrisiken


Nachdem Entwickler bekannte Probleme behoben haben, müssen Cloud-Teams Richtlinien festlegen, die ein anormales Verhalten feststellen und die Auslösung einer Sicherheitswarnung in einer Produktionsumgebung erzwingen. Die Sicherheitsstartumgebung für Kubernetes ist etwas Neues für Unternehmen, aber sie verstehen schnell, was was ist. Im vergangenen Jahr steuerte Falco , das Open-Source-Sicherheitsprojekt von CNCF für die Sicherheit der Startumgebung, 6,7 Millionen Mal Sysdig vom Docker Hub bei. Das sind 252% mehr als im Vorjahr.


Wir haben einen Richtlinienverstoß im Zusammenhang mit der Menge an Warnungen untersucht, die Clients von Sysdig Secure erhalten haben, wodurch die Sicherheit der Startumgebung mit Falco-Richtlinien automatisiert wird. Es identifiziert die Arten von Sicherheitsrisiken, denen Containerbenutzer am häufigsten ausgesetzt sind. Unter diesen sind die häufigsten:



1 - Versuche, auf vertrauliche Volumes, Verzeichnisse oder Dateien zuzugreifen; 2 - Erste Schritte mit zu vielen Berechtigungen oder Versuchen, Berechtigungen zu erweitern; 3 - Starten einer Befehlsshell von einem angeschlossenen Terminal aus


In einem vollständigen Bericht über die Verwendung untersuchen wir 10 Verstöße im Detail, ordnen sie nach Häufigkeit ein und erläutern gleichzeitig die potenzielle Bedrohung.


Compliance


Um das Risiko zu verringern und die Compliance-Standards, einschließlich PCI-DSS, HIPAA und GDPR, einzuhalten, sollten Unternehmen Server und Container regelmäßig anhand bewährter Verfahren überprüfen. Audits, die mit den in CIS integrierten Benchmarks für Docker-Überprüfungen in Sysdig Secure durchgeführt wurden, zeigen, dass noch Verbesserungspotenzial besteht. Zum Beispiel haben wir herausgefunden, dass es normalerweise auf Containerservern gibt:



Top 10 Open Source Container Lösungen


Open Source hat das Gesicht der unternehmensweiten Datenverarbeitung verändert. Es treibt nicht nur Innovationen in der gesamten Infrastruktur voran, sondern insbesondere auch in der Anwendungsentwicklung. Sysdig öffnet automatisch die Prozesse in den Containern, um die Lösungen anzuzeigen, aus denen die Cloud-Services bestehen, die unsere Kunden in der Produktionsumgebung ausführen. Und hier sind die Top 10 von ihnen:



Zu den neuen Produkten in diesem Jahr zählen Node.js und Go (auch bekannt als Golang), die Java in Bezug auf die Nutzung voraus sind. Java gilt zu Recht als eine der herausragenden Programmiersprachen. DevOps- und Cloud-Teams bevorzugen offenbar neuere Optionen wie Go, die von Google-Ingenieuren erstellt wurden, zum Teil, weil sie einfacher zu verwenden sind. Mit Node.js, einem JavaScript-Framework, können Sie problemlos Code schreiben, der sowohl auf Servern als auch in Browsern gleichermaßen funktioniert. Es eignet sich auch gut für eine neue Generation von Datenbanken wie CouchDB und MongoDB, die Abfragen mit JavaScript unterstützen.


Behälter-Leben


Parameter wie lange (oder wie wenig) Container leben, Containerbilder und Services sind eines der beliebtesten Themen in unserem Bericht für 2018. Es zeigt, wie dynamisch moderne Anwendungen sowohl in Bezug auf die Entwicklung als auch in Bezug auf die Laufzeit sind.


Kurze Behälterlebensdauer


Im Vergleich der Lebensdauer von Containern von Jahr zu Jahr haben wir festgestellt, dass sich die Anzahl der Container, die weniger als 10 Sekunden haltbar sind, verdoppelt hat und 22% betrug. Gleichzeitig verdoppelte sich auch die Anzahl der Container, die 5 Minuten oder weniger leben.



Viele Behälter benötigen nur eine kurze Lebensdauer, um die Funktion zu erfüllen und sich sofort selbst zu zerstören. Sekunden sind anscheinend nicht genug, aber für einige Prozesse ist mehr nicht erforderlich. Wir glauben, dass der vermehrte Einsatz von Kubernetes-Jobs, die Endaufgaben wie Batch-Jobs ausführen, zu diesem Wachstum beigetragen hat. Um mehr zu sagen, wir erwarten eine Zunahme der Anzahl von Containern mit niedrigem Lebensstandard, insbesondere auf serverlosen Plattformen, die sich gut für kurzfristige Aufgaben eignen.


Die Vergänglichkeit von Behältern ist einer der einzigartigen Vorteile der Technologie. Gleichzeitig werden Aufgaben wie "Probleme mit Sicherheit, Leistung und Leistung erkennen" erheblich verkompliziert. Echtzeitüberwachungs-, Sicherheits- und Compliance-Tools, die angesichts kurzlebiger Prozesse eine Echtzeitbeobachtbarkeit ermöglichen, sind der Schlüssel zu einem erfolgreichen Betrieb.


Kontinuierliche Entwicklung und Lebensdauer von Bildern


Container sind der perfekte Begleiter für Agilität. Sie beschleunigen die Entwicklung und Freigabe von Code, häufig in Form von containerisierten Mikroseurisen. Wir haben festgestellt, dass mehr als die Hälfte der Containerbilder in einer Woche oder weniger ersetzt oder überarbeitet wurden. Dies ist ein Hinweis darauf, wie kurz die Zeit zwischen den Code-Releases ist. Dies weist außerdem darauf hin, dass die CI / CD-Pipelines Entwicklerteams dabei unterstützen, Softwareupdates mit ungewöhnlich hoher Geschwindigkeit bereitzustellen.



Spezielle Codemetriken


Spezielle Codemetriken ermöglichen DevOps-Entwicklern und -Teams, den Code anzupassen, um eindeutige Metriken zu erfassen. Von den drei grundlegenden Lösungen: JMX, StatsD und Prometheus hat sich Prometheus im vergangenen Jahr als führend in Bezug auf Benutzerfreundlichkeit herausgestellt. Tatsächlich hat die Verwendung von Prometheus-Metriken für unsere Kunden, die benutzerdefinierte Metriken verwenden, im Laufe der Jahre um 130% zugenommen. Die JMX-Metriken (für Java-Anwendungen) und StatsD werden immer seltener verwendet (45% bzw. 17% in diesem Jahr), da die Verwendung neuer Programmierframeworks, die Prometheus unterstützen, zunimmt.



Die wichtigsten Metriken und Exporteure von Prometheus, die von Sysdig-Kunden verwendet werden, finden Sie im vollständigen Bericht.


Top Notrufeinstellungen


Die Notfalleinstellungen der Sysdig-Clients zeigen deutlich, welche Cloud-Befehle die größte Bedrohung für den Container-Betrieb darstellen. Die häufigsten Notfalleinstellungen haben sich zugunsten der Kubernetes-Infrastruktur verschoben, wobei der Schwerpunkt weiterhin auf der Ressourcennutzung und der Verfügbarkeit liegt. Hier sind die Top 3 von über 800 einzigartigen Notfalleinstellungen, die an Sysdig-Clients verteilt wurden:



Außerdem können Warnungen für bestimmte Tags oder Cloud-Verknüpfungen / Kubernetes konfiguriert werden. Angenommen, anhand des Beispiels aus den obigen Warnungen können Sie die Warnung "cpu.used.percent" an einen einzelnen Namespace vom Typ "istio-system" oder an einen bestimmten Pod-Namen vom Typ "envoy" im Namespace binden. Siehe die oberen Warnungsbindungen im vollständigen Bericht.


Kubernetes Usage Patterns


Wie viele Cluster verwalten Benutzer? Wie viele Pods auf jedem Knoten? Verwendet jemand Kubernetes Jobs? Der Bericht 2019 beantwortet diese und andere Fragen. Das folgende Beispiel zeigt, welche Clients mit Kubernetes bereitgestellt werden.


Einige Clients installieren nur wenige Cluster - einen größeren und einen etwas kleineren -, während andere eine beeindruckende Flotte von vielen Clustern unterschiedlicher Größe haben. Die folgenden Tabellen zeigen die Verteilung der Anzahl der Cluster und der Anzahl der Knoten pro Cluster für Sysdig-Plattform-Clients:



Eine große Anzahl von Clients, die einen einzelnen Cluster verwalten, oder eine kleine Anzahl von Clients, deuten darauf hin, dass viele Unternehmen gerade erst mit der Entwicklung von Kubernet beginnen. Das Beobachtungsergebnis wurde auch durch den Einsatz von Kubernetes Managed Services in Public Clouds beeinflusst. Mit Diensten wie EKS (Amazon Elastic Kubernetes Service), GKE (Google Kubernetes Engine), AKS (Azure Kubernetes Service) und IKS (IBM Cloud Kubernetes Service) können Benutzer Cluster beliebig schnell drehen und teilen.


Die Anzahl der Pods pro Cluster


Pods sind das kleinste einsetzbare Objekt in Kubernetes. Sie bestehen aus einem oder mehreren Containern mit einem gemeinsamen Speicher und Netzwerk sowie einer Spezifikation zum Starten von Containern. Hier ist eine Analyse der Benutzer der Sysdig-Plattform:



Wichtig! Diese Tabelle wurde aktualisiert, um den Fehler im Originalbild zu korrigieren. Vielen Dank an Chris Collins - aka @ChrisInDurham - für das Bemerken des Problems!


Anzahl der Pods pro physischem Server


Der Pod ist auf dem physischen Server vorhanden, bis alle Prozesse abgeschlossen sind. Er kann jedoch gelöscht werden, wenn er auf einen anderen Server verschoben wird, wenn nicht genügend Ressourcen vorhanden sind oder der physische Server ausfällt. Hier ist eine Momentaufnahme der Verteilung von Pods auf den Server für Benutzer der Sysdig-Plattform:



Informationen zur Anzahl der Kubernetes-Namespaces, Bereitstellungen, StatefulSets und Tasks finden Sie im vollständigen Bericht.


Schlussfolgerungen


Seit unserem letzten Verwendungsbericht hat sich die Containerdichte verdoppelt, und es ist offensichtlich, dass die Entwicklungsgeschwindigkeit zunimmt, wenn Sie sich daran gewöhnen. Die wichtigsten Ergebnisse unseres dritten Jahresberichts unterstreichen die Notwendigkeit, dass Unternehmen Schritte unternehmen, um sich auf das erwartete schnelle Wachstum vorzubereiten:


  • Unternehmen sollten in Kubernetes-Tools investieren, um skalierbare Vorgänge zu vereinfachen.
  • Die Echtzeit-Beobachtbarkeit, die detaillierte Audit- und Analyseprotokolle für Container mit geringer Lebensdauer bietet, ist für die Betriebssicherheit von entscheidender Bedeutung.
  • Um den Risiken für die Laufzeit einen Schritt voraus zu sein, müssen Cloud-Teams jetzt handeln und die Sicherheit in DevOps integrieren.
  • Da Prometheus seine Position als führender Anbieter von Standards für die Erfassung von Metriken für Cloud-Anwendungen festigt, sollten Benutzer lernen, wie man es verwendet und gleichzeitig Zuverlässigkeit und Skalierbarkeit bietet.

Laden Sie den vollständigen Sysdig-Nutzungsbericht für 2019 herunter, um alle Details zu erfahren.

Source: https://habr.com/ru/post/de479682/


All Articles