Practical LXC and LXD


Book Description

Use Linux containers as an alternative virtualization technique to virtualize your operating system environment. This book will cover LXC’s unmatched flexibility with virtualization and LXD’s 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.




Containerization with LXC


Book Description

Get acquainted with the world of LXC About This Book Get the most practical and up-to-date resource on LXC and take full advantage of what Linux containers can offer in the day-to-day operations of large-scale applications Learn how to deploy and administer various workloads such as web applications inside LXC Save your organization time and money by building robust and secure containers and by speeding the deployment process of your software Who This Book Is For This book is for Linux engineers and software developers who are looking to deploy applications in a fast, secure, and scalable way for use in testing and production. What You Will Learn Deep dive into the foundations of Linux containers with kernel namespaces and cgroups Install, configure, and administer Linux containers with LXC and libvirt Begin writing applications using Python libvirt bindings Take an in-depth look at container networking Set up monitoring and security with LXC Build and deploy a highly available application with LXC in the cloud In Detail In recent years, containers have gained wide adoption by businesses running a variety of application loads. This became possible largely due to the advent of kernel namespaces and better resource management with control groups (cgroups). Linux containers (LXC) are a direct implementation of those kernel features that provide operating system level virtualization without the overhead of a hypervisor layer. This book starts by introducing the foundational concepts behind the implementation of LXC, then moves into the practical aspects of installing and configuring LXC containers. Moving on, you will explore container networking, security, and backups. You will also learn how to deploy LXC with technologies like Open Stack and Vagrant. By the end of the book, you will have a solid grasp of how LXC is implemented and how to run production applications in a highly available and scalable way. Style and approach A practical guide that introduces the core technologies behind Linux containers and provides a deep dive into installation, configuration, and operations of LXC.




Raspberry Pi OS Text Editors, git, and LXC


Book Description

The third volume in a new series exploring the basics of Raspberry Pi Operating System administration, this installment builds on the insights from Volumes 1 and 2 to provide a compendium of easy-to-use and essential guidance for Raspberry Pi system administration for novice users, with specific focus on Text Editors, git/ GitHub, and LXC/LXD. The overriding idea behind system administration of a modern, 21st-century Linux system, such as the Raspberry Pi OS, is the use of systemd to ensure that the Linux kernel works efficiently and effectively to provide these three foundation stones of computer operation and management: computer system concurrency, virtualization, and secure persistence. This third volume includes a beginner’s compendium of essential text-based Linux commands, a complete tutorial on the most important Raspberry Pi OS Text Editors, a description of uses of the git command, and a thorough explication of container virtualization with LXC/LXD and Docker. This book is aimed at students and practitioners looking to maximize their use of the Raspberry Pi OS. With plenty of practical examples, projects, and exercises, this volume can also be adopted in a more formal learning environment to supplement and extend the basic knowledge of a Linux operating system.




Proceedings of the Future Technologies Conference (FTC) 2020, Volume 2


Book Description

This book provides the state-of-the-art intelligent methods and techniques for solving real-world problems along with a vision of the future research. The fifth 2020 Future Technologies Conference was organized virtually and received a total of 590 submissions from academic pioneering researchers, scientists, industrial engineers, and students from all over the world. The submitted papers covered a wide range of important topics including but not limited to computing, electronics, artificial intelligence, robotics, security and communications and their applications to the real world. After a double-blind peer review process, 210 submissions (including 6 poster papers) have been selected to be included in these proceedings. One of the meaningful and valuable dimensions of this conference is the way it brings together a large group of technology geniuses in one venue to not only present breakthrough research in future technologies, but also to promote discussions and debate of relevant issues, challenges, opportunities and research findings. The authors hope that readers find the book interesting, exciting and inspiring.




Practical Ansible 2


Book Description

