Posts Tagged: ‘devops’

Automation war gestern, Orchestrierung ist heute – oder doch nicht?

14. Oktober 2014 Posted by frank eisenhardt

Was wird heute für die Integration der traditionellen IT mit den neuen Cloud-geborenen Anwendungen und deren Management benötigt? Automation oder Orchestrierung? Oder beides?

Automation ist eine der ältesten Funktionalitäten, die in der IT umgesetzt wurden. Das Ziel war immer klar definiert: Wiederkehrende Tätigkeiten sollten mit Hilfe von Automaten optimiert werden.  Das war im Prinzip schon immer das erklärte Vorgehen jeder Industrie, um Kosten zu sparen und für konstante Qualität zu sorgen. So hat es schon der berühmte Henry Ford zu Beginn des 20. Jahrhunderts mit seiner Fließbandtechnik vorgemacht.

Heute spricht man in der IT gerne von der Orchestrierung vieler Komponenten.  Es geht darum, sie im „Gleichklang“ schwingen zu lassen. Die Komponenten sind meistens Cloud-Services in ihren unterschiedlichen Ausprägungen wie SaaS, PaaS oder IaaS.  Auch hybride und mit traditionellen Backend-Systemen integrierte Services müssen orchestriert und assembliert werden. Dazu gehören vielfältige Governance-Funktionen wie zum Beispiel Brokering oder auch grundlegende Beschreibungs- und Modellierungsfunktionen. In der Autoindustrie zählen hierzu Schnittstellenbeschreibungen, Lieferanten- und Supply-Chain-Management.

Um die jeweiligen IT-Komponenten in diesem Sinne zu orchestrieren, bedarf es wiederum der altbekannten Automationstechniken, also etwa Runbook-Automation, Scripting, Scheduling und diverse technische Workflows. Außerdem lassen sie sich nur mit der entsprechenden Standardisierung sinnvoll automatisieren. In der Fertigungsstraße eines Autoherstellers bilden die einzelnen Schweiß-, Lackier- oder sonstige Roboter die Automationsschicht. Die Orchestrierung ist in ihren Anforderungen hingegen etwas weicher, dynamischer und flexibler – eher vergleichbar mit dem Lieferantenmanagement oder der Logistik von tausenden von Einzelteilen in der Automobilindustrie.

Im aktuellen Cloud-Kontext stellt sich die Orchestrierung auf den folgenden drei Ebenen dar:

image

Heute haben besonders die sogenannten DevOps Prozesse und Workloads eine wichtige Funktion, denn sie sind für die Einführungen der neuen Applikationen der obersten Ebene von zentraler Bedeutung ist. Die typischen IT-Automationen finden sich eher auf der Infrastrukturebe, die auch gerne mit Software-Defined überschrieben wird.

Wie lautet also die Antwort auf die Frage Automation oder Orchestrierung? Ganz einfach: Um in der Phase der IT-Transformation und der stetig wachsenden Vielfalt an hybriden Systemen und neuen Plattformen die Komplexität managen zu können, benötigen wir beide Technologien. Das bedeutet dann oftmals auch unterschiedliche, neue Tool-Anforderungen für diese Umsetzung.

Wie die Orchestrierung konkret mit der Automation zusammenspielt und wie man an dieses Thema herangehen kann wollen wir in diesem Blog diskutieren.

What is the relationship between PureSystems, BlueMix, SoftLayer, DevOps, and Cloud Foundry?

18. Juli 2014 Posted by Yathish Kumar

(This is a guest entry posted on behalf of Romeo Kienzler)

I’ve been asked this question many times by clients so I thought I’ll give a brief overview in this blogpost. In order to define relationships between these entities, I’ll first describe them briefly.

IBM PureSystems

PureSystems is called the “Expert Integrated Systems” because you don’t have to worry about configuration of nodes, storage, network, SAN and power anymore. Everything ships as an appliance and you only have to plug-in the power and network and you are ready to run. We have PureSystems on the IaaS (IBM PureFlex System), PaaS (IBM PureApplication System) and DbaaS (IBM PureData System) layers. These are meant for building private clouds in your data center.

image

IBM SoftLayer

This is IBM’s IaaS public cloud offering. In contrast to competition, IBM provides bare metal nodes and bare metal network components (routers, firewalls) in addition to the virtualized infrastructure components. All network traffic within the worldwide SoftLayer backbone is for free, so data center failover and real 24/7 SLA’s are now available not only for the financial service clients, but for everybody!

