A Treatise on Systems (volume 2)This 2d volume describes the systematic application of Promise Theory to systems, representing a significant step forward in describing functional systems with both dynamics and semantics. By combining quantitative and qualitative descriptions in a single framework, Promise Theory provides the first impartial language for multiscale system phenomena. The closer one is the intrinsic scale of a system component, the more its qualitative semantics dominate its behaviour. As one scales out to large numbers, dynamical patterns dominate the average behaviours.This book serves as guide to graduate students and researchers in the development of a new science of systems, and contains an outstanding number of examples and lessons accumulated over ten years of working in the field, unified by a single theoretical Promise Theoretic model. ...
Kubernetes: Up and Running, 3rd EditionIn just five years, Kubernetes has radically changed the way developers and ops personnel build, deploy, and maintain applications in the cloud. With this book's updated third edition, you'll learn how this popular container orchestrator can help your company achieve new levels of velocity, agility, reliability, and efficiency-whether you're new to distributed systems or have been deploying cloud native apps for some time.
Brendan Burns, Joe Beda, Kelsey Hightower, and Lachlan Evenson-who have worked on Kubernetes at Google and beyond-explain how this system fits into the life cycle of a distributed application. Software developers, engineers, and architects will learn ways to use tools and APIs to automate scalable distributed systems for online services, machine learning applications, or even a cluster of Raspberry Pi computers.
This guide shows you how to: Create a simple cluster to learn how Kubernetes works; Dive into the details of deploying an application using Kubernetes; ...
Foundations of Scalable SystemsIn many systems, scalability becomes the primary driver as the user base grows. Attractive features and high utility breed success, which brings more requests to handle and more data to manage. But organizations reach a tipping point when design decisions that made sense under light loads suddenly become technical debt. This practical book covers design approaches and technologies that make it possible to scale an application quickly and cost-effectively.
Author Ian Gorton takes software architects and developers through the principles of foundational distributed systems. You'll explore the essential ingredients of scalable solutions, including replication, state management, load balancing, and caching. Specific chapters focus on the implications of scalability for databases, microservices, and event-based streaming systems.
You will focus on:
Foundations of scalable systems: Learn basic design principles of scalability, its costs, and architectural tradeoffs
Designing scalable ...
Ansible: Up and Running, 3rd EditionAmong the many configuration management tools available, Ansible has some distinct advantages: It's minimal in nature. You don't need to install agents on your nodes. And there's an easy learning curve. With this updated third edition, you'll quickly learn how to be productive with Ansible whether you're a developer deploying code or a system administrator looking for a better automation solution.
Authors Bas Meijer, Lorin Hochstein, and Rene Moser show you how to write playbooks (Ansible's configuration management scripts), manage remote servers, and explore the tool's real power: built-in declarative modules. You'll learn how Ansible has all the functionality you need-and the simplicity you desire.
Explore Ansible configuration management and deployment; Manage Linux, Windows, and network devices; Learn how to apply Ansible best practices; Understand how to use the new collections format; Create custom modules and plug-ins; Generate reusable Ansible content for open source midd ...
Infrastructure as Code, Patterns and PracticesInfrastructure as Code, Patterns and Practices teaches you to automate infrastructure by applying changes in a codified manner. You'll learn how to create, test, and deploy infrastructure components in a way that's easy to scale and share across an entire organization. The book is full of flexible automation techniques that work whether you're managing your personal projects or making live network changes across a large enterprise.
A system administrator or infrastructure engineer will learn essential software development practices for managing IaC, while developers will benefit from in-depth coverage of assembling infrastructure as part of DevOps culture. While the patterns and techniques are tool agnostic, you'll appreciate the easy-to-follow examples in Python and Terraform.
Infrastructure as Code is a set of practices and processes for provisioning and maintaining infrastructure using scripts, configuration, or programming languages. With IaC in place, it's easy to test compo ...
Data-Oriented ProgrammingData-Oriented Programming is a one-of-a-kind guide that introduces the data-oriented paradigm. This groundbreaking approach represents data with generic immutable data structures. It simplifies state management, eases concurrency, and does away with the common problems you'll find in object-oriented code. The book presents powerful new ideas through conversations, code snippets, and diagrams that help you quickly grok what's great about DOP. Best of all, the paradigm is language-agnostic - you'll learn to write DOP code that can be implemented in JavaScript, Ruby, Python, Clojure, and also in traditional OO languages like Java or C#.
Code that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The Data-oriented programming (DOP) paradigm simplifies state management by holding application data in immutable generic data structures and then performing calculations using non-mutating general-purpose fun ...
Azure Infrastructure as CodeAzure Infrastructure as Code teaches you to use Azure's native infrastructure as code (IaC) tools, like ARM and Bicep, to build, manage, and scale infrastructure with just a few lines of code. You'll discover ARM templates, deployment stacks, and the powerful new language Bicep. See how easy they make it to create new environments, safely make infrastructure changes, govern your resources using Azure Policy, and prevent configuration drift. Loaded with in-depth coverage of syntax and lots of illustrative examples, this hands-on guide is a must-read for anyone looking to expand their knowledge of provisioning.
Automating tasks like provisioning servers, operating systems, and storage, saves time and radically increases consistency. The Infrastructure as Code (IaC) approach brings the tools and practices of application deployment, such as Github Actions, automated testing, and pipeline-driven deployments, to infrastructure components. With Azure's native IaC tools, you can create whol ...
PHP 8 for Absolute Beginners, 3rd EditionEmbark on a practical journey of building dynamic sites aided by multiple projects that can be easily adapted to real-world scenarios. This third edition will show you how to become a confident PHP developer, ready to take the next steps to being a Full Stack Developer and/or successful website or web application programmer.
You won't be swamped with every detail of the full PHP language up front - instead, you'll be introduced to a small, versatile subset of PHP by learning to use it creatively to develop dynamic projects. You will see how to use variables, control structures, functions, and object-oriented programming. Secure programming techniques are used throughout the book to demonstrate the proper way to defend against hackers. You will learn how to plan and create MySQL/MariaDB databases and access them using PHP. During this process, you will be introduced to data objects, UI design concepts, and design patterns. Model-View-Controller (MVC) methodology will be used to keep ...
Apache Essentials, 2nd EditionTake a friendly, non-technical approach to installing, configuring, and maintaining a web server for development and testing on Mac OS, Linux, and Windows. This new edition uses straightforward language to demystify the mechanics of the web, leading the reader through a complex topic via simple, iterative steps. The book reflects current, relevant Apache configurations and web application frameworks, and prepares the reader for working in professional web development environments.
You'll begin by reviewing a brief history of Apache that focuses on the necessary foundation to understand what these web servers are and why they are used. You'll then install a basic Apache setup on your operating system that loads a static HTML file for display in a browser. Next you'll work through progressively more detailed configurations towards a modern, secure application development environment for the two most commonly implemented development frameworks: a PHP-based framework such as Laravel or ...
Agile Web Development with Rails 7Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single-page applications - at a fraction of the complexity. Rails 7 integrates the Hotwire frameworks of Stimulus and Turbo directly as the new defaults, together with that hot newness of import maps. The result is a toolkit so powerful that it allows a single individual to create modern applications upon which they can build a competitive business. The way it used to be.
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly - you concentrate on creating the application, and Rails takes care of the details. Rails 7 brings many improvements, and this edition is updated to cover the new features and changes in best practices.
We start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. Follow along with an extended tutorial as you write a web-based ...