• Like

Architecture Best Practices

  • 2,378 views
Uploaded on

Präsentation von den Infopark Cloud Developer Camps

Präsentation von den Infopark Cloud Developer Camps

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,378
On Slideshare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
39
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Our goal, and what our customers tell us they see, is that this ratio is inverted after moving to AWS. When you move your infrastructure to the cloud, this changes things drastically. Only 30% of your time should be spent architecting for the cloud and configuring your assets. This gives you 70% of your time to focus on your business. Project teams are free to add value to the business and it's customers, to innovate more quickly, and to deliver products to market quickly as well.
  • There’s a shared responsibility to accomplish security and compliance objectives in AWS cloud. There are some elements that AWS takes responsibility for, and others that the customer must address. The outcome of the collaborative approach is positive results seen by customers around the world.

Transcript

  • 1. Architecture Best Practices Steffen Krause/Constantin Gonzalez Technical Evangelist/Solution Architect @sk_bln/@zalez skrause@amazon.de/glez@amazon.de
  • 2. What users want…
  • 3. What users want… Fast!
  • 4. What users want… Fast! Always on!
  • 5. What users want… Fast! Always on! Features!
  • 6. What users want… Fast! Always on! Features! Personal!
  • 7. How?
  • 8. Building powerful web applications
  • 9. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 10. AWS Global Infrastructure 9 Regions 25 Availability Zones Continuous Expansion
  • 11. DNS Application DataRequest a) Make sure requests get to your ‘front door’ Rule 1: Service all web requests
  • 12. DNS Application DataRequest …then this is irrelevant Clients can’t resolve you? Rule 1: Service all web requests a) Make sure requests get to your ‘front door’
  • 13. DNS Application DataRequest “100% Available” SLA Rule 1: Service all web requests Route53 Feature Details Global Supported from AWS global edge locations for fast and reliable domain name resolution Scalable Automatically scales based upon query volumes Latency based routing Supports resolution of endpoints based upon latency, enabling multi- region application delivery Integrated Integrates with other AWS services allowing Route 53 to front load balancers, S3 and EC2 Secure Integrates with IAM giving fine grained control over DNS record access http://aws.amazon.com/route53/sla a) Make sure requests get to your ‘front door’
  • 14. Region DNS Application DataRequest Rule 1: Service all web requests Elastic Load Balancer Region Availability Zone Availability Zone Availability Zone Availability Zone Route53 a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive Elastic load balancing Multi-availability zone Multi-region
  • 15. Region Rule 1: Service all web requests DNS Application DataRequest Elastic Load Balancer Route53 Region Availability Zone Availability Zone Availability Zone Availability Zone a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive c) Have the data to form a response RDS Multi-AZ Master-slave Read-replicas
  • 16. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 17. Rule 2: Service requests as fast as possible a) Choose the fastest route Region A Route53 Region B Request
  • 18. Rule 2: Service requests as fast as possible a) Choose the fastest route Region A Route53 Region B 16ms 92ms Request
  • 19. Rule 2: Service requests as fast as possible Region A Route53 Region B 16ms Request Region A DNS entry a) Choose the fastest route
  • 20. Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers London Paris NY Served from S3 /images/* 3 Served from EC2 *.php 2 Single CNAME www.mysite.com 1 CloudFront World-wide content distribution network Easily distribute content to end users with low latency, high data transfer speeds, and no commitments.
  • 21. Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers c) Cache it if you can ElastiCache Memcached compatible caching Serve frequently requested & slow changing data from scalable cache clusters Reduce load on database and other servers
  • 22. Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters Scale DatabaseQueryPerformance Desired consistency, predictability Actual degraded performance with scale
  • 23. Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters Scale DatabaseQueryPerformance Desired consistency, predictability Actual degraded performance with scale Management problems Data sharding Data caching Provisioning Cluster management Fault management
  • 24. Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers c) Cache it if you can d) Single digit latencies where it matters Scale DatabaseQueryPerformance Dynamo DB Query Performance DynamoDB Low latency Large scale Zero admin Predictable performance Average single-digit milliseconds server side latencies Runs on solid state drives, and is built to maintain consistent, fast latencies at any scale
  • 25. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 26. Rule 3: Handle requests at any scale a) Scale up Vertical Scaling From $0.02/hr Basic unit of compute capacity Range of CPU, memory & local disk options 18 Instance types available, from micro through cluster compute to SSD backed Scale up with Elastic Compute Cloud (EC2)
  • 27. Rule 3: Handle requests at any scale a) Scale up b) Scale out Trigger auto-scaling policy as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones eu-west-1a --min-size 4 --max-size 200 Auto-scaling Automatic re-sizing of compute clusters based upon demand
  • 28. Manually Send an API call or use CLI to launch/terminate instances – Only need to specify capacity change (+/-) By Schedule Scale up/down based on date and timePreemptive manual scaling of capacity e.g. before a marketing event add 10 more instances Regular scaling up and down of instances e.g. scale from 0 to 2 for batch processing every night or double capacity on Fridays a) Scale up b) Scale out By Policy Scale in response to changing conditions, based on user configured real-time monitoring and alerts Auto-Rebalance Instances are automatically launched/terminated to ensure the application is balanced across multiple Azs Rule 3: Handle requests at any scale Dynamic scale based upon custom metrics e.g. SQS queue depth, Average CPU load, ELB latency Maintain capacity across availability zones e.g. Instance availability maintained in event of AZ becoming unavailable
  • 29. Rule 3: Handle requests at any scale a) Scale up b) Scale out c) Dial it up Elastic Block Store Provisioned IOPS up to 4000 per EBS volume Predictable performance for demanding workloads such as databases DynamoDB Provisioned read/write performance per table Predictable high performance scaled via console or API
  • 30. “AWS gave us the flexibility to bring a massive amount of capacity online in a short period of time and allowed us to do so in an operationally straightforward way. AWS is now Shazam’s cloud provider of choice,” Jason Titus, CTO DynamoDB: over 500,000 writes per second Amazon EMR: more than 1 million writes per second
  • 31. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 32. Your Business 70% On-Premise Infrastructure 30% Managing All of the “Undifferentiated Heavy Lifting” Rule 4: Simplify architecture with services
  • 33. AWS Cloud-Based Infrastructure Your Business More Time to Focus on Your Business Configuring Your Cloud Assets 70% 30%70% On-Premise Infrastructure 30% Managing All of the “Undifferentiated Heavy Lifting” Rule 4: Simplify architecture with services
  • 34. Rule 4: Simplify architecture with services Data Centers Power Cooling Cabling Networking Racks Servers Storage Labor Buy and install new hardware Setup and configure new software build or upgrade data centers We take care of it… So you don’t have to …
  • 35. Shared Responsibility for Security & Compliance Facilities Physical Security Compute Infrastructure Storage Infrastructure Network Infrastructure Virtualization Layer Operating System Applications Security Groups Firewalls Network Configuration Account Management + = Customer
  • 36. Relational Database Service Database-as-a-Service No need to install or manage database instances Scalable and fault tolerant configurations DynamoDB Provisioned throughput NoSQL database Fast, predictable performance Fully distributed, fault tolerant architecture Use RDS for databases Use DynamoDB for high performance key- value DB Rule 4: Simplify architecture with services
  • 37. Amazon SQS Processing task/processing trigger Processing results Amazon SQS Reliable, highly scalable, queue service for storing messages as they travel between instances Task A Task B (Auto-scaling) Task C 2 3 1 Simple Workflow Reliably coordinate processing steps across applications Integrate AWS and non-AWS resources Manage distributed state in complex systems Push inter-process workflows into the cloud with SWF Reliable message queuing without additional software Rule 4: Simplify architecture with services
  • 38. Cloud Search Elastic search engine based upon Amazon A9 search engine Fully managed service with sophisticated feature set Scales automatically Document Server Results Search Server Don’t install search software, use CloudSearch Process large volumes of data cost effectively with EMR Elastic MapReduce Elastic Hadoop cluster Integrates with S3 & DynamoDB Leverage Hive & Pig analytics scripts Integrates with instance types such as spot Rule 4: Simplify architecture with services
  • 39. “Amazon CloudSearch is a game-changing product that has allowed us to deliver powerful new search capabilities. Our customers can now find what they are looking for faster and more easily than ever before… ….We saved many months of re-architecture and development time by going with Amazon CloudSearch” Don MacAskill CEO & Chief Geek SmugMug
  • 40. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 41. Compute Storage Security Scaling Database Networking Monitoring Messaging Workflow DNS Load Balancing BackupCDN Rule 5: Automate operational management a) Everything is programmable Access everything via CLI, API or Console Achieve the highest levels of automation sophistication with ease
  • 42. Rule 5: Automate operational management a) Everything is programmable b) Think disposable, one click deployments AWS Elastic Beanstalk Automate resource management AWS CloudFormation Templates to deploy & manage Web App Enterprise App Database AWS OpsWorks Dev-Ops framework for application lifecycle management
  • 43. Rule 5: Automate operational management a) Everything is programmable b) Think disposable, one click deployments c) Design for failure, implement self healing Customize instance startup Get instances to ask ‘who am I?’ question on startup and be configured dynamically upon being answered Maintain capacity of instances Using a minimum pool size will maintain capacity in the event of instance failures Know what’s going on, take automated actions Use CloudWatch standard and custom metrics to create alarms. Respond with automated administration actions Bootstrapping Auto-scaling Cloud Watch
  • 44. Rule 5: Automate operational management a) Everything is programmable b) Think disposable, one click deployments c) Design for failure, implement self healing
  • 45. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 46. Small 1.7 GB, 1 ECU 1 virtual core Large 7.5 GB 4 ECUs 2 virtual cores Extra Large 15 GB 8 ECUs 4 virtual cores Hi-Mem XL 17.1 GB 6.5 ECUs 2 virtual cores Hi-Mem 2XL 34.2 GB 13 ECUs 4 virtual cores Hi-Mem 4XL 68.4 GB 26 ECUs 8 virtual cores High-CPU Med 1.7 GB 5 ECUs 2 virtual cores High-CPU XL 7 GB 20 ECUs 8 virtual cores Micro 613 MB Up to 2 ECUs (for short bursts) Cluster GPU 4XL 22 GB 33.5 ECUs 8 Nehalem virtual cores 2 x NVIDIA Tesla “Fermi” M2050 GPUs Cluster Compute 4XL 23 GB 33.5 ECUs 8 Nehalem virtual cores Cluster Compute 8XL 60.5 GB 88 ECUs 8 core 2 x Intel Xeon Medium 3.75 GB 2 ECUs 1 virtual cores Rule 6: Leverage unique cloud properties a) Optimize costs with instance types
  • 47. Unix/Linux instances start at $0.02/hour Pay as you go for compute power Low cost and flexibility Pay only for what you use, no up-front commitments or long-term contracts Use Cases: Applications with short term, spiky, or unpredictable workloads; Application development or testing On-demand instances 1- or 3-year terms Pay low up-front fee, receive significant hourly discount Low Cost / Predictability Helps ensure compute capacity is available when needed Use Cases: Applications with steady state or predictable usage Applications that require reserved capacity, including disaster recovery Reserved instances Bid on unused EC2 capacity Spot Price based on supply/demand, determined automatically Cost / Large Scale, dynamic workload handling Use Cases: Applications with flexible start and end times Applications only feasible at very low compute prices Spot instances Rule 6: Leverage unique cloud properties a) Optimize costs with instance types
  • 48. a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce Rule 6: Leverage unique cloud properties Elastic MapReduce Managed, elastic Hadoop cluster Integrates with S3 & DynamoDB Leverage Hive & Pig analytics scripts Integrates with instance types such as spot Feature Details Scalable Use as many or as few compute instances running Hadoop as you want. Modify the number of instances while your job flow is running Integrated with other services Works seamlessly with S3 as origin and output. Integrates with DynamoDB Comprehensive Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in Cascading, Java, Ruby, Perl, Python, PHP, R, or C++ Cost effective Works with Spot instance types Monitoring Monitor job flows from with the management console
  • 49. Cluster compute instances Implement HVM process execution Intel® Xeon® E5-2670 processors 10 Gigabit Ethernet Cluster Compute 80 EC2 Compute Units 60GB RAM 3TB Local Disk Network placement groups Cluster instances deployed in a ‘Placement Group’ enjoy low latency, full bisection 10 Gbps bandwidth 10Gbps Rule 6: Leverage unique cloud properties a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce c) Create a supercomputer backend when you need it
  • 50. Rule 2: Service requests as fast as possible Rule 1: Service all web requests Rule 3: Handle requests at any scale Rule 4: Simplify architecture with services Rule 5: Automate operational management Rule 6: Leverage unique cloud properties
  • 51. Use AWS for… Fast! Always on! Features! Personal!
  • 52. Use AWS for… Elastic capacity Always on! Features! Personal! ✔
  • 53. Use AWS for… Elastic capacity Highly available, global coverage Features! Personal! ✔ ✔
  • 54. Use AWS for… Elastic capacity Highly available, global coverage Agility & automated ops Personal! ✔ ✔ ✔
  • 55. Use AWS for… Elastic capacity Highly available, global coverage Agility & automated ops Storage, Big Data, Analytics ✔ ✔ ✔ ✔
  • 56. • http://aws.amazon.com/de/free/ • Für neue AWS Kunden • Bis zu 12 Monate kostenlose Nutzung für viele AWS Dienste • Kreditkarte für Anmeldung erforderlich – Aber keine Abbuchungen, so lange Sie im „Free Tier“ bleiben Testen Sie - kostenlos
  • 57. • http://aws.amazon.com/de • 25 US$ credits für neue Kunden: http://aws.amazon.com/de/campaigns/account/ • Twitter: @AWS_Aktuell • Facebook: http://www.facebook.com/awsaktuell • Webinare: http://aws.amazon.com/de/about-aws/events/ • Slides: http://de.slideshare.net/AWSAktuell Ressourcen
  • 58. skrause@amazon.de