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 ...
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 ...
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 ...
Data Pipelines with Apache AirflowA successful pipeline moves data efficiently, minimizing pauses and blockages between tasks, keeping every process along the way operational. Apache Airflow provides a single customizable environment for building and managing data pipelines, eliminating the need for a hodgepodge collection of tools, snowflake code, and homegrown processes. Using real-world scenarios and examples, Data Pipelines with Apache Airflow teaches you how to simplify and automate data pipelines, reduce operational overhead, and smoothly integrate all the technologies in your stack.
Data pipelines manage the flow of data from initial collection through consolidation, cleaning, analysis, visualization, and more. Apache Airflow provides a single platform you can use to design, implement, monitor, and maintain your pipelines. Its easy-to-use UI, plug-and-play options, and flexible Python scripting make Airflow perfect for any data management task.
Data Pipelines with Apache Airflow teaches you how to build an ...
Java-Based Real-Time ProgrammingDevelopment of embedded software has for some years mainly been carried out by hardware-aware programming using the C-language, and in some cases even in assembly languages. This works well in simple cases when the application demands and the hardware are known at design time, and the size of the (statically defined) software is small. When applications increase in size and must be rapidly developed (time to market), and perhaps need to be on-line upgradeable, more programming support is needed. In particular, for critical applications (safety critical as in an airplane, mission critical as in space/military/nuclear tasks, economically critical if the survival of the company depends on the reliability of the computer system, etc.) special measures must be taken to limit the possible (faulty) influences of one software function on another part of the system. Therefore, we have to abandon programming in C or C++ for large/complex systems. Instead, we have to base the core development on ...
Mobile Development with .NET, 2nd EditionThe .NET 5 framework is a unified framework with capabilities that enable you to use Microsoft's developer ecosystem on a single platform. Xamarin, used for developing mobile applications, is one of the app model implementations for .NET Core infrastructure. This book will show you how to design, architect, and develop attractive, maintainable, and robust mobile applications for multiple platforms, including iOS, Android, and UWP using Xamarin, .NET Core, and Azure.
With the help of real-world scenarios, you'll explore different phases of application development using Xamarin, from environment setup, design, and architecture to publishing. Throughout the book, you'll learn how to develop mobile apps using Xamarin and .NET Standard. You'll even be able to implement a web-based backend composed of microservices with .NET Core using various Azure services including, but not limited to, Azure Active Directory, Azure Functions. As you advance, you'll create data stores using popular data ...
Agile Model-Based Systems Engineering CookbookModel-based systems engineering provides an integrated approach to creating verifiable models of engineering data, rather than relying on traditional and vague natural language descriptions that are difficult to verify. This enables you to work on accurate specifications and rapidly design reliable and effective products for the marketplace. Agile MBSE integrates the value proposition of agile methods in systems development, most notably, for managing constant change and uncertainty while continuously ensuring system correctness and meeting customers' needs.
Written by Dr. Bruce Powel Douglass, a world-renowned expert in MBSE, this book will take you through important systems engineering workflows and show you how they can be performed effectively with an agile and model-based approach. You'll start by covering the key concepts of agile methods for systems engineering. The book then takes you through initiating a project, defining stakeholder needs, defining and analyzing system req ...
Beginning Power AppsTransform the way your business works with easy-to-build apps. With this updated and expanded second edition, you can build business apps that work with your company's systems and databases, without having to enlist the expertise of costly, professionally trained software developers.
In this new edition, business applications expert Tim Leung offers step-by-step guidance on how you can improve all areas of your business. He shows how you can replace manual or paper processes with modern apps that run on phone or tablet devices. For administrative and back-office operations, he covers how to build apps with workflow and dashboard capabilities. To facilitate collaboration with customers and clients, you'll learn how to build secure web portals with data entry capabilities, including how to customize those portals with code.
This hands-on new edition has 10 new chapters - including coverage on model-driven and portal apps, artificial intelligence, building components using the Power ...
PicoLisp WorksPicoLisp Works is a compilation of (almost) all available information about the technological gem PicoLisp - a programming language and environment that definitely deserves wider attention.
Built on the unique characteristics of Lisp (almost no syntax, code is equivalent to data), PicoLisp combines powerful abstractions with simplicity and purity.
In a software world that is driven by hypes and desillusions, a language like PicoLisp almost appears as timeless as mathematics. With its roots in the very beginning of programming language development (Lisp was, together with Fortran, among the very first of its kind), PicoLisp may well represent the future too - as a candidate for being the "hundred-year language", that all programming languages finally converge into. ...