image

Cloud Foundry

I think Google started with the idea of a scalable component cloud called AppEngine. This idea has been picked up by Amazon with Beanstalk. These offerings are very innovative, but they lack one key aspect. They lock you into their middleware. So you cannot use common open and closed source application middleware and services (e.g. TOMCAT, PHP, MySQL, etc.). Therefore Cloud Foundry has been invented as open standard to build PaaS clouds and every application running on a Cloud Foundry compliant cloud can be migrated easily to other cloud service providers.

image

IBM Bluemix

Bluemix is IBM’s PaaS Cloud offering using Cloud Foundry and running on OpenStack/SoftLayer. In addition to Cloud Foundry, command line tools and Eclipse plugins, Bluemix also provides a Web Management console for managing application and services in Cloud Foundry running on Bluemix. And, of course, in addition to IBM supported open source runtimes and services you have the choice of the full IBM software portfolio. Also, in case you want to use a DB2 BLU Data Warehouse accelerator over a MySQL or PostgreSQL, you can do this with just a few mouse clicks!

image

DevOps

DevOps means Development and Operations, and when written in this way, it means a system that facilitates and connects development and operation tasks together, especially things like continuous integration and continuous delivery/deployment in conjunction with defect and change request management provides an easy and agile way to adapt this process to your application. Google and Facebook are deploying multiple production releases per day. With DevOps services in Bluemix, you can do the same now, even without installing any tool locally if you don’t want to.

image

So now we know the basics, let’s put this together:

You have your idea. Using your favourite runtime (WebSphere, Tomcat, PHP, Node.js, Ruby, etc.) and your favourite services (MySQL, PostgreSQL, DB2, message queues, etc.) just go to hub.jazz.net to use the Bluemix DevOps services and deploy it on the fly in the Eclipse Orion based IDE directly to Bluemix. And guess what, it is up-and-running and online just after 10 seconds! And where does the IBM PureApplication System fit into this? We have it in the cloud as well! So you can easily build hybrid cloud using PureApplication technology on- and off-premise at the same time.

 

What is the relationship between PureSystems, BlueMix, SoftLayer, DevOps, and Cloud Foundry?

18. Juli 2014 Posted by Yathish Kumar

(This is a guest entry posted on behalf of Romeo Kienzler)

I’ve been asked this question many times by clients so I thought I’ll give a brief overview in this blogpost. In order to define relationships between these entities, I’ll first describe them briefly.

IBM PureSystems

PureSystems is called the “Expert Integrated Systems” because you don’t have to worry about configuration of nodes, storage, network, SAN and power anymore. Everything ships as an appliance and you only have to plug-in the power and network and you are ready to run. We have PureSystems on the IaaS (IBM PureFlex System), PaaS (IBM PureApplication System) and DbaaS (IBM PureData System) layers. These are meant for building private clouds in your data center.

image

IBM SoftLayer

This is IBM’s IaaS public cloud offering. In contrast to competition, IBM provides bare metal nodes and bare metal network components (routers, firewalls) in addition to the virtualized infrastructure components. All network traffic within the worldwide SoftLayer backbone is for free, so data center failover and real 24/7 SLA’s are now available not only for the financial service clients, but for everybody!

image

Cloud Foundry

I think Google started with the idea of a scalable component cloud called AppEngine. This idea has been picked up by Amazon with Beanstalk. These offerings are very innovative, but they lack one key aspect. They lock you into their middleware. So you cannot use common open and closed source application middleware and services (e.g. TOMCAT, PHP, MySQL, etc.). Therefore Cloud Foundry has been invented as open standard to build PaaS clouds and every application running on a Cloud Foundry compliant cloud can be migrated easily to other cloud service providers.

image

IBM Bluemix

Bluemix is IBM’s PaaS Cloud offering using Cloud Foundry and running on OpenStack/SoftLayer. In addition to Cloud Foundry, command line tools and Eclipse plugins, Bluemix also provides a Web Management console for managing application and services in Cloud Foundry running on Bluemix. And, of course, in addition to IBM supported open source runtimes and services you have the choice of the full IBM software portfolio. Also, in case you want to use a DB2 BLU Data Warehouse accelerator over a MySQL or PostgreSQL, you can do this with just a few mouse clicks!

image

DevOps

