Isolierte Umgebungen für Python Anwendungen Teil 2. Christine Koppelt, Jürgen Schackmann, Stefan Seelmann

Ähnliche Dokumente
LinuX-Container. Erkan Yanar. 1. März Erkan Yanar () LinuX-Container 1. März / 27

Automatisierte Entwickler VMs works on my machine zählt nicht mehr ;-)

Contao in a box. Entwicklungsumgebung für Contao mit Vagrant. von Claudio De Facci exploreimpact.de

Anwendungsvirtualisierung in Containern mit Docker

Containisierung von Java Apps mit Docker

4 Einrichten von Windows

Kostenoptimierte Cloud-Administration mit Solaris Container Technologie

Ist nur Appliance ODA schon Rechenzentrum in der Kiste?

Linux Container (LXC) Ein Überblick Bernhard Wesely Trivadis Delphi GmbH Wien, Österreich Schlüsselworte Oracle Linux Container LXC Virtualisierung

SAFE HARBOR STATEMENT

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Oracle Database Appliance und Virtualisierung: OVM oder KVM?

Continuous Delivery mit Docker

LDom Performance optimieren

Container als Immutable Infrastructure. John M. Hutchison

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe,

Systemvirtualisierungen in der IT-Forensik

Bereitstellung von Microservice mit dem OCCS

Build. Ship. Run. Docker. Namics.

Orchestrierung & Docker für DBAs DOAG 2018

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

M5000 einfach ablösen durch T4/T5 LDoms und Solaris Zonen

Lösung von Übungsblatt 11. (Virtualisierung und Emulation)

Virtualisierung Linux-Kurs der Unix-AG

Wie setzt Swisscom Solaris 11 ein

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL02: Einführung in die Virtualisierung

Hochverfügbarkeit und virtualisierte Umgebungen

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012

Docker und Virtualisierung Container Use Cases für eine isolierte, performante Zukunft

Konfigurationsmanadment mit Chef und Vagrant. August 2012, Seite: 1/20

Forms 12c, Reports und Weblogic in Docker betreiben

Systemmanagement mit Puppet und Foreman

Infrastruktur im Wandel

Oracle VM Server (x86) im praktischen Einsatz

Oracle VM Server (x86) im praktischen Einsatz

resin.io push-to-deploy to milljuuunen Raspberry Pi Pi and More 9 Nico Maas

Oracle 11g und Virtualisierung Johannes Ahrends Technical Director Quest Software GmbH

The linux container engine. Peter Daum

Kernel Based Virtual Machine

LDom Performance optimieren

APEX OOS TOOLS & HELFER

Platform as a Service (PaaS) & Containerization

Virtualisierung unter Linux

Virtualisierung - VMWare, Virtualbox, KVM

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration

Virtualisierung. Zinching Dang. 12. August 2015

IBM Planning Analytics Workspace Installation Live Demo & Ausblick

Fedora 24 Workstation Installation

Die Wartung und Betreuung folgender Software-Applikationen ist bei der Variante Managed inkludiert:

Container Hype. TODO : Vollflächiges Container Bild. Håkan Dahlström Source:

GNU Assembler & GCC. Eine virtuelle Maschine aufsetzen. Zunächst muss eine neue virtuelle Maschine erstellt werden.

Grundlagen zu VirtualBox. am Beispiel von VirtualBox 5 von Dirk Burkert

The Foreman. Felix Massem und Jan-Frederic Markert

Leistungsbeschreibung vserver. Stand: 09/2018

Linux gefahrlos testen

MySQL as a Service: LXC Applicationcontainer

CyPhyControl. Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme

Sicheres MultiSeat. Axel Schöner. 14. März 2014

Schichtung virtueller Maschinen zu Labor- und Lehrinfrastruktur

Administration von großen Ubuntu Linux Desktop Umgebungen mit Univention Corporate Client

Teil I. Allgemeine System-Administration. Windows Server 2016 Neues, Lizenzierung und Download... 23

