Take a look at our Systems Architecture books. Shulph carries a great selection of Systems Architecture books, and we are always adding more.
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.
Explore practical use cases to learn everything from Linux components, and functionalities, through to hardware and software support Key Features Gain a clear understanding of how to design a Linux environment Learn more about the architecture of the modern Linux operating system(OS) Understand infrastructure needs and design a high-performing computing environment Book Description It is very important to understand the flexibility of an infrastructure when designing an efficient environment. In this book, you will cover everything from Linux components and functionalities through to hardware and software support, which will help you to implement and tune effective Linux-based solutions. This book gets started with an overview of Linux design methodology. Next, you will focus on the core concepts of designing a solution. As you progress, you will gain insights into the kinds of decisions you need to make when deploying a high-performance solution using Gluster File System (GlusterFS). In the next set of chapters, the book will guide you through the technique of using Kubernetes as an orchestrator for deploying and managing containerized applications. In addition to this, you will learn how to apply and configure Kubernetes for your NGINX application. You'll then learn how to implement an ELK stack, which is composed of Elasticsearch, Logstash, and Kibana. In the concluding chapters, you will focus on installing and configuring a Saltstack solution to manage different Linux distributions, and explore a variety of design best practices. By the end of this book, you will be well-versed with designing a high-performing computing environment for complex applications to run on. By the end of the book, you will have delved inside the most detailed technical conditions of designing a solution, and you will have also dissected every aspect in detail in order to implement and tune open source Linux-based solutions What you will learn Study the basics of infrastructure design and the steps involved Expand your current design portfolio with Linux-based solutions Discover open source software-based solutions to optimize your architecture Understand the role of high availability and fault tolerance in a resilient design Identify the role of containers and how they improve your continuous integration and continuous deployment pipelines Gain insights into optimizing and making resilient and highly available designs by applying industry best practices Who this book is for This intermediate-level book is for Linux system administrators, Linux support engineers, DevOps engineers, Linux consultants or any open source technology professional looking to learn or expand their knowledge in architecting, designing and implementing solutions based on Linux and open source software. Prior experience in Linux is required.
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.
Discover how project Reactor enhances the reactive programming paradigm and allows you to build scalable asynchronous applications Key Features Use reactive APIs, Flux, and Mono to implement reactive extensions Create concurrent applications without the complexity of Java's concurrent API Understand techniques to implement event-driven and reactive applications Book Description Reactor is an implementation of the Java 9 Reactive Streams specification, an API for asynchronous data processing. This specification is based on a reactive programming paradigm, enabling developers to build enterprise-grade, robust applications with reduced complexity and in less time. Hands-On Reactive Programming with Reactor shows you how Reactor works, as well as how to use it to develop reactive applications in Java. The book begins with the fundamentals of Reactor and the role it plays in building effective applications. You will learn how to build fully non-blocking applications and will later be guided by the Publisher and Subscriber APIs. You will gain an understanding how to use two reactive composable APIs, Flux and Mono, which are used extensively to implement Reactive Extensions. All of these components are combined using various operations to build a complete solution. In addition to this, you will get to grips with the Flow API and understand backpressure in order to control overruns. You will also study the use of Spring WebFlux, an extension of the Reactor framework for building microservices. By the end of the book, you will have gained enough confidence to build reactive and scalable microservices. What you will learn Explore benefits of the Reactive paradigm and the Reactive Streams API Discover the impact of Flux and Mono implications in Reactor Expand and repeat data in stream processing Get to grips with various types of processors and choose the best one Understand how to map errors to make corrections easier Create robust tests using testing utilities offered by Reactor Find the best way to schedule the execution of code Who this book is for If you're looking to develop event- and data-driven applications easily with Reactor, this book is for you. Sound knowledge of Java fundamentals is necessary to understand the concepts covered in the book.
Learn to build, secure, deploy, and manage your serverless application in Golang with AWS Lambda Key Features Implement AWS lambda to build scalable and cost-efficient applications in Go Design and set the data flow between cloud services and custom business logic Learn to design Lambda functions using real-world examples and implementation scenarios Book Description Serverless architecture is popular in the tech community due to AWS Lambda. Go is simple to learn, straightforward to work with, and easy to read for other developers; and now it's been heralded as a supported language for AWS Lambda. This book is your optimal guide to designing a Go serverless application and deploying it to Lambda. This book starts with a quick introduction to the world of serverless architecture and its benefits, and then delves into AWS Lambda using practical examples. You'll then learn how to design and build a production-ready application in Go using AWS serverless services with zero upfront infrastructure investment. The book will help you learn how to scale up serverless applications and handle distributed serverless systems in production. You will also learn how to log and test your application. Along the way, you'll also discover how to set up a CI/CD pipeline to automate the deployment process of your Lambda functions. Moreover, you'll learn how to troubleshoot and monitor your apps in near real-time with services such as AWS CloudWatch and X-ray. This book will also teach you how to secure the access with AWS Cognito. By the end of this book, you will have mastered designing, building, and deploying a Go serverless application. What you will learn Understand how AWS Lambda works and use it to create an application Understand how to scaleup serverless applications Design a cost-effective serverless application in AWS Build a highly scalable and fault-tolerant CI/CD pipeline Understand how to troubleshoot and monitor serverless apps in AWS Discover the working of APIs and single page applications Build a production-ready serverless application in Go Who this book is for This book is for Go developers who would like to learn about serverless architecture. Go programming knowledge is assumed. DevOps and Solution Architects who are interested in building serverless applications in Go can also choose this book.
Build robust and scalable Java applications by learning how to implement every aspect of software architectureKey FeaturesUnderstand the fundamentals of software architecture and build production-grade applications in JavaMake smart architectural decisions with comprehensive coverage of various architectural approaches from SOA to microservicesGain an in-depth understanding of deployment considerations with cloud and CI/CD pipelinesBook DescriptionWell-written software architecture is the core of an efficient and scalable enterprise application. Java, the most widespread technology in current enterprises, provides complete toolkits to support the implementation of a well-designed architecture.This book starts with the fundamentals of architecture and takes you through the basic components of application architecture. You'll cover the different types of software architectural patterns and application integration patterns and learn about their most widespread implementation in Java. You'll then explore cloud-native architectures and best practices for enhancing existing applications to better suit a cloud-enabled world. Later, the book highlights some cross-cutting concerns and the importance of monitoring and tracing for planning the evolution of the software, foreseeing predictable maintenance, and troubleshooting. The book concludes with an analysis of the current status of software architectures in Java programming and offers insights into transforming your architecture to reduce technical debt.By the end of this software architecture book, you'll have acquired some of the most valuable and in-demand software architect skills to progress in your career.What you will learnUnderstand the importance of requirements engineering, including functional versus non-functional requirementsExplore design techniques such as domain-driven design, test-driven development (TDD), and behavior-driven developmentDiscover the mantras of selecting the right architectural patterns for modern applicationsExplore different integration patternsEnhance existing applications with essential cloud-native patterns and recommended practicesAddress cross-cutting considerations in enterprise applications regardless of architectural choices and application typeWho this book is forThis book is for Java software engineers who want to become software architects and learn everything a modern software architect needs to know. The book is also for software architects, technical leaders, vice presidents of software engineering, and CTOs looking to extend their knowledge and stay up to date with the latest developments in the field of software architecture.
Equip yourself with the most complete and comprehensive preparation experience for Identity with Windows Server 2016: Microsoft 70-742 exam. Key Features Helps you demonstrate real-world mastery of Windows Server 2016 identity features and functionality and prepare for 70-742 Acquire skills to reduce IT costs and deliver more business value Enhance your existing skills through practice questions and mock tests Book Description MCSA: Windows Server 2016 certification is one of the most sought-after certifications for IT professionals, which includes working with Windows Server and performing administrative tasks around it. This book is aimed at the 70-742 certification and is part of Packt's three-book series on MCSA Windows Server 2016 certification, which covers Exam 70-740, Exam 70-741, and Exam 70-742. This exam guide covers the exam objectives for the 70-742 Identity with Windows Server 2016 exam. It starts with installing and configuring Active Directory Domain Services (AD DS), managing and maintaining AD DS objects and advanced configurations, configuring Group Policy, Active Directory Certificate Services, and Active Directory Federation Services and Rights Management. At the end of each chapter, convenient test questions will help you in preparing for the certification in a practical manner. By the end of this book, you will be able to develop the knowledge and skills needed to complete MCSA Exam 70-742: Identity with Windows Server 2016 with confidence. What you will learn Install, configure, and maintain Active Directory Domain Services (AD DS) Manage Active Directory Domain Services objects Configure and manage Active Directory Certificate Services Configure and manage Group Policy Design, implement, and configure Active Directory Federation Services Implement and configure Active Directory Rights Management Services Who this book is for This book primarily targets system administrators who are looking to gain knowledge about identity and access technologies with Windows Server 2016 and aiming to pass the 70-742 certification. This will also help infrastructure administrators who are looking to gain advanced knowledge and understanding of identity and access technologies with Windows Server 2016. Familiarity with the concepts such as Active Directory, DNS is assumed.
Create highly efficient design patterns for scalability, redundancy, and high availability in the AWS Cloud Key Features Build highly robust systems using the cloud infrastructure Make web applications resilient against scheduled and accidental downtime Explore and apply Amazon-provided services in unique ways to solve common design problems Book Description Whether you're just getting your feet wet in cloud infrastructure or already creating complex systems, this book will guide you through using the patterns to fit your system needs. Starting with patterns that cover basic processes such as source control and infrastructure-as-code, the book goes on to introduce cloud security practices. You'll then cover patterns of availability and scalability and get acquainted with the ephemeral nature of cloud environments. You'll also explore advanced DevOps patterns in operations and maintenance, before focusing on virtualization patterns such as containerization and serverless computing. In the final leg of your journey, this book will delve into data persistence and visualization patterns. You'll get to grips with architectures for processing static and dynamic data, as well as practices for managing streaming data. By the end of this book, you will be able to design applications that are tolerant of underlying hardware failures, resilient against an unexpected influx of data, and easy to manage and replicate. What you will learn Implement scaling policies on schedules, influxes in traffic, and deep health checks Make complete use of highly available and redundant storage Design content delivery networks to improve user experience Optimize databases through caching and sharding Apply patterns to solve common problems Implement repeatable processes for deploying systems Who this book is for If you're an architect, solution provider, or DevOps community member looking to implement repeatable patterns for deploying and maintaining services in the Amazon cloud infrastructure, this book is for you. You'll need prior experience of using AWS understand key concepts covered in the book, as it focuses on the patterns rather than the basics of using AWS.
Accelerate hybrid cloud innovation using Azure Arc with the help of real-world scenarios and examplesKey FeaturesGet to grips with setting up and working with Azure ArcHarness the power of Azure Arc and its integration with cutting-edge technologies such as Kubernetes and PaaS data servicesManage, govern, and monitor your on-premises servers and applications with AzureBook DescriptionWith all the options available for deploying infrastructure on multi-cloud platforms and on-premises comes the complexity of managing it, which is adeptly handled by Azure Arc. This book will show you how you can manage environments across platforms without having to migrate workloads from on-premises or multi-cloud to Azure every time. Implementing Hybrid Cloud with Azure Arc starts with an introduction to Azure Arc and hybrid cloud computing, covering use cases and various supported topologies. You'll learn to set up Windows and Linux servers as Arc-enabled machines and get to grips with deploying applications on Kubernetes clusters with Azure Arc and GitOps. The book then demonstrates how to onboard an on-premises SQL Server infrastructure as an Arc-enabled SQL Server and deploy and manage a hyperscale PostgreSQL infrastructure on-premises through Azure Arc. Along with deployment, the book also covers security, backup, migration, and data distribution aspects. Finally, it shows you how to deploy and manage Azure's data services on your own private cloud and explore multi-cloud solutions with Azure Arc. By the end of this book, you'll have a firm understanding of Azure Arc and how it interacts with various cutting-edge technologies such as Kubernetes and PaaS data services.What you will learnSet up a fully functioning Azure Arc-managed environmentExplore products and services from Azure that will help you to leverage Azure ArcUnderstand the new vision of working with on-premises infrastructureDeploy Azure's PaaS data services on-premises or on other cloud platformsDiscover and learn about the technologies required to design a hybrid and multi-cloud strategyImplement best practices to govern your IT infrastructure in a scalable modelWho this book is forThis book is for Cloud IT professionals (Azure and/or AWS), system administrators, database administrators (DBAs), and architects looking to gain clarity about how Azure Arc works and how it can help them achieve business value. Anyone with basic Azure knowledge will benefit from this book.
Get the deep insights you need to master efficient architectural design considerations and solve common design problems in your enterprise applications.Key FeaturesThe benefits and applicability of using different design patterns in JAVA EE Learn best practices to solve common design and architectural challengesChoose the right patterns to improve the efficiency of your programs Book DescriptionPatterns are essential design tools for Java developers. Java EE Design Patterns and Best Practices helps developers attain better code quality and progress to higher levels of architectural creativity by examining the purpose of each available pattern and demonstrating its implementation with various code examples. This book will take you through a number of patterns and their Java EE-specific implementations.In the beginning, you will learn the foundation for, and importance of, design patterns in Java EE, and then will move on to implement various patterns on the presentation tier, business tier, and integration tier. Further, you will explore the patterns involved in Aspect-Oriented Programming (AOP) and take a closer look at reactive patterns. Moving on, you will be introduced to modern architectural patterns involved in composing microservices and cloud-native applications. You will get acquainted with security patterns and operational patterns involved in scaling and monitoring, along with some patterns involved in deployment.By the end of the book, you will be able to efficiently address common problems faced when developing applications and will be comfortable working on scalable and maintainable projects of any size.What you will learnImplement presentation layers, such as the front controller patternUnderstand the business tier and implement the business delegate patternMaster the implementation of AOPGet involved with asynchronous EJB methods and REST servicesInvolve key patterns in the adoption of microservices architectureManage performance and scalability for enterprise-level applicationsWho this book is forJava developers who are comfortable with programming in Java and now want to learn how to implement design patterns to create robust, reusable and easily maintainable apps.