Cloud applications have a unique set of characteristics. They run on commodity hardware, provide services to untrusted users, and deal with unpredictable workloads. These factors impose a range of problems that you, as a designer or developer, need to resolve. Your applications must be resilient so that they can recover from failures, secure to protect services from malicious attacks, and elastic in order to respond to an ever changing workload. This guide demonstrates design patterns that can help you to solve the problems you might encounter in many different areas of cloud application development. Each pattern discusses design considerations, and explains how you can implement it using the features of Windows Azure. The patterns are grouped into categories: availability, data management, design and implementation, messaging, performance and scalability, resilience, management and monitoring, and security. You will also see more general guidance related to these areas of concern. It explains key concepts such as data consistency and asynchronous messaging. In addition, there is useful guidance and explanation of the key considerations for designing features such as data partitioning, telemetry, and hosting in multiple datacenters. These patterns and guidance can help you to improve the quality of applications and services you create, and make the development process more efficient. Enjoy!
With the immense cost savings and scalability the cloud provides, the rationale for building cloud native applications is no longer in question. The real issue is how. With this practical guide, developers will learn about the most commonly used design patterns for building cloud native applications using APIs, data, events, and streams in both greenfield and brownfield development. You'll learn how to incrementally design, develop, and deploy large and effective cloud native applications that you can manage and maintain at scale with minimal cost, time, and effort. Authors Kasun Indrasiri and Sriskandarajah Suhothayan highlight use cases that effectively demonstrate the challenges you might encounter at each step. Learn the fundamentals of cloud native applications Explore key cloud native communication, connectivity, and composition patterns Learn decentralized data management techniques Use event-driven architecture to build distributed and scalable cloud native applications Explore the most commonly used patterns for API management and consumption Examine some of the tools and technologies you'll need for building cloud native systems
“This book continues the very high standard we have come to expect from ServiceTech Press. The book provides well-explained vendor-agnostic patterns to the challenges of providing or using cloud solutions from PaaS to SaaS. The book is not only a great patterns reference, but also worth reading from cover to cover as the patterns are thought-provoking, drawing out points that you should consider and ask of a potential vendor if you’re adopting a cloud solution.” -- Phil Wilkins, Enterprise Integration Architect, Specsavers “Thomas Erl’s text provides a unique and comprehensive perspective on cloud design patterns that is clearly and concisely explained for the technical professional and layman alike. It is an informative, knowledgeable, and powerful insight that may guide cloud experts in achieving extraordinary results based on extraordinary expertise identified in this text. I will use this text as a resource in future cloud designs and architectural considerations.” -- Dr. Nancy M. Landreville, CEO/CISO, NML Computer Consulting The Definitive Guide to Cloud Architecture and Design Best-selling service technology author Thomas Erl has brought together the de facto catalog of design patterns for modern cloud-based architecture and solution design. More than two years in development, this book’s 100+ patterns illustrate proven solutions to common cloud challenges and requirements. Its patterns are supported by rich, visual documentation, including 300+ diagrams. The authors address topics covering scalability, elasticity, reliability, resiliency, recovery, data management, storage, virtualization, monitoring, provisioning, administration, and much more. Readers will further find detailed coverage of cloud security, from networking and storage safeguards to identity systems, trust assurance, and auditing. This book’s unprecedented technical depth makes it a must-have resource for every cloud technology architect, solution designer, developer, administrator, and manager. Topic Areas Enabling ubiquitous, on-demand, scalable network access to shared pools of configurable IT resources Optimizing multitenant environments to efficiently serve multiple unpredictable consumers Using elasticity best practices to scale IT resources transparently and automatically Ensuring runtime reliability, operational resiliency, and automated recovery from any failure Establishing resilient cloud architectures that act as pillars for enterprise cloud solutions Rapidly provisioning cloud storage devices, resources, and data with minimal management effort Enabling customers to configure and operate custom virtual networks in SaaS, PaaS, or IaaS environments Efficiently provisioning resources, monitoring runtimes, and handling day-to-day administration Implementing best-practice security controls for cloud service architectures and cloud storage Securing on-premise Internet access, external cloud connections, and scaled VMs Protecting cloud services against denial-of-service attacks and traffic hijacking Establishing cloud authentication gateways, federated cloud authentication, and cloud key management Providing trust attestation services to customers Monitoring and independently auditing cloud security Solving complex cloud design problems with compound super-patterns
Do you need to learn about cloud computing architecture with Microsoft's Azure quickly? Read this book! It gives you just enough info on the big picture and is filled with key terminology so that you can join the discussion on cloud architecture.
The design patterns in this book capture best practices and solutions to recurring problems in machine learning. The authors, three Google engineers, catalog proven methods to help data scientists tackle common problems throughout the ML process. These design patterns codify the experience of hundreds of experts into straightforward, approachable advice. In this book, you will find detailed explanations of 30 patterns for data and problem representation, operationalization, repeatability, reproducibility, flexibility, explainability, and fairness. Each pattern includes a description of the problem, a variety of potential solutions, and recommendations for choosing the best technique for your situation. You'll learn how to: Identify and mitigate common challenges when training, evaluating, and deploying ML models Represent data for different ML model types, including embeddings, feature crosses, and more Choose the right model type for specific problems Build a robust training loop that uses checkpoints, distribution strategy, and hyperparameter tuning Deploy scalable ML systems that you can retrain and update to reflect new data Interpret model predictions for stakeholders and ensure models are treating users fairly
The current work provides CIOs, software architects, project managers, developers, and cloud strategy initiatives with a set of architectural patterns that offer nuggets of advice on how to achieve common cloud computing-related goals. The cloud computing patterns capture knowledge and experience in an abstract format that is independent of concrete vendor products. Readers are provided with a toolbox to structure cloud computing strategies and design cloud application architectures. By using this book cloud-native applications can be implemented and best suited cloud vendors and tooling for individual usage scenarios can be selected. The cloud computing patterns offer a unique blend of academic knowledge and practical experience due to the mix of authors. Academic knowledge is brought in by Christoph Fehling and Professor Dr. Frank Leymann who work on cloud research at the University of Stuttgart. Practical experience in building cloud applications, selecting cloud vendors, and designing enterprise architecture as a cloud customer is brought in by Dr. Ralph Retter who works as an IT architect at T‐Systems, Walter Schupeck, who works as a Technology Manager in the field of Enterprise Architecture at Daimler AG,and Peter Arbitter, the former head of T Systems’ cloud architecture and IT portfolio team and now working for Microsoft. Voices on Cloud Computing Patterns Cloud computing is especially beneficial for large companies such as Daimler AG. Prerequisite is a thorough analysis of its impact on the existing applications and the IT architectures. During our collaborative research with the University of Stuttgart, we identified a vendor-neutral and structured approach to describe properties of cloud offerings and requirements on cloud environments. The resulting Cloud Computing Patterns have profoundly impacted our corporate IT strategy regarding the adoption of cloud computing. They help our architects, project managers and developers in the refinement of architectural guidelines and communicate requirements to our integration partners and software suppliers. Dr. Michael Gorriz – CIO Daimler AG Ever since 2005 T-Systems has provided a flexible and reliable cloud platform with its “Dynamic Services”. Today these cloud services cover a huge variety of corporate applications, especially enterprise resource planning, business intelligence, video, voice communication, collaboration, messaging and mobility services. The book was written by senior cloud pioneers sharing their technology foresight combining essential information and practical experiences. This valuable compilation helps both practitioners and clients to really understand which new types of services are readily available, how they really work and importantly how to benefit from the cloud. Dr. Marcus Hacke – Senior Vice President, T-Systems International GmbH This book provides a conceptual framework and very timely guidance for people and organizations building applications for the cloud. Patterns are a proven approach to building robust and sustainable applications and systems. The authors adapt and extend it to cloud computing, drawing on their own experience and deep contributions to the field. Each pattern includes an extensive discussion of the state of the art, with implementation considerations and practical examples that the reader can apply to their own projects. By capturing our collective knowledge about building good cloud applications and by providing a format to integrate new insights, this book provides an important tool not just for individual practitioners and teams, but for the cloud computing community at large. Kristof Kloeckner – General Manager,Rational Software, IBMSoftware Group
A hands-on guide to mastering Azure cloud design patterns and best practices. Key Features Master architectural design patterns in Azure. Get hands-on with implementing design patterns. Implement best practices for improving efficiency and security Book Description A well designed cloud infrastructure covers factors such as consistency, maintenance, simplified administration and development, and reusability. Hence it is important to choose the right architectural pattern as it has a huge impact on the quality of cloud-hosted services. This book covers all Azure design patterns and functionalities to help you build your cloud infrastructure so it fits your system requirements. This book initially covers design patterns that are focused on factors such as availability and data management/monitoring. Then the focus shifts to complex design patterns such as multitasking, improving scalability, valet keys, and so on, with practical use cases. The book also supplies best practices to improve the security and performance of your cloud. By the end of this book, you will thoroughly be familiar with the different design and architectural patterns available with Windows Azure and capable of choosing the best pattern for your system. What you will learn Learn to organize Azure access Design the core areas of the Azure Execution Model Work with storage and data management Create a health endpoint monitoring pattern Automate early detection of anomalies Identify and secure Azure features Who this book is for This book is targeted at cloud architects and cloud solution providers who are looking for an extensive guide to implementing different patterns for the deployment and maintenance of services in Microsoft Azure. Prior experience with Azure is required as the book is completely focused on design patterns.
Create highly efficient design patterns for scalability, redundancy, and high availability in the AWS Cloud Key FeaturesBuild highly robust systems using the cloud infrastructureMake web applications resilient against scheduled and accidental downtimeExplore and apply Amazon-provided services in unique ways to solve common design problemsBook 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 learnImplement scaling policies on schedules, influxes in traffic, and deep health checksMake complete use of highly available and redundant storageDesign content delivery networks to improve user experienceOptimize databases through caching and shardingApply patterns to solve common problemsImplement repeatable processes for deploying systemsWho 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.
"The guide is intended to serve as a practical and convenient overview of, and reference to, the general principles of architecture and design on the Microsoft platform and the .NET Framework".
This book is aimed at architects, solution providers, and those of the DevOps community who are looking to implement repeatable patterns for deploying and maintaining services in the Amazon cloud infrastructure. Prior experience using AWS is required as the book focuses more on the patterns and not on the basics of using AWS.