Windows Server 2008 Virtualisierung

ovirt Workshop René Koch, Senior Solution Architect bei LIS Linuxland GmbH Linuxwochen Wien /43

VMware als virtuelle Plattform

Profitieren Sie von einer offenen und flexiblen Clouddienstplattform

Effizient zur Virtualisierungslösung siemens.de/sivaas

Effizient zur Virtualisierungslösung siemens.de/sivaas

Virtualisierung und Management am Desktop mit Citrix

SOLARIS 11 DEPLOYMENT MIT PUPPET Thomas Rübensaal T-Systems International GmbH

Private Nutzerumgebungen mit dynamisch zugeordneten Ressourcen in Linux-Containern

Einführung für Administratoren der Virtuellen Maschinen

Continuous Delivery in der Praxis

Anlegen von Entwicklungsumgebungen per Vagrant & Chef

DevOps und Red Hat Openshift Eine Traumkombination SEVEN PRINCIPLES AG

Orchester in der Wolke oder im Rechenzentrum FOLIO Systembetrieb - SysOps. Ingolf Kuss (hbz)

Xen mit virtueller Maschine auf Debian installieren

Lightweight virtualization: LXC vs. OpenVZ

Docker. Lass mal containern Julian mino GPN

Docker. Eine Einführung

Lab Management mit TFS Thomas Schissler artiso AG

Virtualisierung unter GNU/Linux für Einsteiger

Solaris im Datacenter Architektur, Implementation und Betrieb

Management von grossen IT Umgebungen mit Open Source Tools

CentOS 7 Secure And Portable Containers Made Easy Jürgen Brunk Köln,

Zentrales Konfigurationsmanagement mit Puppet

Cloud Computing mit OpenStack

Gerd Aschemann. 6/15/2016 Continuous Delivery of Continuous Delivery

Play with Ansible - Provisioning von Weblogic mit Ansible

Installationsanleitung der ansitel VM (60-Tage Testversion) am Beispiel Oracle VirtualBox

Oracle VM, OpenStack & EM12c Ziemlich beste Freunde oder Star Wars The Empire Strikes Back

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack

Windows Server 2008 Virtualisierung. Referent: Marc Grote

Windows Server 2016 richtig lizenziert

hochverfügbare Oracle DB Anwendungen

Transkript:

Isolierte Umgebungen für Python Anwendungen Teil 2 Christine Koppelt, Jürgen Schackmann, Stefan Seelmann

Grenzen von virtualenv Anwendungen bestehen neben Python aus einer Reihe weiterer Komponenten (zusätzliche System Bibliotheken, Suche, Datenbank, etc.) Das Entwicklungs /Serversystem soll sauber bleiben, möglichst wenig Software soll dort installiert werden Die Infrastruktur einer Anwendung soll auf mehreren Umgebungen reproduzierbar sein (Dev, Staging, Prod) Anwendungen auf einem Server sollen sich nicht gegenseitig beeinflussen

Zwei Beispiele Linux Containers (LXC) Isolation der Linux Systembibliotheken (Systemvirtualisierung) VirtualBox + Vagrant Isolation des kompletten Betriebssystems (Hardwarevirtualisierung)

LXC Anwendungsfälle Systemcontainer: Verschiedene Anwendungen benötigen unterschiedliche Systembibliotheken Nested Virtualisierung (LXC unter XEN) Sandboxing zum Ausprobieren von Software Applikationscontainer: Limitierung der Ressourcen einzelner Anwendungen

LXC Eigenschaften Vollständiges Linux System innerhalb des Containers oder auch nur einer Applikation (Applikationscontainer) Container := Konfigurationsfile + Root Filesystem Kein eigener Kernel, keine eigenen Kernel Module Isolierung mittels Kernel Namespaces Ressourcenmanagement mittels cgroups Eigener Netzwerkstack, eigener Prozessraum