DevOps means Development and Operations, and when written in this way, it means a system that facilitates and connects development and operation tasks together, especially things like continuous integration and continuous delivery/deployment in conjunction with defect and change request management provides an easy and agile way to adapt this process to your application. Google and Facebook are deploying multiple production releases per day. With DevOps services in Bluemix, you can do the same now, even without installing any tool locally if you don’t want to.

image

So now we know the basics, let’s put this together:

You have your idea. Using your favourite runtime (WebSphere, Tomcat, PHP, Node.js, Ruby, etc.) and your favourite services (MySQL, PostgreSQL, DB2, message queues, etc.) just go to hub.jazz.net to use the Bluemix DevOps services and deploy it on the fly in the Eclipse Orion based IDE directly to Bluemix. And guess what, it is up-and-running and online just after 10 seconds! And where does the IBM PureApplication System fit into this? We have it in the cloud as well! So you can easily build hybrid cloud using PureApplication technology on- and off-premise at the same time.

 

Pure UrbanCode Chef. Oder: Wohin mit all den DevOps Tools?

12. Februar 2014 Posted by Wladislaw Nill

DevOps und Continuous Delivery sind heute de facto Standards in der Software-Entwicklung. Zumindest wenn man einigen Statistiken[1][2] glauben kann, die in den letzten Jahren veröffentlicht wurden.
Ich persönlich denke, dass die tatsächliche Verbreitung geringer ist als es diese Zahlen glauben lassen - alleine schon deshalb, weil es kein Rezept für DevOps gibt. Außerdem ist der Begriff sehr vage und überladen. Fragt man drei IT Professionals nach einer Definition bekommt man wahrscheinlich drei verschiedene Antworten. Manche setzen damit (zu Unrecht) Infrastructure-as-Code gleich, für andere ist es hauptsächlich ein organisatorischer oder kultureller Prozess.

Egal wie eng oder weit man es fasst, Automatisierung und Tool-Unterstützung spielen sowohl bei DevOps als auch bei Continuous Delivery eine wichtige Rolle. Aber der Markt für „DevOps-Tools“ ist genauso unübersichtlich wie die Begriffe selbst.  Ich habe in letzter Zeit häufiger mit Kollegen über dieses Thema gesprochen und dabei kamen immer wieder Fragen auf wie: „Wozu brauche ich denn Chef [oder Puppet, Salt, Ansible...], wenn es doch schon PureApplication Systems gibt?“. Seit der Übernahme von UrbanCode im vergangenen Jahr hat IBM seine eigene DevOps Plattform weiter ausgebaut. Ist das nicht das gleiche wie der IBM Workload Deployer? Gibt es nicht das gleiche als Open-Source-Lösung?

Die (nicht sehr überraschende) Antwort ist: Nein, es ist nicht alles das gleiche.
Es macht Sinn sich alle angesprochenen Tools und Systeme anzuschauen weil sie sich gegenseitig ergänzen, nicht ersetzen.

 

Wie baut man einen Bauplan?

Die Stärke von PureApplication System ist es Anwendungen und die darunterliegende Infrastruktur, die durch Patterns abgebildet werden, in einer Cloud bereitzustellen. In vielen Fällen reichen dazu vorgefertigte oder selbst erstellte Application Patterns aus. Theoretisch lassen sich ganze Anwendungslandschaften damit aufsetzen und betreiben. Aber leider ist es nicht immer so einfach. Nicht alle Systeme fallen in ein typisches, weit verbreitetes Schema. Wenn neben Standard-Komponenten auch selbst entwickelte Tools, Frameworks, Scripte, Monitoring und sonstige Utilities benötigt werden (und seien wir ehrlich, das ist nicht selten), muss eine individuelle Lösung her. In PureApplication System heißt das System Patterns.

Um beliebige Systeme zu modellieren benötigt man im Wesentlichen zwei Teile: Ein Basis-Image (z.B. ein vorkonfiguriertes Linux System und Middleware) und Skripte, um die eigentliche Konfiguration zu automatisieren. In den meisten Fällen werden diese Skripte nicht nur aus ein paar Kommandos bestehen. Je größer und heterogener die verwalteten Umgebungen sind, desto weniger sollte man sich darauf einlassen sie von Grund auf selbst zu schreiben. Die Kosten für Wartung und Weiterentwicklung schießen dadurch nur unnötig in die Höhe.

 

Rezept des Tages: Virtual System Patterns

