Implementing Cloud Design Patterns for AWS
eBook - ePub

Implementing Cloud Design Patterns for AWS

Solutions and design ideas for solving system design problems, 2nd Edition

  1. 274 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Implementing Cloud Design Patterns for AWS

Solutions and design ideas for solving system design problems, 2nd Edition

Book details
Book preview
Table of contents
Citations

About This Book

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.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Implementing Cloud Design Patterns for AWS by Sean Keery, Clive Harber, Marcus Young in PDF and/or ePUB format, as well as other popular books in Informatica & Elaborazione di dati su cloud. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
ISBN
9781789130911

Section 1: The Basics

In this section, you will become familiar with the building blocks available from AWS. You will also learn how to create a cheap, scalable, and secure solution for your business.
The following chapters are included in this section:
  • Chapter 1, Introduction to Amazon Web Services
  • Chapter 2, Core Services – Building Blocks for Your Product
  • Chapter 3, Availability Patterns – Understanding Your Needs
  • Chapter 4, Security – Ensuring the Integrity of Your Systems

Introduction to Amazon Web Services

Welcome to the first chapter of this book, Implementing Cloud Design Patterns for AWS, Second Edition. After a brief history of the development of the cloud and the part that AWS plays in it, we'll look into the Amazon philosophy. An exploration of some of its most well-known customers will give us a platform to dive into the reasons why it's a good choice for your product development effort. We'll survey the service offerings from AWS and create a trial account, which you can use to develop your products.
This chapter will briefly cover the following topics:
  • Introduction to AWS
  • Utility computing
  • Categories of service offerings
  • Benefits of moving to the cloud

Introduction to AWS

Amazon—aren't they an online bookstore? This is what someone in the late 1990s might have asked. Nowadays, with nearly 40% of the e-commerce market in the US and over 30% in India, everyone knows who they are. But not so well-known outside of technology circles is Amazon Web Services (AWS). Amazon describes this part of the business as follows:
AWS is a secure cloud services platform (https://aws.amazon.com/what-is-cloud-computing/), offering compute power, database storage, content delivery, and other functionality to help businesses scale and grow. Millions of customers (https://aws.amazon.com/solutions/case-studies/) are currently leveraging AWS cloud products (https://aws.amazon.com/products/) and solutions (https://aws.amazon.com/solutions/) to build sophisticated applications with increased flexibility, scalability, and reliability (https://aws.amazon.com/what-is-aws/).
Amazon is currently the leader in the cloud infrastructure business with 33% market share—about the same as Google Cloud, Azure, and IBM combined. They're using their huge lead, and the profits from it, to invest in new services to further differentiate themselves. Since the publishing of the first edition of this book, they've added hundreds of new offerings. Millions of customers are taking advantage of these services. The initial target market of startups and small businesses has spawned web-scale enterprises such as Netflix, Pinterest, and Airbnb. The Fortune 500 and governments around the world are also on board.
On an annual basis, all of Amazon's operating income derived from AWS in 2017 (https://www.zdnet.com/article/all-of-amazons-2017-operating-income-comes-from-aws/).

History

How we got here provides valuable lessons for building your product and scaling it globally. The retail business is peaky. Amazon needed capacity to meet its highest demand period during Thanksgiving and Black Friday. Come January, it had a whole lot of hardware sitting around, underutilized. Having worked for years providing e-commerce services to partners, they were able to take their internal offerings and make them available to the public. Utility computing was born.
This pattern has been repeated many times. Amazon is constantly adding services to tackle new and unique problems that they have encountered within their own business. Those internal services then get previewed and customer feedback is collected. When they meet a certain service level, they're released for use by anyone with a credit card. You need to use this same strategy for your products.

The future

Product-driven development will continue to evolve within the Amazon ecosystem. The benefits that are identified internally will trickle down to all of the AWS cloud users. Newer services will continue to simplify the consumption of complex offerings. Economics of scale will push prices lower while moving resources closer to your customers.

Product

Whether you're developing new features for Amazon or your local football club, or hoping to create the next Netflix, you need to be focused on your product. The patterns in this book have helped people develop and scale their products. Throughout this book, we'll build Minimum Viable Products (MVP) (http://www.startuplessonslearned.com/2009/08/minimum-viable-product-guide.html) on AWS.
Amazon will continue to use this pattern to develop new services, and you should too.

Data

The third part of this book looks at persistence. The item we are persisting is data. AWS offers a number of services to help us manage the volume, velocity, and variety of data. Other products will help identify the veracity and value in the flood. In Chapter 11, Data Processing - Handling Your Data Transformation, we'll use another set of tools to predict how our customers are going to react to new features. Continuous experimentation and measurement allow our product to become more successful.

Code

AWS also provides a number of open source projects as services (https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-open-source-at-awscontributions-support-and-engagementarc213). This allows them to leverage large active communities for product development and bug hunting. In the case of the AWS Software Development Kit for Python, Boto (https://github.com/boto/boto3), Amazon has taken over the project. We're not going to go into all of the benefits of open source here, but remember that many of the services included in our patterns are available as source code to everyone.
Coding is going to be an important part of your product, the systems that run it, and the people that use it. We'll be writing code to allow the reuse and modification of our cloud patterns. To get into the spirit of things, we'll be using a cloud-based development tool that was originally written by the open source Mozilla foundation. A group of the developers decided to create a freemium model to provide support for people using their Integrated Development Environment (IDE), Cloud9. Amazon bought the company—another great pattern for applying to your product.

Utility computing

The cloud is an extension of the practice of co-locating hardware at a site away from your company. Historically, you would put your stuff closer to a fast connection in order to get your pages to load more quickly. Amazon stretched the market by allowing you to run your product on their hardware. They further innovated by creating a utility model that lets you pay for only what you need.

Anything as a Service

Obviously, IDE as a service was not the first service offering of AWS, but it fit well with their philosophy of Anything as a Service (often abbreviated as XaaS). By going beyond their initial offering of co-located virtual machines, Amazon has redefined existing infrastructure services. Providing configurable services and software implementations of hardware found in data centers has allowed them to develop complementary products such as load balancing, content delivery networks, and security plus, failover and replication solutions. Extending their internal tools or purchasing synergistic pro...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Section 1: The Basics
  8. Introduction to Amazon Web Services
  9. Core Services - Building Blocks for Your Product
  10. Availability Patterns - Understanding Your Needs
  11. Security - Ensuring the Integrity of Your Systems
  12. Section 2: DevOps Patterns
  13. Continuous Deployment - Introducing New Features with Minimal Risk
  14. Ephemeral Environments - Sandboxes for Experiments
  15. Operation and Maintenance - Keeping Things Running at Peak Performance
  16. Application Virtualization - Using Cloud Native Patterns for Your Workloads
  17. Antipatterns - Avoiding Counterproductive Solutions
  18. Section 3: Persistence Patterns
  19. Databases - Identifying Which Type Fits Your Needs
  20. Data Processing - Handling Your Data Transformation
  21. Observability - Understanding How Your Products Are Behaving
  22. Anti-Patterns - Bypassing Inferior Options
  23. Other Books You May Enjoy