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.
Develop technical skills and expertise to automate AWS networking tasks Key Features A fast paced guide that will help you pass the exam with confidence Learn advanced skill sets to build effective AWS networking solutions Enhance your AWS skills with practice exercises and mock tests Book Description Amazon has recently come up a with specialty certifications which validates a particular user's expertise that he/she would want to build a career in. Since the Cloud market now demands of AWS networking skills this becomes the most wanted certification to upheld ones industry portfolio. This book would be your ideal companion to getting skilled with complex and creative networking solutions. Cloud practitioners or associate-level certified individuals interested in validating advanced skills in networking can opt for this practical guide. This book will include topics that will help you design and implement AWS and hybrid IT network architectures along with some network automation tasks. You will also delve deep into topics that will help you design and maintain network architecture for all AWS services. Like most of our certification guides this book will also follow a unique approach of testing your learning with chapter-level practice exercises and certification-based mock tests. The exam mock tests will help you gauge whether you are ready to take the certification exam or not. This book will also be an advanced guide for networking professionals to enhance their networking skills and get certified. By the end of this book, you will be all equipped with AWS networking concepts and techniques and will have mastered core architectural best practices. What you will learn Formulate solution plans and provide guidance on AWS architecture best practices Design and deploy scalable, highly available, and fault-tolerant systems on AWS Identify the tools required to replicate an on-premises network in AWS Analyze the access and egress of data to and from AWS Select the appropriate AWS service based on data, compute, database, or security requirements Estimate AWS costs and identify cost control mechanisms Who this book is for If you are a system administrator, or a network engineer interested in getting certified with an advanced Cloud networking certification then this book is for you. Prior experience in Cloud administration and networking would be necessary.
Become an AWS SysOps administrator and explore best practices to maintain a well-architected, resilient, and secure AWS environment Key Features Explore AWS Cloud functionalities through a recipe-based approach Get to grips with a variety of techniques for automating your infrastructure Discover industry-proven best practices for architecting reliable and efficient workloads Book Description AWS is an on-demand remote computing service providing cloud infrastructure over the internet with storage, bandwidth, and customized support for APIs. This updated second edition will help you implement these services and efficiently administer your AWS environment. You will start with the AWS fundamentals and then understand how to manage multiple accounts before setting up consolidated billing. The book will assist you in setting up reliable and fast hosting for static websites, sharing data between running instances and backing up data for compliance. By understanding how to use compute service, you will also discover how to achieve quick and consistent instance provisioning. You'll then learn to provision storage volumes and autoscale an app server. Next, you'll explore serverless development with AWS Lambda, and gain insights into using networking and database services such as Amazon Neptune. The later chapters will focus on management tools like AWS CloudFormation, and how to secure your cloud resources and estimate costs for your infrastructure. Finally, you'll use the AWS well-architected framework to conduct a technology baseline review self-assessment and identify critical areas for improvement in the management and operation of your cloud-based workloads. By the end of this book, you'll have the skills to effectively administer your AWS environment. What you will learn Secure your account by creating IAM users and avoiding the use of the root login Simplify the creation of a multi-account landing zone using AWS Control Tower Master Amazon S3 for unlimited, cost-efficient storage of data Explore a variety of compute resources on the AWS Cloud, such as EC2 and AWS Lambda Configure secure networks using Amazon VPC, access control lists, and security groups Estimate your monthly bill by using cost estimation tools Learn to host a website with Amazon Route 53, Amazon CloudFront, and S3 Who this book is for If you are an administrator, DevOps engineer, or an IT professional interested in exploring administrative tasks on the AWS Cloud, then this book is for you. Familiarity with cloud computing platforms and some understanding of virtualization, networking, and other administration-related tasks is assumed.
Compose and decompose ARM templates and use advanced concepts like looping, conditions, dependencies, PowerShell and Desired State Configuration. Key Features Design, implement, and unit test ARM templates Develop and deploy ARM templates following security best practices Book Description Azure Resource Manager (ARM) templates are declarations of Azure resources in the JSON format to provision and maintain them using infrastructure as code. This book gives practical solutions and examples for provisioning and managing various Azure services using ARM templates. The book starts with an understanding of infrastructure as code, a refresher on JSON, and then moves on to explain the fundamental concepts of ARM templates. Important concepts like iteration, conditional evaluation, security, usage of expressions, and functions will be covered in detail. You will use linked and nested templates to create modular ARM templates. You will see how to create multiple instances of the same resources, how to nest and link templates, and how to establish dependencies between them. You will also learn about implementing design patterns, secure template design, the unit testing of ARM templates, and adopting best practices. By the end of this book, you will understand the entire life cycle of ARM templates and their testing, and be able to author them for complex deployments. What you will learn Understand the foundations of ARM templates including nested and linked templates Design, create, and unit test ARM templates using best practices Learn about conditional deployments, looping, Custom Script Extensions using PowerShell, Bash, and DSC Implement design patterns related to ARM templates Run post-deployment PowerShell and Desired State Configuration scripts Create solutions and deploy them on Azure using ARM templates Who this book is for This books is for developers, DevOps engineers, and architects who have experience in Azure.
A definitive guide to mastering and implementing concurrency patterns in your applications Key Features Build scalable apps with patterns in multithreading, synchronization, and functional programming Explore the parallel programming and multithreading techniques to make the code run faster Efficiently use the techniques outlined to build reliable applications Book Description Selecting the correct concurrency architecture has a significant impact on the design and performance of your applications. This book explains how to leverage the different characteristics of parallel architecture to make your code faster and more efficient. To start with, you'll understand the basic concurrency concepts and explore patterns around explicit locking, lock free programming, futures & actors. Then, you'll get insights into different concurrency models and parallel algorithms and put them to practice in different scenarios to realize your application's true potential. We'll take you through multithreading design patterns, such as master, slave, leader, follower, map-reduce, and monitor, also helping you to learn hands-on coding using these patterns. Once you've grasped all of this, you'll move on to solving problems using synchronizer patterns. You'll discover the rationale for these patterns in distributed & parallel applications, followed by studying how future composition, immutability and the monadic flow help create more robust code. Toward the end of the book, you'll learn about the actor paradigm and actor patterns - the message passing concurrency paradigm. What you will learn Explore parallel architecture Get acquainted with concurrency models Internalize design themes by implementing multithreading patterns Get insights into concurrent design patterns Discover design principles behind many java threading abstractions Work with functional concurrency patterns Who this book is for This is a must-have guide for developers who want to learn patterns to build scalable and high-performing apps. It's assumed that you already have a decent level of programming knowledge.
Improve your Delphi programming skills by building robust applications for Android, iOS, and Windows platform Key Features Build responsive user interfaces (UIs) for desktop and mobile with FireMonkey Implement a microservices architecture using the Rapid Application Development(RAD) server Create clones of popular applications like Instagram and Facebook using Delphi 10.3 Book Description Delphi is a cross-platform programming language and software development kit that supports rapid application development for Microsoft Windows, Apple Mac OS X, Android, and iOS. With the help of seven practical projects, this book will guide you through the best practices, Delphi Run-Time Library (RTL) resources, and design patterns. Whether you use the Visual Component Library (VCL) or FireMonkey (FMX) framework, these design patterns will be implemented in the same way in Delphi, using Object Pascal. In the first few chapters, you will explore advanced features that will help you build rich applications using the same code base for both mobile and desktop projects. In addition to this, you'll learn how to implement microservice architecture in Delphi. As you get familiar with the various aspects of Delphi, you will no longer need to maintain source code for similar projects, program business rules on screens, or fill your forms with data access components. By the end of this book, you will have gained an understanding of the principles of clean code and become proficient in building robust and scalable applications in Delphi. What you will learn Get to grips with the advanced features of RTL Understand how to deal with the paradigm change between multiplatform projects Build rich interfaces with Google's Material Design features Understand how to implement design patterns in Delphi Turn a mobile device into a remote controller with app tethering technology Build a multi-database system using VCL Who this book is for This book is for developers, programmers, and IT professionals who want to learn the best market practices by implementing practical projects. Prior knowledge of the Delphi language is a must.
Learn how to run new and old applications in Docker containers on Windows - modernizing the architecture, improving security and maximizing efficiency. Key Features Run .NET Framework and .NET Core apps in Docker containers for efficiency, security and portability Design distributed containerized apps, using enterprise-grade open source software from Docker Hub Build a CI/CD pipeline with Docker, going from source to a production Docker Swarm in the cloud Book Description Docker on Windows, Second Edition teaches you all you need to know about Docker on Windows, from the 101 to running highly-available workloads in production. You'll be guided through a Docker journey, starting with the key concepts and simple examples of .NET Framework and .NET Core apps in Docker containers on Windows. Then you'll learn how to use Docker to modernize the architecture and development of traditional ASP.NET and SQL Server apps. The examples show you how to break up legacy monolithic applications into distributed apps and deploy them to a clustered environment in the cloud, using the exact same artifacts you use to run them locally. You'll see how to build a CI/CD pipeline which uses Docker to compile, package, test and deploy your applications. To help you move confidently to production, you'll learn about Docker security, and the management and support options. The book finishes with guidance on getting started with Docker in your own projects. You'll walk through some real-world case studies for Docker implementations, from small-scale on-premises apps to very large-scale apps running on Azure. What you will learn Understand key Docker concepts: images, containers, registries and swarms Run Docker on Windows 10, Windows Server 2019, and in the cloud Deploy and monitor distributed solutions across multiple Docker containers Run containers with high availability and failover with Docker Swarm Master security in-depth with the Docker platform, making your apps more secure Build a Continuous Deployment pipeline, running Jenkins and Git in Docker Debug applications running in Docker containers using Visual Studio Plan the adoption of Docker in your organization Who this book is for If you want to modernize an old monolithic application without rewriting it, smooth the deployment to production, or move to DevOps or the cloud, then Docker is the enabler for you. This book gives you a solid grounding in Docker so you can confidently approach all of these scenarios.
Build robust and reliable Java applications that works on modern infrastructure, such as containers and cloud, using the new features in Quarkus 1.0 Key Features Build apps with faster boot time and low RSS memory using the latest Quarkus 1.0 features Seamlessly integrate imperative and reactive programming models to build modern Java applications Discover effective solutions for running Java on serverless apps, microservices, containers, FaaS, and the cloud Book Description Quarkus is a new Kubernetes-native framework that allows Java developers to combine the power of containers, microservices, and cloud-native to build reliable applications. The book is a development guide that will teach you how to build Java-native applications using Quarkus and GraalVM. We start by learning about the basic concepts of a cloud-native application and its advantages over standard enterprise applications. Then we will quickly move on to application development, by installing the tooling required to build our first application on Quarkus. Next, we'll learn how to create a container-native image of our application and execute it in a Platform-as-a-Service environment such as Minishift. Later, we will build a complete real-world application that will use REST and the Contexts and Dependency injection stack with a web frontend. We will also learn how to add database persistence to our application using PostgreSQL. We will learn how to work with various APIs available to Quarkus such as Camel, Eclipse MicroProfile, and Spring DI. Towards the end, we will learn advanced development techniques such as securing applications, application configuration, and working with non-blocking programming models using Vert.x. By the end of this book, you will be proficient with all the components of Quarkus and develop-blazing fast applications leveraging modern technology infrastructure. What you will learn Build a native application using Quarkus and GraalVM Secure your applications using Elytron and the MicroProfile JWT extension Manage data persistence with Quarkus using PostgreSQL Use a non-blocking programming model with Quarkus Learn how to get Camel and Infinispan working in native mode Deploy an application in a Kubernetes-native environment using Minishift Discover Reactive Programming with Vert.x Who this book is for The book is for Java developers and software architects who are interested in learning a promising microservice architecture for building reliable and robust applications. Knowledge of Java, Spring Framework, and REST APIs is assumed.
Design and develop high-performance, reusable, and maintainable applications using traditional and modern Julia patterns with this comprehensive guide Key Features Explore useful design patterns along with object-oriented programming in Julia 1.0 Implement macros and metaprogramming techniques to make your code faster, concise, and efficient Develop the skills necessary to implement design patterns for creating robust and maintainable applications Book Description Design patterns are fundamental techniques for developing reusable and maintainable code. They provide a set of proven solutions that allow developers to solve problems in software development quickly. This book will demonstrate how to leverage design patterns with real-world applications. Starting with an overview of design patterns and best practices in application design, you'll learn about some of the most fundamental Julia features such as modules, data types, functions/interfaces, and metaprogramming. You'll then get to grips with the modern Julia design patterns for building large-scale applications with a focus on performance, reusability, robustness, and maintainability. The book also covers anti-patterns and how to avoid common mistakes and pitfalls in development. You'll see how traditional object-oriented patterns can be implemented differently and more effectively in Julia. Finally, you'll explore various use cases and examples, such as how expert Julia developers use design patterns in their open source packages. By the end of this Julia programming book, you'll have learned methods to improve software design, extensibility, and reusability, and be able to use design patterns efficiently to overcome common challenges in software development. What you will learn Master the Julia language features that are key to developing large-scale software applications Discover design patterns to improve overall application architecture and design Develop reusable programs that are modular, extendable, performant, and easy to maintain Weigh up the pros and cons of using different design patterns for use cases Explore methods for transitioning from object-oriented programming to using equivalent or more advanced Julia techniques Who this book is for This book is for beginner to intermediate-level Julia programmers who want to enhance their skills in designing and developing large-scale applications.
Build real-world applications with Python 2.7, CUDA 9, and CUDA 10. We suggest the use of Python 2.7 over Python 3.x, since Python 2.7 has stable support across all the libraries we use in this book. Key Features Expand your background in GPU programming—PyCUDA, scikit-cuda, and Nsight Effectively use CUDA libraries such as cuBLAS, cuFFT, and cuSolver Apply GPU programming to modern data science applications Book Description Hands-On GPU Programming with Python and CUDA hits the ground running: you'll start by learning how to apply Amdahl's Law, use a code profiler to identify bottlenecks in your Python code, and set up an appropriate GPU programming environment. You'll then see how to “query” the GPU's features and copy arrays of data to and from the GPU's own memory. As you make your way through the book, you'll launch code directly onto the GPU and write full blown GPU kernels and device functions in CUDA C. You'll get to grips with profiling GPU code effectively and fully test and debug your code using Nsight IDE. Next, you'll explore some of the more well-known NVIDIA libraries, such as cuFFT and cuBLAS. With a solid background in place, you will now apply your new-found knowledge to develop your very own GPU-based deep neural network from scratch. You'll then explore advanced topics, such as warp shuffling, dynamic parallelism, and PTX assembly. In the final chapter, you'll see some topics and applications related to GPU programming that you may wish to pursue, including AI, graphics, and blockchain. By the end of this book, you will be able to apply GPU programming to problems related to data science and high-performance computing. What you will learn Launch GPU code directly from Python Write effective and efficient GPU kernels and device functions Use libraries such as cuFFT, cuBLAS, and cuSolver Debug and profile your code with Nsight and Visual Profiler Apply GPU programming to datascience problems Build a GPU-based deep neuralnetwork from scratch Explore advanced GPU hardware features, such as warp shuffling Who this book is for Hands-On GPU Programming with Python and CUDA is for developers and data scientists who want to learn the basics of effective GPU programming to improve performance using Python code. You should have an understanding of first-year college or university-level engineering mathematics and physics, and have some experience with Python as well as in any C-based programming language such as C, C++, Go, or Java.
A comprehensive guide to help you understand the principles of Reactive and asynchronous programming and its benefits Key Features Explore the advantages of Reactive programming Use concurrency and parallelism in RxPY to build powerful reactive applications Deploy and scale your reactive applications using Docker Book Description Reactive programming is central to many concurrent systems, but it's famous for its steep learning curve, which makes most developers feel like they're hitting a wall. With this book, you will get to grips with reactive programming by steadily exploring various concepts This hands-on guide gets you started with Reactive Programming (RP) in Python. You will learn abouta the principles and benefits of using RP, which can be leveraged to build powerful concurrent applications. As you progress through the chapters, you will be introduced to the paradigm of Functional and Reactive Programming (FaRP), observables and observers, and concurrency and parallelism. The book will then take you through the implementation of an audio transcoding server and introduce you to a library that helps in the writing of FaRP code. You will understand how to use third-party services and dynamically reconfigure an application. By the end of the book, you will also have learned how to deploy and scale your applications with Docker and Traefik and explore the significant potential behind the reactive streams concept, and you'll have got to grips with a comprehensive set of best practices. What you will learn Structure Python code for better readability, testing, and performance Explore the world of event-based programming Grasp the use of the most common operators in Rx Understand reactive extensions beyond simple examples Master the art of writing reusable components Deploy an application on a cloud platform with Docker and Traefik Who this book is for If you are a Python developer who wants to learn Reactive programming to build powerful concurrent and asynchronous applications, this book is for you. Basic understanding of the Python language is all you need to understand the concepts covered in this book.