Hands-On Linux for Architects

Hands-On Linux for Architects

Author: Denis Salamanca

Publisher: Packt Publishing Ltd

Published: 2019-04-30

Total Pages: 366

ISBN-13: 1789532299

DOWNLOAD EBOOK

Explore practical use cases to learn everything from Linux components, and functionalities, through to hardware and software support Key FeaturesGain a clear understanding of how to design a Linux environmentLearn more about the architecture of the modern Linux operating system(OS)Understand infrastructure needs and design a high-performing computing environmentBook Description It is very important to understand the flexibility of an infrastructure when designing an efficient environment. In this book, you will cover everything from Linux components and functionalities through to hardware and software support, which will help you to implement and tune effective Linux-based solutions. This book gets started with an overview of Linux design methodology. Next, you will focus on the core concepts of designing a solution. As you progress, you will gain insights into the kinds of decisions you need to make when deploying a high-performance solution using Gluster File System (GlusterFS). In the next set of chapters, the book will guide you through the technique of using Kubernetes as an orchestrator for deploying and managing containerized applications. In addition to this, you will learn how to apply and configure Kubernetes for your NGINX application. You’ll then learn how to implement an ELK stack, which is composed of Elasticsearch, Logstash, and Kibana. In the concluding chapters, you will focus on installing and configuring a Saltstack solution to manage different Linux distributions, and explore a variety of design best practices. By the end of this book, you will be well-versed with designing a high-performing computing environment for complex applications to run on. By the end of the book, you will have delved inside the most detailed technical conditions of designing a solution, and you will have also dissected every aspect in detail in order to implement and tune open source Linux-based solutions What you will learnStudy the basics of infrastructure design and the steps involvedExpand your current design portfolio with Linux-based solutionsDiscover open source software-based solutions to optimize your architectureUnderstand the role of high availability and fault tolerance in a resilient designIdentify the role of containers and how they improve your continuous integration and continuous deployment pipelinesGain insights into optimizing and making resilient and highly available designs by applying industry best practicesWho this book is for This intermediate-level book is for Linux system administrators, Linux support engineers, DevOps engineers, Linux consultants or any open source technology professional looking to learn or expand their knowledge in architecting, designing and implementing solutions based on Linux and open source software. Prior experience in Linux is required.


Professional Linux Kernel Architecture

Professional Linux Kernel Architecture

Author: Wolfgang Mauerer

Publisher: John Wiley & Sons

Published: 2010-03-11

Total Pages: 1308

ISBN-13: 1118079914

DOWNLOAD EBOOK

Find an introduction to the architecture, concepts and algorithms of the Linux kernel in Professional Linux Kernel Architecture, a guide to the kernel sources and large number of connections among subsystems. Find an introduction to the relevant structures and functions exported by the kernel to userland, understand the theoretical and conceptual aspects of the Linux kernel and Unix derivatives, and gain a deeper understanding of the kernel. Learn how to reduce the vast amount of information contained in the kernel sources and obtain the skills necessary to understand the kernel sources.


Mastering Linux Device Driver Development

Mastering Linux Device Driver Development

Author: John Madieu

Publisher: Packt Publishing Ltd

Published: 2021-01-08

Total Pages: 647

ISBN-13: 1789342201

DOWNLOAD EBOOK

Master the art of developing customized device drivers for your embedded Linux systems Key FeaturesStay up to date with the Linux PCI, ASoC, and V4L2 subsystems and write device drivers for themGet to grips with the Linux kernel power management infrastructureAdopt a practical approach to customizing your Linux environment using best practicesBook Description Linux is one of the fastest-growing operating systems around the world, and in the last few years, the Linux kernel has evolved significantly to support a wide variety of embedded devices with its improved subsystems and a range of new features. With this book, you'll find out how you can enhance your skills to write custom device drivers for your Linux operating system. Mastering Linux Device Driver Development provides complete coverage of kernel topics, including video and audio frameworks, that usually go unaddressed. You'll work with some of the most complex and impactful Linux kernel frameworks, such as PCI, ALSA for SoC, and Video4Linux2, and discover expert tips and best practices along the way. In addition to this, you'll understand how to make the most of frameworks such as NVMEM and Watchdog. Once you've got to grips with Linux kernel helpers, you'll advance to working with special device types such as Multi-Function Devices (MFD) followed by video and audio device drivers. By the end of this book, you'll be able to write feature-rich device drivers and integrate them with some of the most complex Linux kernel frameworks, including V4L2 and ALSA for SoC. What you will learnExplore and adopt Linux kernel helpers for locking, work deferral, and interrupt managementUnderstand the Regmap subsystem to manage memory accesses and work with the IRQ subsystemGet to grips with the PCI subsystem and write reliable drivers for PCI devicesWrite full multimedia device drivers using ALSA SoC and the V4L2 frameworkBuild power-aware device drivers using the kernel power management frameworkFind out how to get the most out of miscellaneous kernel subsystems such as NVMEM and WatchdogWho this book is for This book is for embedded developers, Linux system engineers, and system programmers who want to explore Linux kernel frameworks and subsystems. C programming skills and a basic understanding of driver development are necessary to get started with this book.


