PHP 8 Objects, Patterns, and PracticeLearn how to develop elegant and rock-solid systems using PHP, aided by three key elements: object fundamentals, design principles, and best practices. The 6th edition of this popular book has been fully updated for PHP 8, including attributes, constructor property promotion, new argument and return pseudo-types, and more. It also covers many features new since the last edition including typed properties, the null coalescing operator, and void return types. This book provides a solid grounding in PHP's support for objects, it builds on this foundation to instill core principles of software design and then covers the tools and practices needed to develop, test, and deploy robust code.
PHP 8 Objects, Patterns, and Practice begins by covering PHP's object-oriented features. It introduces key topics including class declarations, inheritance, and reflection. The next section is devoted to design patterns. It explains the principles that make patterns powerful. You'll cover many of the cl ...
How To Manage Remote Servers with AnsibleThis book is designed to introduce you to using Ansible to manage your servers. You'll learn how to install and configure Ansible on a control node, and then how to use it to configure and run commands on remote servers. You'll also learn how to collect tasks into complete Playbooks to automate server setup from start to finish.
The topics that it covers include how to:
- Become familiar with configuration management tools and processes, and the benefits of using them to manage your infrastructure.
- Install and configure Ansible on an Ubuntu 20.04 control node, ensuring that your servers are properly set up and that you are able to execute remote instructions through Ansible.
- Build inventory files and organize your servers into groups to selectively control how and where Ansible commands are run.
- Run Ad Hoc commands to execute individual tasks on one, or multiple remote servers.
- Package individual commands into Playbooks that you can use to automate the provisioning of m ...
Chaos EngineeringAuto engineers test the safety of a car by intentionally crashing it and carefully observing the results. Chaos engineering applies the same principles to software systems. In Chaos Engineering: Site reliability through controlled disruption, you'll learn to run your applications and infrastructure through a series of tests that simulate real-life failures. You'll maximize the benefits of chaos engineering by learning to think like a chaos engineer, and how to design the proper experiments to ensure the reliability of your software. With examples that cover a whole spectrum of software, you'll be ready to run an intensive testing regime on anything from a simple WordPress site to a massive distributed system running on Kubernetes.
Can your network survive a devastating failure? Could an accident bring your day-to-day operations to a halt? Chaos engineering simulates infrastructure outages, component crashes, and other calamities to show how systems and staff respond. Testing systems ...
Knative in ActionTake the pain out of managing serverless applications. Knative, a collection of Kubernetes extensions curated by Google, simplifies building and running serverless systems. Knative in Action guides you through the Knative toolkit, showing you how to launch, modify, and monitor event-based apps built using cloud-hosted functions like AWS Lambda. You'll learn how to use Knative Serving to develop software that is easily deployed and autoscaled, how to use Knative Eventing to wire together disparate systems into a consistent whole, and how to integrate Knative into your shipping pipeline.
With Knative, managing a serverless application's full lifecycle is a snap. Knative builds on Kubernetes orchestration features, making it easy to deploy and run serverless apps. It handles low-level chores - such as starting and stopping instances - so you can concentrate on features and behavior.
Knative in Action teaches you to build complex and efficient serverless applications. You'll dive int ...
GraphQL in ActionReduce bandwidth demands on your APIs by getting only the results you need - all in a single request! The GraphQL query language simplifies interactions with web servers, enabling smarter API queries that can hugely improve the efficiency of data requests. In GraphQL in Action, you'll learn how to bring those benefits to your own APIs, giving your clients the power to ask for exactly what they need from your server, no more, no less. Practical and example-driven, this book teaches everything you need to get started with GraphQL - from design principles and syntax right through to performance optimization.
GraphQL APIs are fast, efficient, and easy to maintain. They reduce app latency and server cost while boosting developer productivity. This powerful query layer offers precise control over API requests and returns, making apps faster and less prone to error.
GraphQL in Action gives you the tools to get comfortable with the GraphQL language, build and optimize a data API service, ...
GitOps and KubernetesGitOps and Kubernetes introduces a radical idea - managing your infrastructure with the same Git pull requests you use to manage your codebase. In this in-depth tutorial, you'll learn to operate infrastructures based on powerful-but-complex technologies such as Kubernetes with the same Git version control tools most developers use daily. With these GitOps techniques and best practices, you'll accelerate application development without compromising on security, easily roll back infrastructure changes, and seamlessly introduce new team members to your automation process.
With GitOps you use the Git version control system to organize and manage your infrastructure just like any other codebase. It's an excellent model for applications deployed as containers and pods on Kubernetes.
GitOps and Kubernetes teaches you how to use Git and the GitOps methodology to manage a Kubernetes cluster. The book interleaves theory with practice, presenting core Ops concepts alongside easy-to-implemen ...
Designing Cloud Data PlatformsCentralized data warehouses, the long-time defacto standard for housing data for analytics, are rapidly giving way to multi-faceted cloud data platforms. Companies that embrace modern cloud data platforms benefit from an integrated view of their business using all of their data and can take advantage of advanced analytic practices to drive predictions and as yet unimagined data services. Designing Cloud Data Platforms is a hands-on guide to envisioning and designing a modern scalable data platform that takes full advantage of the flexibility of the cloud. As you read, you'll learn the core components of a cloud data platform design, along with the role of key technologies like Spark and Kafka Streams. You'll also explore setting up processes to manage cloud-based data, keep it secure, and using advanced analytic and BI tools to analyze it.
Well-designed pipelines, storage systems, and APIs eliminate the complicated scaling and maintenance required with on-prem data centers. Once you ...
ASP.NET Core in Action, 2nd EditionFully updated to ASP.NET 5.0, ASP.NET Core in Action, 2nd Edition is a hands-on primer to building cross-platform web applications with your C# and .NET skills. Even if you've never worked with ASP.NET you'll start creating productive cross-platform web apps fast.
Build full-stack web applications that run anywhere. Developers love ASP.NET Core for its libraries and pre-built components that maximize productivity. Version 5.0 offers new features for server-side apps, as well as background services for cross-platform development.
ASP.NET Core in Action, Second Edition is a comprehensive guide to creating web applications with ASP.NET Core 5.0. Go from basic HTTP concepts to advanced framework customization. Illustrations and annotated code make learning visual and easy. Master logins, dependency injection, security, and more. This updated edition covers the latest features, including Razor Pages and the new hosting paradigm. ...
The Joy of JavaScriptWhether building interactive browser-based applications or creating server-side applications in Node, JavaScript is the most widely used language for web programming. With new features, language improvements, paradigms, and potential use cases appearing regularly, there's never been a more exciting time to be a JavaScript developer. In The Joy of JavaScript, author and JavaScript expert Luis Atencio teaches you key design concepts that lead to clean, lean, modular, and easy-to-maintain code.
JavaScript is at the heart of web applications on the browser side and, via the popular Node.js runtime, it often powers the server side too. Simply put, the web runs on JavaScript.
The Joy of JavaScript introduces techniques that turn JavaScript programmers into JavaScript pros. You'll work with cutting edge APIs, language features, and coding styles to tackle tricky problems in an elegant manner. Along the way, you'll practice good object design, drive business logic with functional thinkin ...
Testing JavaScript ApplicationsAutomated testing will help you write high-quality software in less time, with more confidence, fewer bugs, and without constant manual oversight. Testing JavaScript Applications is a guide to building a comprehensive and reliable JS application testing suite, covering both how to write tests and how JS testing tools work under the hood. You'll learn from Lucas de Costa, a core contributor to popular JS testing libraries, as he shares a quality mindset for making testing decisions that deliver a real contribution to your business. You'll benefit from informative explanations and diagrams, easily-transferable code samples, and useful tips on using the latest and most consolidated libraries and frameworks of the JavaScript ecosystem.
Automated testing is essential to delivering good JavaScript applications every time. A complete testing strategy needs to cover functions in isolation, integration between different parts of your code, and correctness from the end user's perspective. Thi ...