An dieser Stelle kommen Tools wie Chef oder Puppet ins Spiel. Ihre wesentliche Eigenschaft ist, dass sie die Konfiguration von Systemen in Form von Code abbilden können, meist ohne dass man sich mit Implementierungsdetails beschäftigen muss.  Damit lässt sich praktisch jeder Zielzustand, von der Betriebssystemkonfiguration, über installierte Pakete bis zu laufenden Services beschreiben und reproduzieren. Weil diese Tools relativ leicht einzusetzen, aber gleichzeitig sehr mächtig sind, haben sie zu Recht mittlerweile viele Anhänger gefunden.

Die gute Nachricht ist, dass PureApplication System solche DevOps Tools unterstützt. Genauer gesagt setzt IBM auf Chef als Infrastructure-as-Code Anbieter. Es gibt einen frei verfügbaren IBM Script-Package Generator[3], mit dessen Hilfe Chef Skripte (auch Rezepte genannt) in Virtual System Patterns verwendet werden können. Auf diese Weise können auch sehr komplexe und individuelle Umgebungen automatisiert in der Cloud bereitgestellt werden.

Die schlechte Nachricht: Es gibt Dinge, die auch Chef und PureApplication System gemeinsam nicht optimal abbilden können.
 

Leben in die Cloud bringen

Was dieser Lösung noch zu einer vollen Continuous Delivery Pipeline bzw. DevOps-Toolunterstützung fehlt sind automatisierte Deployments auf die provisionierten Systeme. Damit meine ich nicht nur eine Datei, die auf einen Server kopiert wird, sondern komplette Releases, die  Anwendungen, Datenbanken, Backendsysteme simultan betreffen.

Releases durchlaufen mehrere Stufen und Umgebungen, bevor sie in Produktion gehen. Jedes  Deployment ist mit bestimmten Prozessen (manuelle und/oder automatisierte) verbunden und muss dementsprechend geplant und koordiniert werden. Für diesen Zweck gibt es Produkte wie UrbanCode Deploy und UrbanCode Release. Mit UrbanCode Deploy lassen sich Deployments über alle Stages hinweg automatisieren. Release setzt noch eine Ebene höher an und koordiniert, welche Änderungen an welchen Artefakten, auf welchen Umgebungen und zu welcher Zeit durchgeführt werden. Dadurch erhält man ein zentrales Tool zur Verwaltung eines Anwendungslebenszykluses. Die darunterliegende Infrastruktur kommt im Idealfall aus der Cloud – womit wir wieder bei PureApplication System wären. Aufbauend auf den zuvor erstellten System Patterns lässt sich damit die Bereitstellung von Umgebungen vergleichsweise einfach automatisieren.

 


image

Quelle: Sehenswerte Slideshare-Präsentation von Sanjeev Sharma [4]

 

Zusammengefasst ergibt sich aus den drei vorgestellten Produkten ein sehr mächtiges Set an Werkzeugen um eine Continuous Delivery Pipeline aufzubauen: UrbanCode Software für Release and Deployment Management, PureApplication System als Cloud Provider und Chef für die Infrastruktur-Konfiguration.
Die Implementierung dieser Lösung allein macht zwar aus Dev und Ops noch kein DevOps. Die Automatisierung großer Teile des Anwendungslebenszykluses nimmt aber viele Routineaufgaben ab und schafft Zeit für die wirklich schwierigen Aufgaben.

 

 

[1] http://velocityconf.com/velocity2013/public/schedule/detail/28446

[2] http://www.heise.de/newsticker/meldung/Studie-Continuous-Delivery-ist-De-facto-Standard-fuer-Software-Entwicklung-2100842.html

[3] https://www-304.ibm.com/software/brandcatalog/ismlibrary/details?catalog.label=1TW10SO0M#tab-details

[4] http://www.slideshare.net/Urbancode/deliver-contuniously-to-cloud

DevOps für “ganz Dummies”

17. September 2013 Posted by Philipp Boltze

 

BildSeit Monaten sagt mir unser Cloud Architekt, dass DevOps und Cloud unbedingt zusammen genannt werden müssen. Er geht sogar soweit, dass er sagt  " DevOps macht erst Sinn in Kombination mit Cloud"

 

Ist ja alles schön und gut, aber was ist DevOps? Spätestens nach dem 2. Satz konnte ich ihm dann nicht mehr folgen. Hat das was mit DefCon, der Verteidigungsbereitschaft oder dem Computerspiel zu tun? Oder ist es nicht der Lageraum des amerikanischen Präsidenten, in dem er den  Überfall auf Bin Laden verfolgt hat?

 