The Software Architect Elevator

The Software Architect Elevator

Author: Gregor Hohpe

Publisher: "O'Reilly Media, Inc."

Published: 2020-04-08

Total Pages: 282

ISBN-13: 1492077496

DOWNLOAD EBOOK

As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what’s worked and what hasn’t in large-scale transformation


Mastering KVM Virtualization

Mastering KVM Virtualization

Author: Vedran Dakic

Publisher: Packt Publishing Ltd

Published: 2020-10-23

Total Pages: 687

ISBN-13: 1838822976

DOWNLOAD EBOOK

Learn how to configure, automate, orchestrate, troubleshoot, and monitor KVM-based environments capable of scaling to private and hybrid cloud models Key FeaturesGain expert insights into Linux virtualization and the KVM ecosystem with this comprehensive guideLearn to use various Linux tools such as QEMU, oVirt, libvirt, Cloud-Init, and Cloudbase-InitScale, monitor, and troubleshoot your VMs on various platforms, including OpenStack and AWSBook Description Kernel-based Virtual Machine (KVM) enables you to virtualize your data center by transforming your Linux operating system into a powerful hypervisor that allows you to manage multiple operating systems with minimal fuss. With this book, you'll gain insights into configuring, troubleshooting, and fixing bugs in KVM virtualization and related software. This second edition of Mastering KVM Virtualization is updated to cover the latest developments in the core KVM components - libvirt and QEMU. Starting with the basics of Linux virtualization, you'll explore VM lifecycle management and migration techniques. You'll then learn how to use SPICE and VNC protocols while creating VMs and discover best practices for using snapshots. As you progress, you'll integrate third-party tools with Ansible for automation and orchestration. You'll also learn to scale out and monitor your environments, and will cover oVirt, OpenStack, Eucalyptus, AWS, and ELK stack. Throughout the book, you'll find out more about tools such as Cloud-Init and Cloudbase-Init. Finally, you'll be taken through the performance tuning and troubleshooting guidelines for KVM-based virtual machines and a hypervisor. By the end of this book, you'll be well-versed with KVM virtualization and the tools and technologies needed to build and manage diverse virtualization environments. What you will learnImplement KVM virtualization using libvirt and oVirtDelve into KVM storage and networkUnderstand snapshots, templates, and live migration featuresGet to grips with managing, scaling, and optimizing the KVM ecosystemDiscover how to tune and optimize KVM virtualization hostsAdopt best practices for KVM platform troubleshootingWho this book is for If you are a systems administrator, DevOps practitioner, or developer with Linux experience looking to sharpen your open-source virtualization skills, this virtualization book is for you. Prior understanding of the Linux command line and virtualization is required before getting started with this book.


Hands-On Software Architecture with Golang

Hands-On Software Architecture with Golang

Author: Jyotiswarup Raiturkar

Publisher: Packt Publishing Ltd

Published: 2018-12-07

Total Pages: 716

ISBN-13: 1788625102

DOWNLOAD EBOOK

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling Key FeaturesGain knowledge of architectural approaches on SOA and microservices for architectural decisionsExplore different architectural patterns for building distributed applicationsMigrate applications written in Java or Python to the Go languageBook Description Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns. Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages. By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang. What you will learnUnderstand architectural paradigms and deep dive into MicroservicesDesign parallelism/concurrency patterns and learn object-oriented design patterns in GoExplore API-driven systems architecture with introduction to REST and GraphQL standardsBuild event-driven architectures and make your architectures anti-fragileEngineer scalability and learn how to migrate to Go from other languagesGet to grips with deployment considerations with CICD pipeline, cloud deployments, and so onBuild an end-to-end e-commerce (travel) application backend in GoWho this book is for Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.


Hands-On Enterprise Automation on Linux

Hands-On Enterprise Automation on Linux

Author: James Freeman

Publisher: Packt Publishing Ltd

Published: 2020-01-24

Total Pages: 496

ISBN-13: 1789137462

DOWNLOAD EBOOK