Leverage the power of Ansible to gain complete control over your systems and automate application deployment Key FeaturesUse Ansible 2.9 to automate and control your infrastructureDelve into advanced functionality such as plugins and custom modules in AnsibleAutomate and orchestrate major cloud platforms such as OpenStack, AWS, and Azure using AnsibleBook Description Ansible enables you to automate software provisioning, configuration management, and application roll-outs, and can be used as a deployment and orchestration tool. While Ansible provides simple yet powerful features to automate multi-layer environments using agentless communication, it can also solve other critical IT challenges, such as ensuring continuous integration and continuous deployment (CI/CD) with zero downtime. In this book, you'll work with Ansible 2.9 and learn to solve complex issues quickly with the help of task-oriented scenarios. You'll start by installing and configuring Ansible on Linux and macOS to automate monotonous and repetitive IT tasks and get to grips with concepts such as playbooks, inventories, and network modules. As you progress, you'll gain insight into the YAML syntax and learn how to port between Ansible versions. In addition to this, you'll also understand how Ansible enables you to orchestrate multi-layer environments such as networks, containers, and the cloud. By the end of this Ansible book, you'll be well - versed in writing playbooks and other related Ansible code to overcome just about all of your IT challenges, from infrastructure-as-code provisioning to application deployments, and even handling the mundane day-to-day maintenance tasks that take up so much valuable time. What you will learnBecome familiar with the fundamentals of the Ansible frameworkSet up role-based variables and dependenciesAvoid common mistakes and pitfalls when writing automation code in AnsibleExtend Ansible by developing your own modules and pluginsContribute to the Ansible project by submitting your own codeFollow best practices for working with cloud environment inventoriesTroubleshoot issues triggered during Ansible playbook runsWho this book is for If you are a DevOps engineer, administrator, or any IT professional looking to automate IT tasks using Ansible, this book is for you. Prior knowledge of Ansible is not necessary.




Raspberry Pi OS System Administration with systemd and Python


Book Description

The second in a new series exploring the basics of Raspberry Pi Operating System administration, this installment builds on the insights provided in Volume 1 to provide a compendium of easy-to-use and essential Raspberry Pi OS system administration for the novice user, with specific focus on Python and Python3. The overriding idea behind system administration of a modern, 21st-century Linux system such as the Raspberry Pi OS is the use of systemd to ensure that the Linux kernel works efficiently and effectively to provide these three foundation stones of computer operation and management: computer system concurrency, virtualization, and secure persistence. Exercises are included throughout to reinforce the readers’ learning goals with solutions and example code provided on the accompanying GitHub site. This book is aimed at students and practitioners looking to maximize their use of the Raspberry Pi OS. With plenty of practical examples, projects, and exercises, this volume can also be adopted in a more formal learning environment to supplement and extend the basic knowledge of a Linux operating system.




Edge Intelligence


Book Description

This graduate-level textbook is ideally suited for lecturing the most relevant topics of Edge Computing and its ties to Artificial Intelligence (AI) and Machine Learning (ML) approaches. It starts from basics and gradually advances, step-by-step, to ways AI/ML concepts can help or benefit from Edge Computing platforms. The book is structured into seven chapters; each comes with its own dedicated set of teaching materials (practical skills, demonstration videos, questions, lab assignments, etc.). Chapter 1 opens the book and comprehensively introduces the concept of distributed computing continuum systems that led to the creation of Edge Computing. Chapter 2 motivates the use of container technologies and how they are used to implement programmable edge computing platforms. Chapter 3 introduces ways to employ AI/ML approaches to optimize service lifecycles at the edge. Chapter 4 goes deeper in the use of AI/ML and introduces ways to optimize spreading computational tasks along edge computing platforms. Chapter 5 introduces AI/ML pipelines to efficiently process generated data on the edge. Chapter 6 introduces ways to implement AI/ML systems on the edge and ways to deal with their training and inferencing procedures considering the limited resources available at the edge-nodes. Chapter 7 motivates the creation of a new orchestrator independent object model to descriptive objects (nodes, applications, etc.) and requirements (SLAs) for underlying edge platforms. To provide hands-on experience to students and step-by-step improve their technical capabilities, seven sets of Tutorials-and-Labs (TaLs) are also designed. Codes and Instructions for each TaL is provided on the book website, and accompanied by videos to facilitate their learning process.




Ubuntu Linux Unleashed 2021 Edition


Book Description

