Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68

Similar documents
Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Principal Solutions Architect. Architecting in the Cloud

Designing Fault-Tolerant Applications

AWS Solution Architecture Patterns

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

Cloud Computing /AWS Course Content

Training on Amazon AWS Cloud Computing. Course Content

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

Amazon Web Services Training. Training Topics:

Amazon Web Services (AWS) Training Course Content

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

LINUX, WINDOWS(MCSE),

SAA-C01. AWS Solutions Architect Associate. Exam Summary Syllabus Questions

Introduction to Cloud Computing

How to host and manage enterprise customers on AWS: TOYOTA, Nippon Television, UNIQLO use cases

Enroll Now to Take online Course Contact: Demo video By Chandra sir

Automating Elasticity. March 2018

AWS Solutions Architect Associate (SAA-C01) Sample Exam Questions

AWS_SOA-C00 Exam. Volume: 758 Questions

Pass4test Certification IT garanti, The Easy Way!

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

AWS Storage Gateway. Not your father s hybrid storage. University of Arizona IT Summit October 23, Jay Vagalatos, AWS Solutions Architect

Amazon AWS-Solution-Architect-Associate Exam

Building Web-Scale Applications with AWS

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

Introduction to Amazon Web Services. Jeff Barr Senior AWS /

Aurora, RDS, or On-Prem, Which is right for you

Emulating Lambda to speed up development. Kevin Epstein CTO CorpInfo AWS Premier Partner

Oracle WebLogic Server 12c on AWS. December 2018

Automate best practices and operational health for your AWS resources with Trusted Advisor and AWS Health

AWS Administration. Suggested Pre-requisites Basic IT Knowledge

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

Reactive Microservices Architecture on AWS

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

amazon.com s Journey to the Cloud Jon Jenkins AWS Summit June 13, 2011

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

PracticeDump. Free Practice Dumps - Unlimited Free Access of practice exam

Amazon. Exam Questions AWS-Certified-Solutions-Architect- Professional. AWS-Certified-Solutions-Architect-Professional.

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Windows Azure Services - At Different Levels

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

About Intellipaat. About the Course. Why Take This Course?

CS15-319: Cloud Computing. Lecture 3 Course Project and Amazon AWS Majd Sakr and Mohammad Hammoud

Advanced Architectures for Oracle Database on Amazon EC2

Exam Questions AWS-Certified- Developer-Associate

MIGRATING SAP WORKLOADS TO AWS CLOUD

How to go serverless with AWS Lambda

AWS Solution Architect Associate

Backtesting in the Cloud

NGF0502 AWS Student Slides

Containers and the Evolution of Computing

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

AWS SQS for better architecture. 23 rd Dec'14 Saurabh S Bangad

ShuttleService. Scalable Big Data Processing Utilizing Cloud Structures. A Tick Data Custom Data Solutions Group Case Study

EXAM - AWS-Solution-Architect- Associate. AWS Certified Solutions Architect - Associate. Buy Full Product

CIT 668: System Architecture. Amazon Web Services

CogniFit Technical Security Details

How the Cloud is Enabling the Disruption of the Construction Industry. AWS Case Study Construction Industry. Abstract

MySQL in the Cloud Tricks and Tradeoffs

ARCHITECTURAL DESIGN ON AWS: 3 COMMONLY MISSED BEST PRACTICES

Introduction to Amazon Web Services

Developing Microsoft Azure Solutions (70-532) Syllabus

#AWSSummit. Démarrer sur AWS. L élasticité et les outils de gestions

DevOps Agility in the Evolving Cloud Services Landscape

Oracle DBA workshop I

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

Amazon Web Services Cloud Computing in Action. Jeff Barr

Cloud Security Strategy - Adapt to Changes with Security Automation -

Deploy. A step-by-step guide to successfully deploying your new app with the FileMaker Platform

Architecting for the.

We are ready to serve Latest IT Trends, Are you ready to learn? New Batches Info

Building Microservices with the 12 Factor App Pattern

HPE Digital Learner AWS Certified SysOps Administrator (Intermediate) Content Pack

Splunk & AWS. Gain real-time insights from your data at scale. Ray Zhu Product Manager, AWS Elias Haddad Product Manager, Splunk

PostgreSQL migration from AWS RDS to EC2

Next Generation Storage for The Software-Defned World

Immersion Day. Getting Started with AWS Lambda. August Rev

High School Technology Services myhsts.org Certification Courses

HOW TO PLAN & EXECUTE A SUCCESSFUL CLOUD MIGRATION

Making Non-Distributed Databases, Distributed. Ioannis Papapanagiotou, PhD Shailesh Birari

SaaSaMe Transport Workload Snapshot Export for. Alibaba Cloud

P a g e 1. Teknologisk Institut. Online kursus k SysAdmin & DevOps Collection

dbx MNT AWS Setup Guide

AWS Solution Architect (AWS SA)

Introduction to cloud computing

Building Apps in the Cloud to reduce costs up to 90%

AWS Lambda: Event-driven Code in the Cloud

RA-GRS, 130 replication support, ZRS, 130

Here comes the. Cloud. But is your architecture ready for

Überwachung virtueller Umgebungen

Overview of AWS Security - Database Services

Security & Compliance in the AWS Cloud. Amazon Web Services

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Introduction to Database Services

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

SAP VORA 1.4 on AWS - MARKETPLACE EDITION FREQUENTLY ASKED QUESTIONS

Cloud Computing. Amazon Web Services (AWS)

CLOUD AND AWS TECHNICAL ESSENTIALS PLUS

Transcription:

Design Patterns for the Cloud 68

based on Amazon Web Services Architecting for the Cloud: Best Practices Jinesh Varia http://media.amazonwebservices.com/aws_cloud_best_practices.pdf 69

Amazon Web Services 70

Amazon Web Services 71

Scalable Architectures A scalable architecture is critical to take advantage of a scalable infrastructure The cloud is designed to provide conceptually infinite scalability. Characteristics of Truly Scalable Service Increasing resources results in a proportional increase in performance A scalable service is capable of handling heterogeneity A scalable service is operationally efficient A scalable service is resilient A scalable service becomes more cost effective when it grows 72

1. Design for Failure Everything fails, all then time - Werner Vogels, Amazon s CTO Avoid single points of failure Assume everything fails, and design backwards Goal: Applications should continue to function even if the underlying physical hardware fails or is removed or replicated The following strategies can help in event of failure: 1. Have a coherent backup and restore strategy for your data and automate it 2. Build process threads that resume on reboot 3. Allow the state of the system to re-sync by reloading messages from queues 4. Keep pre-configured and pre-optimized virtual images to support (2) and (3) on launch/boot 5.Avoid in-memory sessions or stateful user context, move that to data stores. 73

1. AWS Tactics 1. Elastic IP is a static IP that is dynamically re-mappable. You can quickly remap and failover to another set of servers so that your traffic is routed to the new servers. 2. Availability Zones are conceptually like logical datacenters. By deploying your architecture to multiple availability zones, you can ensure highly availability. 3. Maintain an Amazon Machine Image so that you can restore and clone environments very easily in a different Availability Zone. 4. Utilize Amazon CloudWatch (or various real-time open source monitoring tools) to get more visibility and take appropriate actions in case of hardware failure or performance degradation. 5. Setup an Auto scaling group to maintain a fixed fleet size so that it replaces unhealthy Amazon EC2 instances by new ones. 6. Utilize Amazon EBS and set up cron jobs so that incremental snapshots are automatically uploaded to Amazon S3 and data is persisted independent of your instances. 7. Utilize Amazon RDS and set the retention period for backups, so that it can perform automated backups. 74

2. Design Loosely Coupled Systems The cloud reinforces the SOA design principle that the more loosely coupled the components of the system, the bigger and better it scales. Build components that do not have tight dependencies on each other. Build asynchronous systems and scaling horizontally become very important in the context of the cloud. Build systems to scale out by adding more instances of same component 75

2. AWS Tactics 1. Use Amazon SQS as buffers between components 2. Design every component such that it expose a service interface and is responsible for its own scalability in all appropriate dimensions and interacts with other components asynchronously 3. Bundle the logical construct of a component into an Amazon Machine Image so that it can be deployed more often 4. Make your applications as stateless as possible. Store session state outside of component (in Amazon Simple, if appropriate) 76

3. Implement Elasticity Elasticity can be implemented in three ways: 1. Proactive Cyclic Scaling: Periodic scaling that occurs at fixed interval (daily, weekly, monthly, quarterly) 2. Proactive Event-based Scaling: Scaling just when you are expecting a big surge of traffic requests due to a scheduled business event (new product launch, marketing campaigns) 3. Auto-scaling based on demand. By using a monitoring service, your system can send triggers to take appropriate actions so that it scales up or down based on metrics (utilization of the servers or network i/o, for instance) To implement Elasticity, one has to first automate the deployment process and streamline the configuration and build process. This will ensure that the system can scale without any human intervention. 77

3. Design your AMI The cloud allows you to automate your deployment process. Take the time to create an automated deployment process early on during the migration process and not wait till the end. Creating an automated and repeatable deployment process will help reduce errors and facilitate an efficient and scalable update process. To automate the deployment process: - Create a library of recipes small frequently-used scripts (for installation and configuration) - Manage the configuration and deployment process using agents bundled inside an AMI - Bootstrap your instances 78

3. AMI Design Approaches Easier to setup 1. Inventory of static AMIs 2. Golden AMIs with fetch on boot 3. AMIs with Just Enough and agent Easier to maintain 79

3. Inventory of static AMIs Amazon EC2 80

3. Golden AMIs with fetch on boot Local SVN Repository Amazon S3 Fetch on AMI boot time Amazon EC2 81

3. AMI with Je and agent Local SVN Repository Fetch on AMI boot time Download recipe on agent request Amazon S3 Agent Recipe Database Agent Amazon EC2 82

3. AWS Tactics 1. Define Auto-scaling groups for different clusters 2. Monitor your system metrics (CPU, Memory, Disk I/O, Network I/O) using Amazon CloudWatch and take appropriate actions (launching new AMIs dynamically using the Auto-scaling service) or send notifications. 3. Store and retrieve machine configuration information dynamically: Utilize Amazon Simple to fetch config data during boot-time of an instance (eg. database connection strings). Simple may also be used to store information about an instance such as its IP address, machine name and role. 4. Design a build process such that it dumps the latest builds to a bucket in Amazon S3; download the latest version of an application from during system startup. 5. Invest in building resource management tools (Automated scripts, pre-configured images) or Use smart open source configuration management tools. 6. Bundle Just Enough Operating System (Je) and your software dependencies into an Amazon Machine Image so that it is easier to manage and maintain. Pass configuration files or parameters at launch time and retrieve user data and instance metadata after launch. 7. Reduce bundling and launch time by booting from Amazon EBS volumes and attaching multiple Amazon EBS volumes to an instance. Create snapshots of common volumes and share snapshots among accounts wherever appropriate. 8. Application components should not assume health or location of hardware it is running on. 83