Vorlesung - Cloud infrastrukturen - Einleitung

Post on 20-Jun-2015

446 views 5 download

description

Einleitung in die Vorlesung Cloud Infrastrukturen mit den Themen Cloud Foundry, OpenStack, Lean Startup, Kanban, IaaS und PaaS. Einführung in die Cloud-Terminologie sowie Überblick über die Interessen des Marktes hinter den Cloud-Konzepten.

transcript

Cloud Infrastrukturen

Organisatorisches

The Big Picture

Wie passt die Cloud in das aktuelle Gesamtbild

der Wirtschaft?

Software sprengt Märkte

Die Großen fürchten die Newcomer mehr denn je.

Was unterscheidet das klassische Unternehmen

vom Disruptor?

Time to Value

Der disruptive Stack

• Business - Lean Startup

• Entwicklung - Agile Development

• Betrieb - Cloud

Lean

• Derived from Japanese manufacturing industry

• Toyota Production System (TPS)

• Master Thesis, John Krafcik, 1988 „Triumph of the Lean Production System“

ISBN-10: 0060974176 ISBN-13:

978-0060974176

• Prozessorientierung

• Prozessoptimierung

• Reduzierung von Verschwendung („Waste“) entlang der gesamten Wertschöpfungskette

• Einbeziehen der Mitarbeiter

The Lean Startup

ISBN-10: 0307887898 ISBN-13: 978-0307887894

• Ein Managementansatz für Startups

• Startups arbeiten in unsicherer Umgebung

• Finden eines nachhaltigen Geschäftsmodells

• Validiertes Lernen

• Wert-Hypothese

• Wachstums-Hypothese

• Minimum Viable Product (MVP)

• Validierung der Hypothesen

• Build, Measure, Learn-Zyklen

• Möglichst hohe Frequenz

Agile Softwareentwicklung

http://agilemanifesto.org

• Continuous delivery

• Continuous Integration

• Continuous Deployment

• Fließender Anforderungskatalog (Backlog)

• Kurze Lieferzyklen (Tage, Wochen)

• Enge Zusammenarbeit des Teams (täglich)

• Motivation, Vertrauen, Professionalität

• Vis à vis Kommunikation

• Funktionierende Software als Fortschrittsindikator

• Nachhaltiges Entwicklungstempo (Dauerlauf statt Sprint)

• Technische Exzellenz und hohe Qualität

• Einfachheit. Occam’s Razor.

• Selbstorganisierende Teams

• Kontinuierliche Verbesserung des Teams in regelmäßigen V.-Meetings

Beispiele agiler Methoden

• Scrum

• Kanban

Kanban

ISBN-10: 0984521402 ISBN-13: 978-0984521401

• Kanban ist agil.

• Kanban ist lean.

• Kanban ist kein Softwareentwicklungsprozess.

• Kanban ist ein Meta-Prozess.

• Prozess zur Prozessoptimierung.

• Work-in-progress (WIP) reduzieren

• Voller Fokus auf Softwarequalität

• Häufig funktionierende Software liefern („Deliver often“)

• Softwareentwicklungsprozess als Fluss vorstellen

• Anwendung von Methoden zur Flussoptimierung

• TOC - Theory of Constraints

• Vertrauen zu Projektbeteiligten aufbauen

• Bedarf und Durchlauf aufeinander abstimmen

• Methodische Priorisierung

• Explizite und transparente Projektregeln beschreiben des Entwicklungsprozess

• Regelmäßige Arbeit am Prozess

• Einbeziehung des Teams

• Selbstorganisation des Teams

• Entstehung einer Kaizen-Kultur der kontinuierlichen Verbesserung

Kanban zeigt Engpässe. Hilft den Wertstrom zu

beschleunigen.

• Software treibt Innovation

• Der disruptive Stack macht den Unterschied

• Die Cloud ist Teil des Stacks

Cloud

Roadmap

• Cloud Basiswissen

• Grundlagen des Clusterbaus

• Infrastructure as a Service

• Platform as a Service

• Projektarbeit

Lernziele

• Kenntnis grundlegender Cloud-

• Technologien

• Paradigmen und Methodiken

• Hands-on: Gelerntes Anwenden

Cloud Basiswissen

Was ist die Cloud?

NIST Definition of Cloud Special Publication

SP800-145http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

Kern-Eigenschaften der Cloud

On-demand self-service

• Selbstständige Provisionierung

• Virtuelle Maschinen

• Storage

• Software Dienste

• Keine persönliche Interaktion zum Anbieter notwendig

Broad Network Access

• Erreichbarkeit der Ressourcen im Netzwerk

Resource Pooling

• Multimandantenfähigkeit

• Physikalische oder virtuelle Isolation