Kürzlich hat er sich aber ein Herz  - und ganz viel Zeit - genommen, um DevOps für so "ganz Dummies" wie mich zu erklären. Und ich habe es verstanden. Zumindest in Grundzügen und möchte das Gelernte hier gerne wiedergeben, damit auch andere davon profitieren können.

 

 

BildEs war einmal ein alter Kampf zwischen Anwendungsentwicklern und den Kollegen im Rechenzentrum, die die  Anwendungen dann betreiben. Bei Asterix und Obelix wären das bestimmt die Ost- und die Westgoten  Beide scheinen wohl in der Vergangenheit wenig miteinander gesprochen zu haben. 2 Mal im Jahr purzelte aus der Anwendungsentwicklung ein neues Release, dass dann getestet und schließlich in Produktion genommen werden musste. So weit, so gut.

Mittlerweile ist die Welt aber eine Andere: Die Fachabteilung fordert ständig neue oder veränderte Funktionen und kann nicht mehr 6 Monate darauf warten. Beim Webphotodienst Flickr purzeln mittlerweile bis zu 10 neue Releases pro Tag aus der Entwicklung! Und, wie gesagt, jedes neue Release muss getestet werden, bevor es produktiv eingesetzt werden kann. Produktiv einsetzen heisst Testen, Testen und nochmals Testen; idealerweise unter produktionsnahen Bedingungen. Ein Test der Anwendung funktioniert nicht ohne Infrastruktur - die Ostgoten brauchen also die Westgoten. 

Entwicklung und Betrieb müssen also sehr eng zusammenarbeiten - Hand in Hand. Vor allem die Bereitstellung von Testumgebungen muss extrem schnell gehen. Am besten automatisiert und standardisiert.

Automatisiert? Standardisiert? Spätestens hier klingelten bei mir natürlich alle Cloud-Glocken. Logisch. Wo sonst kann man innerhalb von Minuten ganze Systemlandschaften schnell und einfach aufbauen, betreiben und genauso schnell auch wieder verwerfen. in der Cloud natürlich.

 

Aber reicht es denn aus, einfach eine ganz normale Infrastruktur Cloud zu nehmen - also IaaS?

Sicher ist das schon einmal ein guter Anfang und man spart auf jeden sehr viel Zeit bei der Bereitstellung der virtuellen Server. Aber 10 "Drops" pro Tag, wie im Fall Flickr, oder auch nur im 10 Monat wird hiermit schon zur Herausforderung. Was wäre wenn bei der  Anwendungsbereitstellung gleich die notwendige Infrastruktur mit aufgebaut wird, automatisierte Testroutinen ablaufen und nach erfolgreichen Testläufen ebenso ein Rückbau erfolgt?

 

Der Testaufbau und das Testverfahren müssen hochgradig standardisiert und automatisiert erfolgen. Der Tester kann sich nicht erst noch Gedanken machen, welche Systeme wo und wie notwendig sind. Hier hilft eine weitere, ganz entscheidende Cloud Funktionalität der IBM: Patterns. Sie sind nicht nur einfach eine Abfolge von Befehlen (Scripte), sondern erkennen intelligent was von Seiten der Applikation erforderlich ist und was auf der Infrastruktur-Seite vorhanden ist. Dementsprechend werden dann ganze Landschaften, in unserem Fall Testlandschaften, in wenigen Minuten aufgebaut und vorher hinterlegte Testverfahren angestoßen. Dies ersetzt zwar nicht den Job des Testers (auch wenn in vielen Fällen automatisierte Tests heute Gang und Gebe sind), erleichtert ihn aber ungemein. 

In einem meiner nächsten Blogs werde ich nochmals genauer auf das Thema Patterns eingehen, denn erst sie machen aus Clouds intelligente Clouds.

 

So, nun hoffe ich, dass ich mein neu erlerntes Wissen an Sie weitergeben konnte und auch Sie jetzt den Begriff DevOps  einsortieren können und zumindest so tun können, als ob Sie schon seit Ewigkeiten nach diesem Verfahren arbeiten.

 

Sollten Sie aber Appetit auf mehr DevOps bekommen haben, so empfehlen ich Ihnen den, von Michael Brokmann und Robert Michel geschriebenen Guide "DevOps für Einsteiger" und die speziell für DevOps angelegte Webseite

Hier erfahren Sie dann auch mehr über die Verbindung der beiden Reiche und die Bedeutung des aufkommenden Riesen Cloud.