Take a look at our Distributed Systems & Computing books. Shulph carries a great selection of Distributed Systems & Computing books, and we are always adding more.
Become an expert in implementing Azure Functions to work seamlessly with your serverless applications Key Features Develop scalable, robust multi-tier apps without worrying about infrastructure needs Deploy and manage cost-effective and highly available serverless apps using Azure Functions Accelerate enterprise-level application development by seamlessly integrating different cloud services with Azure Functions Book Description Application development has evolved from traditional monolithic app development to using serverless options and microservices. This book is designed to guide you through using Microsoft's Azure Functions to process data, integrate systems, and build simple APIs and microservices. You will discover how to apply serverless computing to speed up deployment and reduce downtime. You'll also explore Azure Functions, including its core functionalities and essential tools, along with understanding how to debug and even customize Azure Functions. In addition to this, the book will take you through how you can effectively implement DevOps and automation in your working environment. Toward the concluding chapters, you'll cover some quick tips, troubleshooting techniques, and real-world serverless use cases that will help you make the most of serverless computing. By the end of this book, you will have gained the skills you need to develop and deliver cost-effective Azure serverless solutions. What you will learn Create and deploy advanced Azure Functions Learn to extend the runtime of Azure Functions Orchestrate your logic through code or a visual workflow Add caching, security, routing, and filtering to your APIs Use serverless technologies in real-world scenarios Understand how to apply DevOps and automation to your working environment Who this book is for This book is designed for cloud administrators, architects, and developers interested in building scalable systems and deploying serverless applications with Azure Functions. Prior knowledge of core Microsoft Azure services and Azure Functions is necessary to understand the topics covered in this book.
Discover the unified, distributed storage system and improve the performance of applications Key Features Explore the latest features of Ceph's Mimic release Get to grips with advanced disaster and recovery practices for your storage Harness the power of Reliable Autonomic Distributed Object Store (RADOS) to help you optimize storage systems Book Description Ceph is an open source distributed storage system that is scalable to Exabyte deployments. This second edition of Mastering Ceph takes you a step closer to becoming an expert on Ceph. You'll get started by understanding the design goals and planning steps that should be undertaken to ensure successful deployments. In the next sections, you'll be guided through setting up and deploying the Ceph cluster with the help of orchestration tools. This will allow you to witness Ceph's scalability, erasure coding (data protective) mechanism, and automated data backup features on multiple servers. You'll then discover more about the key areas of Ceph including BlueStore, erasure coding and cache tiering with the help of examples. Next, you'll also learn some of the ways to export Ceph into non-native environments and understand some of the pitfalls that you may encounter. The book features a section on tuning that will take you through the process of optimizing both Ceph and its supporting infrastructure. You'll also learn to develop applications, which use Librados and distributed computations with shared object classes. Toward the concluding chapters, you'll learn to troubleshoot issues and handle various scenarios where Ceph is not likely to recover on its own. By the end of this book, you'll be able to master storage management with Ceph and generate solutions for managing your infrastructure. What you will learn Plan, design and deploy a Ceph cluster Get well-versed with different features and storage methods Carry out regular maintenance and daily operations with ease Tune Ceph for improved ROI and performance Recover Ceph from a range of issues Upgrade clusters to BlueStore Who this book is for If you are a storage professional, system administrator, or cloud engineer looking for guidance on building powerful storage solutions for your cloud and on-premise infrastructure, this book is for you.
Immerse yourself in the world of Python concurrency and tackle the most complex concurrent programming problems Key Features Explore the core syntaxes, language features and modern patterns of concurrency in Python Understand how to use concurrency to keep data consistent and applications responsive Utilize application scaffolding to design highly-scalable programs Book Description Python is one of the most popular programming languages, with numerous libraries and frameworks that facilitate high-performance computing. Concurrency and parallelism in Python are essential when it comes to multiprocessing and multithreading; they behave differently, but their common aim is to reduce the execution time. This book serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming. Mastering Concurrency in Python starts by introducing the concepts and principles in concurrency, right from Amdahl's Law to multithreading programming, followed by elucidating multiprocessing programming, web scraping, and asynchronous I/O, together with common problems that engineers and programmers face in concurrent programming. Next, the book covers a number of advanced concepts in Python concurrency and how they interact with the Python ecosystem, including the Global Interpreter Lock (GIL). Finally, you'll learn how to solve real-world concurrency problems through examples. By the end of the book, you will have gained extensive theoretical knowledge of concurrency and the ways in which concurrency is supported by the Python language What you will learn Explore the concepts of concurrency in programming Explore the core syntax and features that enable concurrency in Python Understand the correct way to implement concurrency Abstract methods to keep the data consistent in your program Analyze problems commonly faced in concurrent programming Use application scaffolding to design highly-scalable programs Who this book is for This book is for developers who wish to build high-performance applications and learn about signle-core, multicore programming or distributed concurrency. Some experience with Python programming language is assumed.
Understand how to apply distributed tracing to microservices-based architectures Key Features A thorough conceptual introduction to distributed tracing An exploration of the most important open standards in the space A how-to guide for code instrumentation and operating a tracing infrastructure Book Description Mastering Distributed Tracing will equip you to operate and enhance your own tracing infrastructure. Through practical exercises and code examples, you will learn how end-to-end tracing can be used as a powerful application performance management and comprehension tool. The rise of Internet-scale companies, like Google and Amazon, ushered in a new era of distributed systems operating on thousands of nodes across multiple data centers. Microservices increased that complexity, often exponentially. It is harder to debug these systems, track down failures, detect bottlenecks, or even simply understand what is going on. Distributed tracing focuses on solving these problems for complex distributed systems. Today, tracing standards have developed and we have much faster systems, making instrumentation less intrusive and data more valuable. Yuri Shkuro, the creator of Jaeger, a popular open-source distributed tracing system, delivers end-to-end coverage of the field in Mastering Distributed Tracing. Review the history and theoretical foundations of tracing; solve the data gathering problem through code instrumentation, with open standards like OpenTracing, W3C Trace Context, and OpenCensus; and discuss the benefits and applications of a distributed tracing infrastructure for understanding, and profiling, complex systems. What you will learn How to get started with using a distributed tracing system How to get the most value out of end-to-end tracing Learn about open standards in the space Learn about code instrumentation and operating a tracing infrastructure Learn where distributed tracing fits into microservices as a core function Who this book is for Any developer interested in testing large systems will find this book very revealing and in places, surprising. Every microservice architect and developer should have an insight into distributed tracing, and the book will help them on their way. System administrators with some development skills will also benefit. No particular programming language skills are required, although an ability to read Java, while non-essential, will help with the core chapters.
Learn how to best use GitOps to automate manual tasks in the continuous delivery and deployment processKey FeaturesExplore the different GitOps schools of thought and understand which GitOps practices will work for you and your teamGet up and running with the fundamentals of GitOps implementationUnderstand how to effectively automate the deployment and delivery processBook DescriptionThe world of software delivery and deployment has come a long way in the last few decades. From waterfall methods to Agile practices, every company that develops its own software has to overcome various challenges in delivery and deployment to meet customer and market demands. This book will guide you through common industry practices for software delivery and deployment. Throughout the book, you'll follow the journey of a DevOps team that matures their software release process from quarterly deployments to continuous delivery using GitOps. With the help of hands-on tutorials, projects, and self-assessment questions, you'll build your knowledge of GitOps basics, different types of GitOps practices, and how to decide which GitOps practice is the best for your company. As you progress, you'll cover everything from building declarative language files to the pitfalls in performing continuous deployment with GitOps. By the end of this book, you'll be well-versed with the fundamentals of delivery and deployment, the different schools of GitOps, and how to best leverage GitOps in your teams. What you will learnExplore a variety of common industry tools for GitOpsUnderstand continuous deployment, continuous delivery, and why they are importantGain a practical understanding of using GitOps as an engineering organizationBecome well-versed with using GitOps and Kubernetes togetherLeverage Git events for automated deploymentsImplement GitOps best practices and find out how to avoid GitOps pitfallsWho this book is forThis book is for engineering leaders and anyone working in software engineering, DevOps, SRE, build/release, or cloud automation teams. A basic understanding of the DevOps software development life cycle (SDLC) will help you to get the most out of this book.
Deploy, orchestrate, and monitor serverless applications using Kubernetes Key Features Get hands-on experience with frameworks, such as Kubeless, Apache OpenWhisk, and Funktion Master the basics of Kubernetes and prepare yourself for challenging technical assessments Learn how to launch Kubernetes both locally and in a public cloud Book Description Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. By learning Kubernetes, you'll be able to design your own serverless architecture by implementing the function-as-a-service (FaaS) model. After an accelerated, hands-on overview of the serverless architecture and various Kubernetes concepts, you'll cover a wide range of real-world development challenges faced by real-world developers, and explore various techniques to overcome them. You'll learn how to create production-ready Kubernetes clusters and run serverless applications on them. You'll see how Kubernetes platforms and serverless frameworks such as Kubeless, Apache OpenWhisk and OpenFaaS provide the tooling to help you develop serverless applications on Kubernetes. You'll also learn ways to select the appropriate framework for your upcoming project. By the end of this book, you'll have the skills and confidence to design your own serverless applications using the power and flexibility of Kubernetes. What you will learn Deploy a Kubernetes cluster locally with Minikube Get familiar with AWS Lambda and Google Cloud Functions Create, build, and deploy a webpage generated by the serverless functions in the cloud Create a Kubernetes cluster running on the virtual kubelet hardware abstraction Create, test, troubleshoot, and delete an OpenFaaS function Create a sample Slackbot with Apache OpenWhisk actions Who this book is for This book is for software developers and DevOps engineers who have basic or intermediate knowledge about Kubernetes and want to learn how to create serverless applications that run on Kubernetes. Those who want to design and create serverless applications running on the cloud, or on-premise Kubernetes clusters will also find this book useful.
Get to grips with the tools, services, and functions needed for application migration to help you move from legacy applications to cloud-native on Google CloudKey FeaturesDiscover how a sample legacy application can be transformed into a cloud-native application on Google CloudLearn where to start and how to apply application modernization techniques and toolingWork with real-world use cases and instructions to modernize an application on Google CloudBook DescriptionLegacy applications, which comprise 75–80% of all enterprise applications, often end up being stuck in data centers. Modernizing these applications to make them cloud-native enables them to scale in a cloud environment without taking months or years to start seeing the benefits. This book will help software developers and solutions architects to modernize their applications on Google Cloud and transform them into cloud-native applications.This book helps you to build on your existing knowledge of enterprise application development and takes you on a journey through the six Rs: rehosting, replatforming, rearchitecting, repurchasing, retiring, and retaining. You'll learn how to modernize a legacy enterprise application on Google Cloud and build on existing assets and skills effectively. Taking an iterative and incremental approach to modernization, the book introduces the main services in Google Cloud in an easy-to-understand way that can be applied immediately to an application.By the end of this Google Cloud book, you'll have learned how to modernize a legacy enterprise application by exploring various interim architectures and tooling to develop a cloud-native microservices-based application.What you will learnDiscover the principles and best practices for building cloud-native applicationsStudy the six Rs of migration strategy and learn when to choose which strategyRehost a legacy enterprise application on Google Compute EngineReplatform an application to use Google Load Balancer and Google Cloud SQLRefactor into a single-page application (SPA) supported by REST servicesReplatform an application to use Google Identity Platform and Firebase AuthenticationRefactor to microservices using the strangler patternAutomate the deployment process using a CI/CD pipeline with Google Cloud BuildWho this book is forThis book is for software developers and solutions architects looking to gain experience in modernizing their enterprise applications to run on Google Cloud and transform them into cloud-native applications. Basic knowledge of Java and Spring Boot is necessary. Prior knowledge of Google Cloud is useful but not mandatory.