Covers 20.04, 20.10, and 21.04 Ubuntu Linux Unleashed 2021 Edition is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly updated by a long-time Ubuntu user and early community leader to reflect the exciting new Ubuntu 20.04 LTS release, with a forthcoming online update mid-2021, at the halfway mark before the next LTS release comes out. Linux writer Matthew Helmke covers all you need to know about Ubuntu 20.04 LTS installation, configuration, productivity, command-line usage, development, systems administration, server operations, networking, virtualization, cloud computing, DevOps, and more—including intermediate-to-advanced techniques you won't find in any other book. Helmke presents up-to-the-minute introductions to Ubuntu's key productivity and web development tools, programming languages, hardware support, and more. You'll find new or improved coverage of the Ubuntu desktop experience, common web servers and software stacks, an introduction to containers like Docker and Kubernetes, as well as a wealth of systems administration information that is stable and valuable over many years. Configure and use the Ubuntu desktop Get started with multimedia and productivity applications Manage Linux services, users, and software packages Administer and run Ubuntu from the command line Automate tasks and use shell scripting Provide secure remote access and configure a secure VPN Manage kernels and modules Administer file, print, email, proxy, LDAP, DNS, and HTTP servers (Apache, Nginx, or alternatives) Work with databases (SQL) and learn about NoSQL alternatives Get started with virtualization and cloud deployment, including information about containers Learn about options for managing large numbers of servers, including in the cloud Learn the basics about popular programming languages including Python, PHP, Perl, and gain an introduction to new alternatives such as Go and Rust




Mastering Ubuntu Server


Book Description

This is the third edition of the bestselling one-stop resource for sysadmins and DevOps professionals to learn, configure and use Ubuntu 20.04 for their day-to-day operations and deployments. Key FeaturesA hands-on book that will teach you how to deploy, maintain and troubleshoot Ubuntu ServerLearn to leverage the improved performance and security-related aspects of Ubuntu Server 20.04 LTSNew chapters dedicated to exploring Ubuntu for cloudBook Description Ubuntu Server has taken data centers around the world by storm. Whether you're deploying Ubuntu for a large-scale project or for a small office, it is a stable, customizable, and powerful Linux distribution with innovative and cutting-edge features. For both simple and complex server deployments, Ubuntu's flexible nature can be easily adapted to meet to the needs of your organization. This third edition is updated to cover the advancements of Ubuntu 20.04 LTS and further train you to understand how to use Ubuntu Server, from initial deployment to creating production-ready resources for your network. The book begins with the concepts of user management, group management, and file system permissions. Continuing into managing storage volumes, you will learn how to format storage devices, utilize logical volume management, and monitor disk usage. Later, you will learn how to virtualize hosts and applications, which will include setting up QEMU & KVM, as well as containerization with both Docker and LXD. As the book continues, you will learn how to automate configuration with Ansible, as well as take a look at writing scripts. Lastly, you will explore best practices and troubleshooting techniques when working with Ubuntu Server that are applicable to real-world scenarios. By the end of this Ubuntu Server book, you will be well-versed in Ubuntu server's advanced concepts and attain the required proficiency needed for Ubuntu Server administration. What you will learnManage users, groups, and permissionsOptimize the performance of system resourcesPerform disk encryption and decryption with Linux Unified Key Setup (LUKS)Set up Secure Shell (SSH) for remote access, and connect it to other nodesShare directories using Samba and Network File System (NFS)Get familiar with scripting to improve command-line efficiencyConfigure VMs, containers, and orchestrate with MicroK8s and KubernetesAutomate server deployments with Ansible and cloud server deployments with TerraformWho this book is for The book is written to cater to sysadmins and DevOps professionals whose teams are planning to employ an Ubuntu/Linux environment for their development needs. Prior knowledge of Ubuntu is not required. However, it is assumed that you possess some IT admin, Linux, and shell scripting experience.




Raspberry Pi OS Text Editors, Git, and LXC


Book Description

"The third in a new series exploring the basics of Raspberry Pi Operating System administration, this instalment builds on the insights provided in Volumes 1 and 2 to provide a compendium of easy-to-use and essential Raspberry Pi OS system administration for the novice user, with specific focus on Text Editors, git/GitHub and LXC/LXD The overriding idea behind system administration of a modern, 21st century Linux system such as the Raspberry Pi OS is the use of systemd to ensure that the Linux kernel works efficiently and effectively to provide these three foundation stones of computer operation and management: computer system concurrency, virtualization, and secure persistence. This third volume includes a beginner's compendium of essential text-based Linux commands, a complete tutorial on the most important Raspberry Pi OS Text Editors, a description of uses of the git command and a thorough explication of container virtualization with LXC/LXD and Docker. This book is aimed at students and practitioners looking to maximise their use of the Raspberry Pi OS. With plenty of practical examples, projects and exercises, this volume can also be adopted in a more formal learning environment to supplement and extend the basic knowledge of a Linux operating system"--