Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. This hands-on book is the fastest way to get up and running with Terraform. Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers. Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt Stack Use Terraform to deploy server clusters, load balancers, and databases Learn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and locking Create reusable infrastructure with Terraform modules Try out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deployment Use Terraform as a team, including best practices for writing, testing, and versioning Terraform code
Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. This hands-on book is the fastest way to get up and running with Terraform. Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers. Compare Terraform to other IAC tools, such as Chef, Puppet, Ansible, and Salt Stack Use Terraform to deploy server clusters, load balancers, and databases Learn how Terraform manages the state of your infrastructure and how it impacts file layout, isolation, and locking Create reusable infrastructure with Terraform modules Try out advanced Terraform syntax to implement loops, if-statements, and zero-downtime deployment Use Terraform as a team, including best practices for writing, testing, and versioning Terraform code
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including Azure, Google Cloud, DigitalOcean, and others. The updated second edition of this hands-on guide is fastest way to get up and running with Terraform. Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform's simple, declarative programming language to deploy and manage infrastructure with just a few CLI commands. Whether you're a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers.
Mehr denn je ist das effektive Management der IT entscheidend für die Wettbewerbsfähigkeit von Organisationen. Viele Manager in softwarebasierten Unternehmen ringen damit, eine Balance zwischen Agilität, Zuverlässigkeit und Sicherheit ihrer Systeme herzustellen. Auf der anderen Seite schaffen es High-Performer wie Google, Amazon, Facebook oder Netflix, routinemäßig und zuverlässig hundertoder gar tausendmal pro Tag Code auszuliefern. Diese Unternehmen verbindet eins: Sie arbeiten nach DevOps-Prinzipien. Die Autoren dieses Handbuchs folgen den Spuren des Romans Projekt Phoenix und zeigen, wie die DevOps-Philosophie praktisch implementiert wird und Unternehmen dadurch umgestaltet werden können. Sie beschreiben konkrete Tools und Techniken, die Ihnen helfen, Software schneller und sicherer zu produzieren. Zudem stellen sie Ihnen Maßnahmen vor, die die Zusammenarbeit aller Abteilungen optimieren, die Arbeitskultur verbessern und die Profitabilität Ihres Unternehmens steigern können. Themen des Buchs sind: Die Drei Wege: Die obersten Prinzipien, von denen alle DevOps-Maßnahmen abgeleitet werden.Einen Ausgangspunkt finden: Eine Strategie für die DevOps-Transformation entwickeln, Wertketten und Veränderungsmuster kennenlernen, Teams schützen und fördern.Flow beschleunigen: Den schnellen Fluss der Arbeit von Dev hin zu Ops ermöglichen durch eine optimale Deployment-Pipeline, automatisierte Tests, Continuous Integration und Continuous Delivery.Feedback verstärken: Feedback-Schleifen verkürzen und vertiefen, Telemetriedaten erzeugen und Informationen unternehmensweit sichtbar machen.Kontinuierliches Lernen ermöglichen: Eine Just Culture aufbauen und ausreichend Zeit reservieren, um das firmenweite Lernen zu fördern.
Es heißt, dass Google über zwei Milliarden Anwendungscontainer pro Woche deployt. Wie ist das möglich? Diese Frage hat Google mit einem Projekt namens Kubernetes beantwortet, einem Cluster-Orchestrierer, der das Bauen, Deployen und Warten skalierbarer, verteilter Systeme in der Cloud radikal vereinfacht. Dieser praktische Leitfaden zeigt Ihnen, wie Kubernetes und die Container-Technologie Ihnen helfen können, in Bezug auf Schnelligkeit, Agilität, Zuverlässigkeit und Effizienz in ganz neue Bereiche vorzudringen. Die Autoren Kelsey Hightower, Brendan Burns und Joe Beda haben bei Google und in anderen Firmen mit Kubernetes gearbeitet und erklären Ihnen, wie sich dieses System in den Lebenszyklus einer verteilten Anwendung einfügt. Sie werden lernen, wie Sie Tools und APIs einsetzen, um skalierbare, verteilte Systeme zu automatisieren – egal ob es sich um Online-Services, Systeme zum maschinellen Lernen oder ein Cluster aus Raspberry Pis handelt. Lernen Sie die Herausforderungen verteilter Systeme kennen, die Sie mit Kubernetes angehen können.Tauchen Sie ein in die containerisierte Anwendungsentwicklung und nutzen Sie dabei zum Beispiel Docker-Container.Erstellen Sie Container im Docker-Image-Format mit Kubernetes und lassen Sie sie über die Docker-Runtime ausführen.Begutachten Sie die zentralen Konzepte und API-Objekte von Kubernetes, die notwendig sind, um Anwendungen produktiv laufen zu lassen.Rollen Sie neue Softwareversionen zuverlässig ohne Downtime oder Fehler aus.Lernen Sie aus Beispielen zum Entwickeln und Deployen realer Anwendungen in Kubernetes.
Mit Kubernetes große Container-Infrastrukturen ausfallsicher verwalten Nach einer Einführung in die typischen Problemstellungen, mit denen Softwareentwickler und Administratoren konfrontiert sind, und wie diese mit Kubernetes gelöst werden können, lernen Sie in einem ersten Beispielprojekt die praktische Umsetzung. Es wird gezeigt, wie eine einfache in einem Container laufende Web-Applikation über ein Kubernetes-Cluster verwaltet werden kann. Im zweiten Teil des Buches lernen Sie die zu Grunde liegenden Konzepte kennen, deren Verständnis unbedingt notwendig ist, um große Container-Cluster mit Kubernetes zu betreiben. Im letzten Teil wird die Funktionsweise von Kubernetes beschrieben und auf weiterführende Aspekte eingegangen. Hier wird außerdem das erworbene Wissen aus den ersten beiden Teilen zusammengeführt, damit Sie den vollen Nutzen aus der Kubernetes-Plattform ziehen können.
Feingranulare Systeme mit Microservices aufbauen Design, Entwicklung, Deployment, Testen und Monitoring Sicherheitsaspekte, Authentifizierung und Autorisierung Verteilte Systeme haben sich in den letzten Jahren stark verändert: Große monolithische Architekturen werden zunehmend in viele kleine, eigenständige Microservices aufgespalten. Aber die Entwicklung solcher Systeme bringt Herausforderungen ganz eigener Art mit sich. Dieses Buch richtet sich an Softwareentwickler, die sich über die zielführenden Aspekte von Microservice-Systemen wie Design, Entwicklung, Testen, Deployment und Monitoring informieren möchten. Sam Newman veranschaulicht und konkretisiert seine ganzheitliche Betrachtung der grundlegenden Konzepte von Microservice-Architekturen anhand zahlreicher praktischer Beispiele und Ratschläge. Er geht auf die Themen ein, mit denen sich Systemarchitekten und Administratoren bei der Einrichtung, Verwaltung und Entwicklung dieser Architekturen in jedem Fall auseinandersetzen müssen. Aus dem Inhalt: Vorteile von Microservices Gestaltung von Services Ausrichtung der Systemarchitektur an der Organisationsstruktur Möglichkeiten zur Integration von Services Schrittweise Aufspaltung einer monolithischen Codebasis Deployment einzelner Microservices mittels Continuous Integration Testen und Monitoring verteilter Systeme Sicherheitsaspekte Authentifizierung und Autorisierung zwischen Benutzer und Service bzw. zwischen Services untereinander Skalierung von Microservice-Architekturen »Microservice-Architekturen besitzen viele interessante Eigenschaften, allerdings sind bei der Umstellung so einige Fallstricke zu beachten. Dieses Buch wird Ihnen helfen herauszufinden, ob Microservices für Ihre Zwecke geeignet sind und zeigt Ihnen, wie Sie die Fallstricke umgehen können.« Martin Fowler, Chief Scientist, ThoughtWorks
Bill ist IT-Manager bei Parts Unlimited. An einem Dienstagmorgen erhält er auf der Fahrt zur Arbeit einen Anruf seines CEO. Die neue IT-Initiative der Firma mit dem Codenamen Projekt Phoenix ist entscheidend für die Zukunft von Parts Unlimited, aber das Projekt hat Budget und Zeitplan massiv überzogen. Der CEO will, dass Bill direkt an ihn berichtet und das ganze Chaos in neunzig Tagen aufräumt, denn sonst wird Bills gesamte Abteilung outgesourct. Mit der Hilfe eines Vorstandsmitglieds und dessen mysteriöser Philosophie der Drei Wege wird Bill klar, dass IT-Arbeit mehr mit dem Fertigungsbereich in einer Fabrik zu tun hat als er sich je vorstellen konnte. Die Zeit drängt: Bill muss dafür sorgen, dass der Arbeitsfluss auch zwischen den Abteilungen deutlich besser läuft und das Business-Funktionalität zuverlässig bereitgestellt wird. Drei Koryphäen der DevOps-Bewegung liefern hier die rasante und unterhaltsame Story, in der sich jeder, der im IT-Bereich arbeitet, wiederfinden wird. Sie erfahren nicht nur, wie Sie Ihre eigene IT-Organisation verbessern können - nach der Lektüre dieses Buchs werden Sie IT auch nie wieder so sehen wie zuvor.
Wenn es um die Entwicklung leistungsfähiger und effizienter Hacking-Tools geht, ist Python für die meisten Sicherheitsanalytiker die Sprache der Wahl. Doch wie genau funktioniert das? In dem neuesten Buch von Justin Seitz - dem Autor des Bestsellers »Hacking mit Python« - entdecken Sie Pythons dunkle Seite. Sie entwickeln Netzwerk-Sniffer, manipulieren Pakete, infizieren virtuelle Maschinen, schaffen unsichtbare Trojaner und vieles mehr. Sie lernen praktisch, wie man • einen »Command-and-Control«-Trojaner mittels GitHub schafft • Sandboxing erkennt und gängige Malware-Aufgaben wie Keylogging und Screenshotting automatisiert • Windows-Rechte mittels kreativer Prozesskontrolle ausweitet • offensive Speicherforensik-Tricks nutzt, um Passwort-Hashes abzugreifen und Shellcode in virtuelle Maschinen einzuspeisen • das beliebte Web-Hacking-Tool Burp erweitert • die Windows COM-Automatisierung nutzt, um einen Man-in-the-Middle-Angriff durchzuführen • möglichst unbemerkt Daten aus einem Netzwerk abgreift Eine Reihe von Insider-Techniken und kreativen Aufgaben zeigen Ihnen, wie Sie die Hacks erweitern und eigene Exploits entwickeln können.
Continuous Delivery ermцglicht es, Software viel schneller und mit wesentlich hцherer Zuverlдssigkeit in Produktion zu bringen, als es bisher mцglich war. Grundlage dafьr ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert und so einen reproduzierbaren, risikoarmen Prozess fьr die Bereitstellung neuer Releases bietet. Dieses Buch macht Sie mit dem Aufbau einer Continuous-Delivery-Pipeline vertraut und erklдrt, welche Technologien Sie dazu einsetzen kцnnen. Dabei lernen Sie u.a. folgende Themen kennen: • Infrastruktur-Automatisierung mit Chef, Docker und Vagrant • Automatisierung von Builds und Continuous Integration • Akzeptanztests, Kapazitдtstests, exploratives Testen • Einfьhrung von Continuous Delivery im Unternehmen • Continuous Delivery und DevOps • Auswirkungen auf die Softwarearchitektur Als praktisches Beispiel wird ein konkreter Technologie- Stack vorgestellt. Zahlreiche Aufgaben und Vorschlдge fьr weitergehende Experimente laden Sie darьber hinaus zur praktischen Vertiefung des Themas ein. Nach der Lektьre kцnnen Sie abschдtzen, welche Vorteile Continuous Delivery konkret bietet, und Sie verfьgen ьber das nцtige Handwerkszeug, um Continuous Delivery in Ihrem eigenen Arbeitsumfeld zu etablieren. Die Neuauflage wurde in Bezug auf Werkzeuge wie Docker, Jenkins, Graphite und den ELK-Stack aktualisiert. An neuen Themen sind Docker Compose, Docker Machine, Immutable Server, Microservices und die Einfьhrung von Continuous Delivery ohne DevOps hinzugekommen.
Virtuelle Realität oder Virtual Reality (VR) hat in den letzten Jahren eine stürmische Entwicklung genommen. Dieses Buch führt in Theorie und Praxis der virtuellen Realität ein und liefert einen Überblick über Software-Architekturen. Der Schwerpunkt liegt bei Anwendungen der VR, beispielhafte Anwendungen werden mit VR Juggler betrachtet und implementiert. Für das erfolgreiche Bearbeiten der Aufgaben sind Erfahrungen im Programmieren mit C++ und OpenGL erforderlich, Kenntnisse in Computergrafik und Grafikprogrammierung werden vorausgesetzt.
Serverless heißt das neue Trendthema im Bereich des Cloud Computing. Dabei meint Serverless nicht, dass man keine Server mehr benötigt. Es geht vielmehr darum, sich auf die Ausführung seines Codes auf der Ebene von einzelnen Funktionen zu konzentrieren und das Management von Serverinstanzen, Verfügbarkeit und Skalierbarkeit der Cloud zu überlassen. Zudem bezahlt man bei Serverless nur das, was man wirklich nutzt, nicht die bloße Bereitstellung oder Verfügbarkeit. Verwende Ressourcen, nicht Server oder Systeme. Infrastruktur ist implizit vorhanden. Das Buch führt in die Konzepte von Serverless Computing am Beispiel der AWS (Amazon Web Services) Cloud ein und beschreibt, wann der Einsatz von Serverless ein sinnvoller Lösungsansatz ist. AWS Lambda hat den Begriff Serverless geprägt, doch Serverless ist mehr als nur die Ausführung von Funktionen als Service (Function-as-a-Service, kurz FaaS). Auch in Richtung von API Gateways, Datenspeichern, Amazon DynamoDB und weitern Komponenten lässt sich Serverless denken. Praxisnahe Beispiele helfen beim Einstieg in die Serverless-Welt.
Docker-Container bieten eine einfache, schnelle und robuste Möglichkeit, Software zu entwickeln, zu verteilen und laufen zu lassen – besonders in dynamischen und verteilten Umgebungen. Mit diesem praktischen Leitfaden lernen Sie, warum Container so wichtig sind, was durch den Einsatz von Docker möglich ist und wie Sie es in Ihren Entwicklungsprozess einbinden. Dieses Buch ist aktuell zu Docker 1.12 und ideal für Entwickler, Operations-Techniker und Administratoren – insbesondere, wenn Sie einen DevOps-Ansatz verfolgen. Es nimmt Sie mit auf eine Reise von den Grundlagen bis zum Ausführen Dutzender Container auf einem Multi-Host-System mit Networking und Scheduling. Im Verlauf des Buches erfahren Sie, welche Schritte zum Entwickeln, Testen und Bereitstellen einer Webanwendung mit Docker notwendig sind. • Beginnen Sie mit Docker, indem Sie eine einfache Webanwendung entwickeln und bereitstellen. • Nutzen Sie Techniken aus dem Continuous Deployment, um Ihre Anwendung mehrmals pro Tag in die Produktivumgebung zu bringen. • Lernen Sie Optionen und Techniken kennen, um mehrere Container gleichzeitig zu protokollieren und zu überwachen. • Befassen Sie sich mit dem Erkennen im Netzwerk und mit Services: Wie finden sich Container gegenseitig und wie verbinden Sie sie? • Orchestrieren und clustern Sie Container, um Load Balancing zu ermöglichen, Ihr System skalierbar zu machen sowie Failovers und Scheduling umzusetzen. • Sichern Sie Ihr System, indem Sie den Prinzipien der "Defense in Depth" und dem Konzept der geringsten Rechte folgen. • Setzen Sie Container ein, um eine Microservices-Architektur aufzubauen.
Dieses bestens eingeführte Lehrbuch wendet sich an Studierende der Informatik in Grund- und Hauptstudium. Es behandelt gut verständlich alle Themen, die üblicherweise in der Standardvorlesung "Algorithmen und Datenstrukturen” vermittelt werden. Die einzelnen Algorithmen werden theoretisch fundiert dargestellt; ihre Funktionsweise wird ausführlich anhand vieler Beispiele erläutert. Zusätzlich zur halbformalen Beschreibung werden wichtige Algorithmen in Java formuliert. Das Themenspektrum reicht von Algorithmen zum Suchen und Sortieren über Hashverfahren, Bäume, Manipulation von Mengen bis hin zu Geometrischen Algorithmen und Graphenalgorithmen. Dabei werden sowohl der Entwurf effizienter Algorithmen und Datenstrukturen als auch die Analyse ihres Verhaltens mittels mathematischer Methoden behandelt. Durch eine übersichtliche Gliederung, viele Abbildungen und eine präzise Sprache gelingt den Autoren in vorbildlicher Weise die Vermittlung des vielschichtigen Themengebiets. Die 5. Auflage ist vollständig durchgesehen und überarbeitet. Neu aufgenommen wurden Einführungen in die Themen Dynamisches Programmieren, Backtracking, Onlinealgorithmen, Approximationsalgorithmen sowie einige Algorithmen für spezielle Probleme wie die schnelle Multiplikation von Matrizen, von ganzen Zahlen, und die Konstruktion der konvexen Hülle von Punkten in der Ebene. Das Buch eignet sich zur Vorlesungsbegleitung, zum Selbststudium und zum Nachschlagen. Eine Vielzahl von Aufgaben dient der weiteren Vertiefung des Gelernten. Unter http://ad.informatik.uni-freiburg.de/bibliothek/books/ad-buch/ werden Java-Programme für die wichtigsten Algorithmen und ergänzende Materialien zum Buch bereitgestellt.
REST (Representational State Transfer) ist ein Programmierparadigma für verteilte Systeme. Manche behaupten sogar, es sei ein Architekturstil für gesamte Anwendungssysteme, welcher uns bei der Lösung von wiederkehrenden Problemen in der Kommunikation zwischen Systemkomponenten helfen soll. Dieser shortcut liefert zunächst die Grundlagen von REST und dem zugehörigen HTTP-Protokoll. Kapitel 2 führt dann in die Gestaltung von REST-Diensten ein, die mit Hypermedia arbeiten und das HATEOAS-Prinzip umsetzen. Zu guter Letzt wird die praktische Umsetzung eines REST-Dienstes auf Basis von ASP.NET Core dargestellt.

Best Books