Use Linux containers as an alternative virtualization technique to virtualize your operating system environment. This book will cover LXCs unmatched flexibility with virtualization and LXDs smooth user experience. Practical LXC and LXD begins by introducing you to Linux containers (LXC and LXD). You will then go through use cases based on LXC and LXD. Next, you will see the internal workings of LXC and LXD by considering the repositories and templates used. You will then learn how to integrate LXC and LXD with common virtualization and orchestration tools such as libvirt and SaltStack. Finally, you will dive into containerization and security. The book will explore some of the common problems in security and provide a case study on how containerization can help mitigate some of the operating system-level security issues in an IoT environment. What You Will Learn Get an introduction to Linux containers Discover the basics of LXC and LXD See use cases that can be solved with LXC and LXD - for developers, devops, and system administrators Master LXC and LXD repositories Use LXC and LXD with common virtualization and orchestration tools Consider a containerization and security in IoT case study Who This Book Is For The audience for this book should have basic knowledge of Linux and software development in general. The intended readership is primarily software developers, operations engineers, and system administrators who are interested in devops, though managers and enthusiasts will also benefit from this book. Senthil Kumaran S, popularly called stylesen on the Internet, is from Chennai, India, and is currently working as a LAVA Software Engineer for Linaro Ltd., in Cambridge, UK. He is a free software enthusiast and contributes to many free open source software projects. He is a Full Committer of the Apache Subversion version control system project and a Project Management Committee (PMC) member at Apache Software Foundation. As a Debian Maintainer, Senthil maintains packages such as django-compat and many Linaro Automated Validation Architecture (LAVA)-related packages for the Debian operating system. He has previously authored the book Open Source in the Tamil language. Senthil has contributed many articles to Linux For You magazine and is a regular speaker at various technical events. He holds a bachelors degree in Computer Science and Engineering from Thiagarajar College of Engineering, Madurai, India, and a masters degree in Software Systems from Birla Institute of Technology, Pilani, India.
Take container cluster management to the next level; learn how to administer and configure Kubernetes on CoreOS; and apply suitable management design patterns such as Configmaps, Autoscaling, elastic resource usage, and high availability. Some of the other features discussed are logging, scheduling, rolling updates, volumes, service types, and multiple cloud provider zones. The atomic unit of modular container service in Kubernetes is a Pod, which is a group of containers with a common filesystem and networking. The Kubernetes Pod abstraction enables design patterns for containerized applications similar to object-oriented design patterns. Containers provide some of the same benefits as software objects such as modularity or packaging, abstraction, and reuse. CoreOS Linux is used in the majority of the chapters and other platforms discussed are CentOS with OpenShift, Debian 8 (jessie) on AWS, and Debian 7 for Google Container Engine. CoreOS is the main focus becayse Docker is pre-installed on CoreOS out-of-the-box. CoreOS: Supports most cloud providers (including Amazon AWS EC2 and Google Cloud Platform) and virtualization platforms (such as VMWare and VirtualBox) Provides Cloud-Config for declaratively configuring for OS items such as network configuration (flannel), storage (etcd), and user accounts Provides a production-level infrastructure for containerized applications including automation, security, and scalability Leads the drive for container industry standards and founded appc Provides the most advanced container registry, Quay Docker was made available as open source in March 2013 and has become the most commonly used containerization platform. Kubernetes was open-sourced in June 2014 and has become the most widely used container cluster manager. The first stable version of CoreOS Linux was made available in July 2014 and since has become one of the most commonly used operating system for containers. What Youll Learn Use Kubernetes with Docker Create a Kubernetes cluster on CoreOS on AWS Apply cluster management design patterns Use multiple cloud provider zones Work with Kubernetes and tools like Ansible Discover the Kubernetes-based PaaS platform OpenShift Create a high availability website Build a high availability Kubernetes master cluster Use volumes, configmaps, services, autoscaling, and rolling updates Manage compute resources Configure logging and scheduling Who This Book Is For Linux admins, CoreOS admins, application developers, and container as a service (CAAS) developers. Some pre-requisite knowledge of Linux and Docker is required. Introductory knowledge of Kubernetes is required such as creating a cluster, creating a Pod, creating a service, and creating and scaling a replication controller. For introductory Docker and Kubernetes information, refer to Pro Docker (Apress) and Kubernetes Microservices with Docker (Apress). Some pre-requisite knowledge about using Amazon Web Services (AWS) EC2, CloudFormation, and VPC is also required. Deepak Vohra is an Oracle Certified Associate and a Sun Certified Java Programmer. Deepak has published in Oracle Magazine, OTN, IBM developerWorks, ONJava, DevSource, WebLogic Developers Journal, XML Journal, Java Developers Journal, FTPOnline, and devx.
Design, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients. You will use Docker to containerize your application, integrate with GitHub to package the application, and provide continuous deployment to Azures IaaS platform. Along the way, Real-Time Web Application Development covers topics including designing a Materialize CSS theme, using a test-driven development approach with xUnit.net, and securing your application with the OAuth 2.0 protocol. To further your understanding of the technology, you will learn logging and exception handling; navigation using view components; and how to work with forms and validations. The rich code samples from this book can be used to retrofit or upgrade existing ASP.NET Core applications. What You Will Learn Design and develop a real-world web application Implement security and data storage with OAuth2 and Azure Table Storage Orchestrate real-time notifications through SignalR Use GitHub and Travis CI for continuous integration of code Master Docker containerization and continuous deployment with Docker Cloud to Azure Linux virtual machines Who This Book Is For Developers and software engineers interested in learning an end-to-end approach to application development using Microsoft technologies. Rami Vemula is a technology consultant who has more than 7 years of experience is delivering reliable and scalable Web and Cloud solutions using Microsoft Technologies and platforms, which includes ASP.Net MVC/Web API, .NET Core, ASP.Net Core, JQuery, C#, Entity Framework, SQL Server and Azure. Although web technologies are his primary area of focus, he also worked on other projects like Big Data Analytics using HDInsight, Universal Windows Platform Apps to name a few. He is a Microsoft Certified ASP.Net and Azure Developer. He was a Microsoft ASP.Net MVP from 2011 to 2014 and an active trainer. In his free time, he enjoys exploring different technical questions at StackOverflow and forums.asp.net, and then contributes with prospective solutions through custom written code snippets.