LXC Einrichtung Nicht trivial: cgroups, Kernel Parameter für Speicherlimitierung Netzwerkstack (bridge) Konfigurationsdatei Entzug von Capabilities Anpassung des Gastsystems (udev, proc, hwclock, fstab) Mit Ubuntu 12.04 ist es recht einfach

LXC Demo mit Ubuntu I Installation # apt-get install lxc Wo liegt was? # ls /var/lib/lxc/ # ls /var/cache/lxc/ # ls /etc/lxc # ls /usr/lib/lxc/templates/

LXC Demo mit Ubuntu II Wichtige Befehle # lxc-checkconfig # lxc-ls # lxc-create # lxc-destroy # lxc-start # lxc-stop # lxc-info

LXC Demo mit Ubuntu III Erzeugen # lxc-create -n DEMO -t ubuntu Starten # lxc-start -n DEMO -d # lxc-info -n DEMO # lxc-console -n DEMO

Zusammenfassung LXC Weniger Overhead als Hardware Virtualisierung System oder Applikationscontainer Nur Linux unter Linux Kopieren von Containern funktioniert nur auf andere Linux Systeme mit kompatiblem Kernel und Architektur Konfiguration (cgroups, capabilities) ist entscheidend Noch nicht Enterprise Ready (Security, Live Migration) Management mittels OpenStack oder libvirt/virsh?

LXC Resourcen LXC http://lxc.sourceforge.net/ Ubuntu https://help.ubuntu.com/12.04/serverguide/lxc.html Vortrag zu LXC und cgroups (2h) http://www.youtube.com/watch?v=wzrd5nsyo0o

Hardware Virtualisierung Vollständiges Betriebssystem wird in einer Box installiert Inklusive Kernel Andere Typen und Architekturen sind möglich Gesamte Hardware wird virtualisiert Hypervisor Kopieren auch auf Systeme mit anderen Plattformen und Betriebssystem Höherer Ressourcenverbrauch als LXC Beispiel: VirtualBox (+ Vagrant)

VirtualBox Wird als Anwendung auf einem Host System installiert Typ2 Hypervisor Von Oracle vermarktet als Desktop Virtualisierung VMs können graphisch oder geskriptet erstellt werden Headless Mode Etwas langsamer als andere Hardware Virtualisierungen (KVM)

Vagrant Wrapper um VirtualBox, unterstützt beim Anlegen und verwalten von virtuellen Umgebungen Anwendungsfall: Schnelles und reproduzierbares Setup von Entwicklungsinfrastruktur Systembibliotheken, Datenbanken, Web Server,...

Vagrant Image wird erstellt aus Einer Vagrant Box VirtualBox Image mit dem Basis Betriebssystem Vorinstalliert sind VirtualBox Guest Additions Ruby Puppet und Chef SSH (Default User, Default Passwörter, Default SSH Key) Konfigurationsfile (Vagrantfile) Anwendungsspezifische Konfiguration für Chef oder Puppet

Vorteile von Vagrant Die Entwicklung mit einer produktionsähnlichen Infrastruktur wird vereinfacht Es müssen keine kompletten Images weitergegeben werden, sondern nur die Konfiguration Updates der Infrastruktur können durch Updates der Konfigurationsfiles an die Entwickler verteilt werden

Verwendung von VirtualBox/Vagrant Installation VirtualBox, Ruby, RubyGems, Vagrant Download einer BasisBox Alternativ: Box selbst erstellen Box bei lokaler Vagrant Installation registrieren # vagrant box add precise32 precise32.box

Setup einer VirtualBox/Vagrant Umgebung Neues Verzeichnis anlegen Vagrant Projekt auschecken oder Vagrantfile erstellen # vagrant init <boxname> Virtuelle Maschine starten # vagrant up Aktualisieren der Konfiguration # vagrant provision

Vagrant Was liegt wo? Vagrant Base Boxes: ~/vagrant.d/boxes Projektdateien (VagrantFile, Manifests) beliebig VM Instanzen: Im VirtualBox Machine Folder: ~/.VirtualBox/Machines