Achieve enterprise automation in your Linux environment with this comprehensive guide Key FeaturesAutomate your Linux infrastructure with the help of practical use cases and real-world scenariosLearn to plan, build, manage, and customize OS releases in your environmentEnhance the scalability and efficiency of your infrastructure with advanced Linux system administration conceptsBook Description Automation is paramount if you want to run Linux in your enterprise effectively. It helps you minimize costs by reducing manual operations, ensuring compliance across data centers, and accelerating deployments for your cloud infrastructures. Complete with detailed explanations, practical examples, and self-assessment questions, this book will teach you how to manage your Linux estate and leverage Ansible to achieve effective levels of automation. You'll learn important concepts on standard operating environments that lend themselves to automation, and then build on this knowledge by applying Ansible to achieve standardization throughout your Linux environments. By the end of this Linux automation book, you'll be able to build, deploy, and manage an entire estate of Linux servers with higher reliability and lower overheads than ever before. What you will learnPerform large-scale automation of Linux environments in an enterpriseOvercome the common challenges and pitfalls of extensive automationDefine the business processes needed to support a large-scale Linux environmentGet well-versed with the most effective and reliable patch management strategiesAutomate a range of tasks from simple user account changes to complex security policy enforcementLearn best practices and procedures to make your Linux environment automatableWho this book is for This book is for anyone who has a Linux environment to design, implement, and maintain. Open source professionals including infrastructure architects and system administrators will find this book useful. You’re expected to have experience in implementing and maintaining Linux servers along with knowledge of building, patching, and maintaining server infrastructure. Although not necessary, knowledge of Ansible or other automation technologies will be beneficial.


OpenStack for Architects

OpenStack for Architects

Author: Michael Solberg

Publisher: Packt Publishing Ltd

Published: 2017-02-06

Total Pages: 206

ISBN-13: 1784396443

DOWNLOAD EBOOK

Design and implement successful private clouds with OpenStack About This Book Explore the various design choices available for cloud architects within an OpenStack deployment Craft an OpenStack architecture and deployment pipeline to meet the unique needs of your organization Create a product roadmap for Infrastructure as a Service in your organization using this hands-on guide Who This Book Is For This book is written especially for those who will design OpenStack clouds and lead their implementation. These people are typically cloud architects, but may also be in product management, systems engineering, or enterprise architecture. What You Will Learn Familiarize yourself with the components of OpenStack Build an increasingly complex OpenStack lab deployment Write compelling documentation for the architecture teams within your organization Apply Agile configuration management techniques to deploy OpenStack Integrate OpenStack with your organization's identity management, provisioning, and billing systems Configure a robust virtual environment for users to interact with Use enterprise security guidelines for your OpenStack deployment Create a product roadmap that delivers functionality quickly to the users of your platform In Detail Over the last five years, hundreds of organizations have successfully implemented Infrastructure as a Service (IaaS) platforms based on OpenStack. The huge amount of investment from these organizations, industry giants such as IBM and HP, as well as open source leaders such as Red Hat have led analysts to label OpenStack as the most important open source technology since the Linux operating system. Because of its ambitious scope, OpenStack is a complex and fast-evolving open source project that requires a diverse skill-set to design and implement it. This guide leads you through each of the major decision points that you'll face while architecting an OpenStack private cloud for your organization. At each point, we offer you advice based on the experience we've gained from designing and leading successful OpenStack projects in a wide range of industries. Each chapter also includes lab material that gives you a chance to install and configure the technologies used to build production-quality OpenStack clouds. Most importantly, we focus on ensuring that your OpenStack project meets the needs of your organization, which will guarantee a successful rollout. Style and approach This is practical, hands-on guide to implementing OpenStack clouds, where each topic is illustrated with real-world examples and then the technical points are proven in the lab.


Just Enough Software Architecture

Just Enough Software Architecture

Author: George Fairbanks

Publisher: Marshall & Brainerd

Published: 2010-08-30

Total Pages: 378

ISBN-13: 0984618104

DOWNLOAD EBOOK

This is a practical guide for software developers, and different than other software architecture books. Here's why: It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face. It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties. It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts. It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail. It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.


IA-64 Linux Kernel

IA-64 Linux Kernel

Author: David Mosberger

Publisher: Prentice Hall

Published: 2002

Total Pages: 0

ISBN-13: 9780130610140

DOWNLOAD EBOOK

The IA-64 Linux kernel makes extraordinary power available to every Linux developer. In IA-64 Linux Kernel: Design and Implementation, the kernel project's leaders systematically present every major subsystem, introducing interfaces used by Linux to abstract platform differences, showing how these interfaces are used in IA-64, and illuminating key issues associated with Linux kernel operation on any platform. Covers processes, tasks, threads, virtual memory, I/O, symmetric multiprocessing, bootstrapping, and more.