Docker is rapidly changing the way organizations deploy software at scale. However, understanding how Linux containers fit into your workflow—and getting the integration details right—is not a trivial task. With the updated edition of this practical guide, you’ll learn how to use Docker to package your applications with all of their dependencies and then test, ship, scale, and support your containers in production. This edition includes significant updates to the examples and explanations that reflect the substantial changes that have occurred over the past couple of years. Sean Kane and Karl Matthias have added a complete chapter on Docker Compose, deeper coverage of Docker Swarm mode, introductions to both Kubernetes and AWS Fargate, examples on how to optimize your Docker images, and much more. Learn how Docker simplifies dependency management and deployment workflow for your applications Start working with Docker images, containers, and command line tools Use practical techniques to deploy and test Docker containers in production Debug containers by understanding their composition and internal processes Deploy production containers at scale inside your data center or cloud environment Explore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration
Updated to cover Docker version 1.10 Docker is quickly changing the way that organizations are deploying software at scale. But understanding how Linux containers fit into your workflow—and getting the integration details right—are not trivial tasks. With this practical guide, you’ll learn how to use Docker to package your applications with all of their dependencies, and then test, ship, scale, and support your containers in production. Two Lead Site Reliability Engineers at New Relic share much of what they have learned from using Docker in production since shortly after its initial release. Their goal is to help you reap the benefits of this technology while avoiding the many setbacks they experienced. Learn how Docker simplifies dependency management and deployment workflow for your applications Start working with Docker images, containers, and command line tools Use practical techniques to deploy and test Docker-based Linux containers in production Debug containers by understanding their composition and internal processes Deploy production containers at scale inside your data center or cloud environment Explore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration
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
Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployment of software. This practical guide lets you hit the ground running by demonstrating how Docker allows developers to package their application with all of its dependencies and to test and then ship the exact same bundle to production. You’ll also learn how Docker enables operations engineers to help the development team quickly iterate on their software. Learn Docker’s philosophy, design, and intent Use your own custom software to build Docker images Launch Docker images as running containers Explore advanced Docker concepts and topics Get valuable references to related tools in the Docker ecosystem
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.
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.
SPRING IM EINSATZ // - Spring 3.0 auf den Punkt gebracht: Die zentralen Konzepte anschaulich und unterhaltsam erklärt. - Praxis-Know-how für den Projekteinsatz: Lernen Sie Spring mit Hilfe der zahlreichen Codebeispiele aktiv kennen. - Im Internet: Der vollständige Quellcode für die Applikationen dieses Buches Das Spring-Framework gehört zum obligatorischen Grundwissen eines Java-Entwicklers. Spring 3 führt leistungsfähige neue Features wie die Spring Expression Language (SpEL), neue Annotationen für IoC-Container und den lang ersehnten Support für REST ein. Es gibt keinen besseren Weg, um sich Spring anzueignen, als dieses Buch - egal ob Sie Spring gerade erst entdecken oder sich mit den neuen 3.0-Features vertraut machen wollen. Craig Walls setzt in dieser gründlich überarbeiteten 2. Auflage den anschaulichen und praxisorientierten Stil der Vorauflage fort. Er bringt als Autor sein Geschick für treffende und unterhaltsame Beispiele ein, die das Augenmerk direkt auf die Features und Techniken richten, die Sie wirklich brauchen. Diese Auflage hebt die wichtigsten Aspekte von Spring 3.0 hervor: REST, Remote-Services, Messaging, Security, MVC, Web Flow und vieles mehr. Das finden Sie in diesem Buch: - Die Arbeit mit Annotationen, um die Konfiguration zu reduzieren - Die Arbeit mit REST-konformen Ressourcen - Spring Expression Language (SpEL) - Security, Web Flow usw. AUS DEM INHALT: Spring ins kalte Wasser, Verschalten von Beans, Die XML-Konfiguration in Spring minimalisieren, Aspektorientierung, Zugriff auf die Datenbank, Transaktionen verwalten, Webapplikationen mit Spring MVC erstellen, Die Arbeit mit Spring Web Flow, Spring absichern, Die Arbeit mit Remote-Diensten, Spring und REST, Messaging in Spring, Verwalten von Spring-Beans mit JMX
Legend has it that Google deploys over two billion application containers a week. How’s that possible? Google revealed the secret through a project called Kubernetes, an open source cluster orchestrator (based on its internal Borg system) that radically simplifies the task of building, deploying, and maintaining scalable distributed systems in the cloud. This practical guide shows you how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency. Authors Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and other organizatons—explain how this system fits into the lifecycle of a distributed application. You will learn how to use tools and APIs to automate scalable distributed systems, whether it is for online services, machine-learning applications, or a cluster of Raspberry Pi computers. Explore the distributed system challenges that Kubernetes addresses Dive into containerized application development, using containers such as Docker Create and run containers on Kubernetes, using the docker image format and container runtime Explore specialized objects essential for running applications in production Reliably roll out new software versions without downtime or errors Get examples of how to develop and deploy real-world applications in Kubernetes
grep kurz & gut ist die erste deutschsprachige Befehlsreferenz zu grep, dem mächtigen Such- und Filterungswerkzeug unter Unix. Jeder, der sich ausführlich zu den Möglichkeiten, die in grep stecken, informieren möchte, ist mit diesem Buch bestens bedient. Er erfährt, wie viele alltägliche Aufgaben mit grep ausgeführt werden können, von der Mail-Filterung über geschicktes Log-Management bis hin zur Malware-Analyse. Der Befehl grep stellt viele verschiedene Möglichkeiten bereit, Textstrings in einer Datei oder einem Ausgabestream zu finden. Diese Flexibilität macht grep zu einem mächtigen Tool, um das Vorhandensein von Informationen in Dateien zu ermitteln. Im Allgemeinen ist der Befehl grep nur dafür gedacht, Textausgaben oder Textdateien zu durchsuchen. Sie können auch Binärdateien (oder andere Nicht-Textdateien) durchsuchen, aber das Tool ist in dem Fall eingeschränkt. Tricks zum Durchsuchen von Binärdateien mit grep (also die Verwendung von String-Befehlen) werden ebenso in grep kurz & gut aufgezeigt. Sollte der Leser bereits mit der Arbeit mit grep vertraut sein, hilft ihm grep kurz & gut dabei, seine Kenntnisse aufzufrischen und mit grep besonders effizient zu arbeiten. Für grep-Einsteiger ist das vorliegende Buch eine hervorragende Möglichkeit, grep von Grund auf zu lernen und klug anzuwenden.
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.
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.
Mit diesen sieben Sprachen erkunden Sie die wichtigsten Programmiermodelle unserer Zeit. Lernen Sie die dynamische Typisierung kennen, die Ruby, Python und Perl so flexibel und verlockend macht. Lernen Sie das Prototyp-System verstehen, das das Herzstück von JavaScript bildet. Erfahren Sie, wie das Pattern Matching in Prolog die Entwicklung von Scala und Erlang beeinflusst hat. Entdecken Sie, wie sich die rein funktionale Programmierung in Haskell von der Lisp-Sprachfamilie, inklusive Clojure, unterscheidet. Erkunden Sie die parallelen Techniken, die das Rückgrat der nächsten Generation von Internet-Anwendungen bilden werden. Finden Sie heraus, wie man Erlangs "Lass es abstürzen"-Philosophie zum Aufbau fehlertoleranter Systeme nutzt. Lernen Sie das Aktor-Modell kennen, das das parallele Design bei Io und Scala bestimmt. Entdecken Sie, wie Clojure die Versionierung nutzt, um einige der schwierigsten Probleme der Nebenläufigkeit zu lösen. Hier finden Sie alles in einem Buch. Nutzen Sie die Konzepte einer Sprache, um kreative Lösungen in einer anderen Programmiersprache zu finden – oder entdecken Sie einfach eine Sprache, die Sie bisher nicht kannten. Man kann nie wissen – vielleicht wird sie sogar eines ihrer neuen Lieblingswerkzeuge.
Verhaltensregeln für professionelle Programmierer Erfolgreiche Programmierer haben eines gemeinsam: Die Praxis der Software-Entwicklung ist ihnen eine Herzensangelegenheit. Auch wenn sie unter einem nicht nachlassenden Druck arbeiten, setzen sie sich engagiert ein. Software-Entwicklung ist für sie eine Handwerkskunst. In Clean Coder stellt der legendäre Software-Experte Robert C. Martin die Disziplinen, Techniken, Tools und Methoden vor, die Programmierer zu Profis machen. Dieses Buch steckt voller praktischer Ratschläge und behandelt alle wichtigen Themen vom professionellen Verhalten und Zeitmanagement über die Aufwandsschätzung bis zum Refactoring und Testen. Hier geht es um mehr als nur um Technik: Es geht um die innere Haltung. Martin zeigt, wie Sie sich als Software-Entwickler professionell verhalten, gut und sauber arbeiten und verlässlich kommunizieren und planen. Er beschreibt, wie Sie sich schwierigen Entscheidungen stellen und zeigt, dass das eigene Wissen zu verantwortungsvollem Handeln verpflichtet. In diesem Buch lernen Sie: Was es bedeutet, sich als echter Profi zu verhalten Wie Sie mit Konflikten, knappen Zeitplänen und unvernünftigen Managern umgehen Wie Sie beim Programmieren im Fluss bleiben und Schreibblockaden überwinden Wie Sie mit unerbittlichem Druck umgehen und Burnout vermeiden Wie Sie Ihr Zeitmanagement optimieren Wie Sie für Umgebungen sorgen, in denen Programmierer und Teams wachsen und sich wohlfühlen Wann Sie Nein sagen sollten – und wie Sie das anstellen Wann Sie Ja sagen sollten – und was ein Ja wirklich bedeutet Großartige Software ist etwas Bewundernswertes: Sie ist leistungsfähig, elegant, funktional und erfreut bei der Arbeit sowohl den Entwickler als auch den Anwender. Hervorragende Software wird nicht von Maschinen geschrieben, sondern von Profis, die sich dieser Handwerkskunst unerschütterlich verschrieben haben. Clean Coder hilft Ihnen, zu diesem Kreis zu gehören. Über den Autor: Robert C. Uncle Bob Martin ist seit 1970 Programmierer und bei Konferenzen in aller Welt ein begehrter Redner. Zu seinen Büchern gehören Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code und Agile Software Development: Principles, Patterns, and Practices. Als überaus produktiver Autor hat Uncle Bob Hunderte von Artikeln, Abhandlungen und Blogbeiträgen verfasst. Er war Chefredakteur bei The C++ Report und der erste Vorsitzende der Agile Alliance. Martin gründete und leitet die Firma Object Mentor, Inc., die sich darauf spezialisiert hat, Unternehmen bei der Vollendung ihrer Projekte behilflich zu sein.
Wenn Sie Linux bei Ihrer alltäglichen Arbeit verwenden, ist diese Kurzreferenz genau das Richtige, denn obwohl die grafischen Linux-Benutzeroberflächen angenehm intuitiv zu benutzen sind, lassen sich viele Aufgaben über die Befehlszeile eleganter und schneller lösen. Diese zweite überarbeitete und erweiterte Auflage behandelt distributionsübergreifend: Dateisysteme, Verzeichnisse und Shells Dateierzeugung und -bearbeitung Dateitextmanipulation und Pipelines Backups und externe Speicherung Betrachtung und Steuerung von Prozessen Verwaltung von Benutzerzugängen Benutzer und Administratoren Netzwerkverbindungen Audio und Video Softwareinstallation Programmierung mit Shellskripten
Showdown auf einem staubigen Highway, irgendwo in den Weiten Amerikas: Eine Motorrad-Gang überholt einen Truck. Plötzlich gibt der Fahrer des Trucks Gas und es beginnt eine tödliche Verfolgungsjagd am Limit für Mensch und Maschine. Wer bremst, verliert... sein Leben! Joe Hill, mit dem Eisner Award geehrter Comic-Autor (Locke Key) und für seine Romane mehrfach ausgezeichneter Schriftsteller, schuf zusammen mit seinem Vater Stephen King den Highway-Thriller Throttle (Vollgas) als Verneigung vor Richard Mathesons Erzählung Duell, die durch Steven Spielberg auch zu filmischer Berühmtheit gelangte. Beide Geschichten finden sich in diesem Band, adaptiert von Chris Ryall und grossartig in Szene gesetzt von Nelson Daniel und Rafa Garres. DAS ERSTE COMIC-TEAM UP VON STEPHEN KING UND JOE HILL!
A practical guide to rapidly and efficiently mastering Docker containers, along with tips and tricks learned in the field. About This Book Use Docker containers, horizontal node scaling, modern orchestration tools (Docker Swarm, Kubernetes, and Mesos) and Continuous Integration/Continuous Delivery to manage your infrastructure. Increase service density by turning often-idle machines into hosts for numerous Docker services. Learn what it takes to build a true container infrastructure that is scalable, reliable, and resilient in the face of increased complexities from using container infrastructures. Find out how to identify, debug, and mitigate most real-world, undocumented issues when deploying your own Docker infrastructure. Learn tips and tricks of the trade from existing Docker infrastructures running in production environments. Who This Book Is For This book is aimed at system administrators, developers, DevOps engineers, and software engineers who want to get concrete, hands-on experience deploying multi-tier web applications and containerized microservices using Docker. This book is also for anyone who has worked on deploying services in some fashion and wants to take their small-scale setups to the next level (or simply to learn more about the process). What You Will Learn Set up a working development environment and create a simple web service to demonstrate the basics Learn how to make your service more usable by adding a database and an app server to process logic Add resilience to your services by learning how to horizontally scale with a few containers on a single node Master layering isolation and messaging to simplify and harden the connectivity between containers Learn about numerous issues encountered at scale and their workarounds, from the kernel up to code versioning Automate the most important parts of your infrastructure with continuous integration In Detail Deploying Docker into production is considered to be one of the major pain points in developing large-scale infrastructures, and the documentation available online leaves a lot to be desired. With this book, you will learn everything you wanted to know to effectively scale your deployments globally and build a resilient, scalable, and containerized cloud platform for your own use. The book starts by introducing you to the containerization ecosystem with some concrete and easy-to-digest examples; after that, you will delve into examples of launching multiple instances of the same container. From there, you will cover orchestration, multi-node setups, volumes, and almost every relevant component of this new approach to deploying services. Using intertwined approaches, the book will cover battle-tested tooling, or issues likely to be encountered in real-world scenarios, in detail. You will also learn about the other supporting components required for a true PaaS deployment and discover common options to tie the whole infrastructure together. At the end of the book, you learn to build a small, but functional, PaaS (to appreciate the power of the containerized service approach) and continue to explore real-world approaches to implementing even larger global-scale services. Style and approach This in-depth learning guide shows you how to deploy your applications in production using Docker (from the basic steps to advanced concepts) and how to overcome challenges in Docker-based infrastructures. The book also covers practical use-cases in real-world examples, and provides tips and tricks on the various topics.
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.

Best Books