{"id":11111,"date":"2017-05-23T14:36:57","date_gmt":"2017-05-23T12:36:57","guid":{"rendered":"https:\/\/www.sysbus.eu\/?p=11111"},"modified":"2017-05-22T11:42:19","modified_gmt":"2017-05-22T09:42:19","slug":"die-richtige-storage-loesung-fuer-die-moderne-software-entwicklung","status":"publish","type":"post","link":"https:\/\/www.sysbus.eu\/?p=11111","title":{"rendered":"Die richtige Storage-L\u00f6sung f\u00fcr die moderne Software-Entwicklung"},"content":{"rendered":"<figure id=\"attachment_11109\" aria-describedby=\"caption-attachment-11109\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2017\/05\/Siebler.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-11109\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2017\/05\/Siebler-300x205.jpg\" alt=\"\" width=\"300\" height=\"205\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2017\/05\/Siebler-300x205.jpg 300w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2017\/05\/Siebler-130x90.jpg 130w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2017\/05\/Siebler.jpg 701w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-11109\" class=\"wp-caption-text\">Clemens Siebler, Manager Solution Architects EMEA bei NetApp und Experte f\u00fcr<br \/>NetApp SolidFire<\/figcaption><\/figure>\n<p>Autor\/Redakteur: <a href=\"http:\/\/www.netapp.com\/de\/index.aspx\">Clemens Siebler, Manager Solution Architects EMEA bei NetApp und Experte f\u00fcr NetApp SolidFire<\/a>\/gg<\/p>\n<p>Unternehmen stehen vor der Herausforderung, schnell und agil neue Produkte auf den Markt bringen zu m\u00fcssen. Daf\u00fcr setzen sie zunehmend auf DevOps-Verfahren und Container-Technologie. Doch damit IT-Experten die neuen M\u00f6glichkeiten voll aussch\u00f6pfen k\u00f6nnen, brauchen sie eine geeignete Infrastruktur im Hintergrund. Eine wichtige Rolle spielt dabei der Speicher.<\/p>\n<p><!--more--><\/p>\n<p>Wer sich im Wettbewerb behaupten will, muss in der Lage sein, flexibel auf ver\u00e4nderte Marktanforderungen und Kundenw\u00fcnsche zu reagieren. Die Voraussetzung: k\u00fcrzere Software-Release-Zyklen. Um dies zu erreichen, wenden viele Unternehmen DevOps-Methoden an. Sie dehnen agile Methoden aus der Entwicklung auf den IT-Betrieb aus und automatisieren dabei so viele Prozesse wie m\u00f6glich. Ein Beispiel ist die testgetriebene Software-Entwicklung. Sie kehrt die \u00fcbliche Vorgehensweise um: Statt erst zu implementieren und dann zu testen, \u00fcberlegen Entwickler vorab, wie sie ein Feature automatisiert testen k\u00f6nnen. Zudem sind viele Anwendungen heute f\u00fcr den Einsatz in einer Cloud-Umgebung gedacht. Hier kommt die Container-Technologie ins Spiel. Sie kapselt alles, was eine Applikation zum Funktionieren braucht, in ein Paket. Dadurch l\u00e4sst sich eine Anwendung ohne Konfigurationsaufwand automatisiert in verschiedenen Umgebungen ausrollen.<\/p>\n<p><strong>Schnelle Performance f\u00fcr Continuous Integration und Continuous Delivery<\/strong><\/p>\n<p>Zu den g\u00e4ngigen DevOps-Methoden z\u00e4hlen Continuous Integration und Continuous Delivery. Code wird nicht mehr zu festgelegten Zeiten, sondern fortlaufend integriert. Jeder Entwickler im Team legt daf\u00fcr seinen Beitrag in einem zentralen Repository ab. Kompilier- und Packingprozesse erfolgen automatisiert, ebenso wie die Testabl\u00e4ufe. Hier zahlt sich ein performanter Speicher aus. Je mehr Input\/Output Operations (IOPS) pro Sekunde er leisten kann, und desto mehr Effizienzfeatures wie zum Beispiel Cloning unterst\u00fctzt werden, desto schneller erhalten Entwickler die Testergebnisse und desto eher k\u00f6nnen sie auf eventuelle Fehler reagieren. W\u00e4hrend Tests fr\u00fcher, bedingt durch viele Kopiervorg\u00e4nge, mehrere Stunden dauerten und oft \u00fcber Nacht abliefen, ben\u00f6tigen sie mit einer modernen All-Flash-L\u00f6sung oft nur wenige Minuten.<\/p>\n<p><strong>Automatisiertes Klonen<\/strong><\/p>\n<p>Testen nimmt einen wichtigen Stellenwert in der Software-Entwicklung ein. Um aussagekr\u00e4ftige Ergebnisse zu erzielen, brauchen Mitarbeiter eine m\u00f6glichst produktionsnahe Testumgebung. Das k\u00f6nnen moderne All-Flash-Systeme unterst\u00fctzen. Sie erm\u00f6glichen es, eine Produktionsdatenbank auf Knopfdruck zu klonen, sodass Entwickler ihre Applikationen unter denselben Bedingungen testen k\u00f6nnen wie in der Produktivumgebung. Auch wenn ein Datenbank-Update erforderlich ist, bringt diese Funktion einen entscheidenden Vorteil. IT-Verantwortliche k\u00f6nnen erst einmal in der Testumgebung pr\u00fcfen, ob die neue Version Konflikte verursacht, bevor sie sie produktiv schalten. Das vermeidet Komplikationen.<\/p>\n<p><strong>Keine Chance f\u00fcr \u201elaute Nachbarn\u201c<\/strong><\/p>\n<p>Entwickler setzen h\u00e4ufig Plattformen wie OpenShift oder Kubernetes ein. Diese sind darauf ausgelegt, dass mehrere Teams gleichzeitig an unterschiedlichen Applikationen arbeiten. Damit sich die Anwendungen nicht gegenseitig die Speicher-Performance streitig machen, muss der Storage das sogenannte Noisy-Neighbour-Problem l\u00f6sen. Herk\u00f6mmliche Systeme vergeben Ressourcen nach dem Prinzip: Wer am lautesten schreit, bekommt am meisten. Das kann dazu f\u00fchren, dass eine Performance-hungrige Applikation sich den Gro\u00dfteil der Ressourcen schnappt und f\u00fcr die Nachbarn zu wenig \u00fcbrigbleibt. Mit einer modernen All-Flash-L\u00f6sung wie SolidFire k\u00f6nnen IT-Verantwortliche die Ressourcen-Verteilung kontrollieren: Allen Applikationen steht zun\u00e4chst die gesammelte Performance aller Speicherknoten zur Verf\u00fcgung. F\u00fcr jedes Volume l\u00e4sst sich dann ein maximaler, ein minimaler und ein Burst-Wert festlegen. Der Minimalwert bezeichnet die garantierten IOPS. Dadurch beeintr\u00e4chtigen sich parallele Entwicklungs- und Testumgebungen nicht, auch wenn sie auf derselben Plattform laufen. Sie k\u00f6nnen sogar auf derselben Plattform laufen wie die Produktivumgebung. Entwickler sparen sich dadurch den Aufwand, zus\u00e4tzliche Hardware aufzusetzen.<\/p>\n<p><strong>Automatisiertes Management<\/strong><\/p>\n<p>Je weniger Zeit die Storage-Provisionierung kostet, desto schneller k\u00f6nnen Entwickler auf die Ressourcen zugreifen, die sie f\u00fcr ihre Projekte ben\u00f6tigen. Ideal ist deshalb eine Storage-L\u00f6sung, die sich einfach und weitgehend automatisiert managen l\u00e4sst. Administratoren definieren in SolidFire daf\u00fcr zun\u00e4chst verschiedene Policies. Darin legen sie unterschiedliche Volume-Typen fest und weisen ihnen Minimum-, Maximum- und Burst-Werte zu. Ben\u00f6tigt ein Entwickler k\u00fcnftig Speicher f\u00fcr ein Projekt, kann er diesen selbst auf Knopfdruck bereitstellen. Der Prozess erfolgt anhand der Policies automatisiert und erfordert keinen Administrationsaufwand. Dadurch gewinnen IT-Verantwortliche Zeit f\u00fcr andere Aufgaben. Entwickler k\u00f6nnen autarker agieren und m\u00fcssen nicht erst Storage beantragen.<\/p>\n<p><!--nextpage--><\/p>\n<p><strong>Integration in OpenStack<\/strong><\/p>\n<p>Zudem setzen Entwickler vermehrt die Open-Source-Architektur OpenStack ein, um Cloud-Anwendungen zu programmieren. Moderne All-Flash-L\u00f6sungen wie SolidFire lassen sich in diese Umgebungen integrieren. F\u00fcr Entwickler hat das den Vorteil, dass sie den Speicher direkt aus dem System heraus managen k\u00f6nnen, in dem sie ohnehin schon arbeiten. Dadurch sparen sie Arbeitszeit und ben\u00f6tigen keine Storage-Kenntnisse, um zum Beispiel einen Cloning-Prozess anzusto\u00dfen oder eine virtuelle Maschine zu provisionieren.<\/p>\n<p><strong>Horizontale Skalierbarkeit f\u00fcr mehr Flexibilit\u00e4t<\/strong><\/p>\n<p>Plattformen wie Kubernetes oder OpenShift sind hervorragend skalierbar. Unternehmen k\u00f6nnen Ressourcen ganz nach Bedarf aufstocken oder reduzieren. Das verschafft ihnen die Flexibilit\u00e4t, die sie ben\u00f6tigen, um schnell auf Marktanforderungen zu reagieren. Traditionelle Storage-Systeme skalieren jedoch vertikal. Das hei\u00dft: Um die Performance zu steigern, m\u00fcssen IT-Verantwortliche neue Platten hinzuf\u00fcgen. Dies ist mit einem erh\u00f6hten Administrationsaufwand verbunden. Moderne All-Flash-Systeme skalieren dagegen horizontal. Performance und Kapazit\u00e4t lassen sich erweitern, indem man einfach einen neuen Node hinzuf\u00fcgt. Dieser wird automatisiert in den Cluster integriert. Administratoren m\u00fcssen daf\u00fcr keine Daten kopieren und nichts konfigurieren. W\u00e4hrend sie einen Speicherknoten hinzuf\u00fcgen, l\u00e4uft der Betrieb unbeeintr\u00e4chtigt weiter. Genauso einfach k\u00f6nnen sie einen Node auch wieder entfernen. Die gesammelten Ressourcen aller Speicherknoten stellt SolidFire in einem Performance-Pool und einem Kapazit\u00e4ts-Pool zur Verf\u00fcgung. Beide lassen sich unabh\u00e4ngig voneinander verwalten.<\/p>\n<p><strong>Datensicherheit f\u00fcr eine ungest\u00f6rte Entwicklung<\/strong><\/p>\n<p>Damit die Entwicklung schnell und ungest\u00f6rt ablaufen kann, darf sie auch dann nicht beeintr\u00e4chtigt werden, wenn einmal eine SSD oder gar ein Speicherknoten ausf\u00e4llt. Moderne All-Flash-Systeme arbeiten deshalb mit einem intelligenten Selbstheilungsprozess ohne RAID. Sie legen jeden Block nach der Deduplizierung und Komprimierung zweimal ab. Auf jedem Node befinden sich Metadaten, die angeben, wo sich welcher Block befindet und zu welcher Applikation oder welchem Volume er geh\u00f6rt. F\u00e4llt eine SSD aus, k\u00fcmmern sich die anderen im Array darum, die Daten neu im Cluster zu replizieren. So ist der vorherige Zustand innerhalb von wenigen Minuten wiederhergestellt. Im Vergleich dazu: Mit einem herk\u00f6mmlichen RAID-Rebuild-Mechanismus kann dies Stunden bis Tage dauern.<\/p>\n<p><strong>Fazit<\/strong><\/p>\n<p>Grunds\u00e4tzlich geht es in der modernen Software-Entwicklung darum, Prozesse so stark wie m\u00f6glich zu vereinfachen, zu automatisieren und zu optimieren. Das stellt neue Herausforderungen an den Speicher. Agile Methoden in der Software-Entwicklung und -Bereitstellung erfordern auch eine agile Storage-Infrastruktur. Sie muss problemlos in alle Richtungen skalierbar sein, eine schnelle Performance bieten und m\u00f6glichst einfach zu verwalten sein. Je mehr Automatisierung das Speicher-System unterst\u00fctzt, desto besser f\u00f6rdert es durchg\u00e4ngige, automatisierte DevOps-Prozesse. Unternehmen sparen dadurch Zeit und sind in der Lage, schneller auf Marktanforderungen zu reagieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Autor\/Redakteur: Clemens Siebler, Manager Solution Architects EMEA bei NetApp und Experte f\u00fcr NetApp SolidFire\/gg Unternehmen stehen vor der Herausforderung, schnell<\/p>\n","protected":false},"author":1,"featured_media":11109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[8,17],"tags":[9618,7150,6257,3137,1857,208,2430,4602,6264,1308,3648,3669,7360,6260,3414,9619,9617,951,609,1191,6679,857,1107,6976],"class_list":["post-11111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artikel","category-storage","tag-burst","tag-clone","tag-cloud","tag-container","tag-datenbank","tag-deduplizierung","tag-delivery","tag-devops","tag-entwicklung","tag-flash","tag-integration","tag-iops","tag-kubernetes","tag-management","tag-netapp","tag-node","tag-noisy-neighbour","tag-openshift","tag-openstack","tag-raid","tag-solidfire","tag-ssd","tag-update","tag-volume"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/11111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11111"}],"version-history":[{"count":1,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/11111\/revisions"}],"predecessor-version":[{"id":11112,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/11111\/revisions\/11112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/media\/11109"}],"wp:attachment":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}