• Dynamische Ressourcen-Zuordnung zu Kunden (storage, processing, mem, net bandwidth)

Rapid Elasticity

• Elastische Provisionierung und Freigabe

• Automatische Provisionierung

• Eindruck „unendlicher Ressourcen“

• Anpassbar an den situativen Bedarf

Measured Service

• Monitoring

• Reporting

• Automatische Ressourcen-Kontrolle

Ebenso wichtige Eigenschaften (Nicht im NIST Dokument)

Redundanz und Robustheit

• Vermeidung von SPOFs (Single Point Of Failure)

• Skalierbare Architekturen (Lastverteilung)

• Robustheit durch Cluster-Bildung (Failover)

Selbstheilung

Selbstheilung

• Monitoring (Verfügbarkeit) +

• Automatisierte Bereitstellung (Provisioning)=

• Selbstheilung

Auto-Scaling

Auto-Scaling

• Monitoring (Durchsatz)+

• Automatisierte Bereitstellung (Provisioning)=

• Auto-Scaling

Service Modelle der Cloud

Infrastructure as a Service IaaS

Infrastructure as a Service (IaaS)

• Automatisierbare Bereitstellung der folgenden Ressourcen:

• Rechenleistung („compute“)

• Speicherplatz („storage“)

• Netzwerkverwaltung („networking“)

• Firewall-Regeln („security groups“)

Infrastructure as a Service (IaaS)

• Virtueller Clusterbau

• VMs, Netzwerk, Storage

• Software-Ebene ist nicht abgedeckt

• Betriebssystem muss verwaltet werden

• Software muss selbst installiert werden

• Chef, Puppet

Platform as a Service PaaS

Platform as a Service (PaaS)

• Anwendungsdeployments

• Keine/wenig Software-Installation notwendig

• Keine Softwarewartung notwendig

• Schlüsselfertige Bereitstellung von Diensten (Datenbanken, Suchserver, etc.)

Platform as a Service (PaaS)

• Kein Kontakt mit der Infrastruktur (VMs, Block-Storage, Networking) notwendig.

• Anwendungen müssen oft bestimmten Vorgaben entsprechen, z.B. 12factor.net

Software as a Service SaaS

Software as a Service (SaaS)

• Gebrauchsfertige Software

• Betrieben in der Cloud

• Kein Kontakt mit PaaS oder IaaS

Deployment Modelle der Cloud

• Public Cloud

• Amazon, anynines, Google, etc.

• Private Cloud

• Bosch, BMW, Nestlé, etc.

• Community Cloud (e.g. gCloud)

• Hybrid Cloud (composite clouds)

Bausteine der Cloud

• IaaS, PaaS, SaaS

• NoSQL

• Big Data

• Devops / Noops

IaaS PaaS SaaS

Infrastructure as a Service (IaaS)

Technologien

IaaS aus der Dose

IaaS - Public Provider

• Amazon Web Services (AWS)

• Google Compute

• Profitbricks

• OpenStack Provider

• HP

• Ubuntu

• …

IaaS zum Selbermachen

IaaS - Produkte

• VMware (kommerziell)

• Cloud Stack (open source, kommerziell)

• OpenStack (open source, kommerziell)

• …

IaaS Beherrschen mit

Installationsautomatisierung

• Chef

• Puppet

• Bosh

• OpenStack Heat

PaaS

Öffentliche PaaS Anbieter

PaaS Anbieter

• anynines (deutsche Firma, deutsche Server)

• Cloud Control(deutsche Firma, US Infrastruktur mit Standort in der EU)

• HerokuUS Firma, US Infrastruktur

PaaS Baukasten

PaaS Baukasten

• Cloud Foundry

• Open Shift

• Kubernetes

Cloud nahe Dienste

• Apache Hadoop

• Apache Mesos

• CouchDB

• MongoDB

• Elastic Search

• Redis

• Memcache

• RabbitMQ

• Neo4J

• Solr

• Sphinx

• Amazon S3

• OpenStack Swift

• Ceph

• Riak

• Jenkins

Das Ergebnis

Servers, Network, Storage

Hardware

Infrastructure as a Service (IaaS)

PaaS (PaaS)

VMs, Network, Storage

Applications (SaaS)

CF API (deploy, scale, services, ...)

Open Source basierter Cloud Stack

• Kein Vendor-Lock-In

• Offene Standards

• Offene Schnittstellen

• Keine Lizenzgebühren

Hardware

OpenStack (IaaS)

Servers, Network, Storage

Cloud Foundry (PaaS)

VMs, Network, Storage

Applications (SaaS)

CF API (deploy, scale, services, ...)

Fragen?

Danke!

j@avtq.de @fischerjulian