AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법

1,045 views

Published on

2014년 3월 27일 개최된 '상암에서 만나는 아마존웹서비스' 에서 AWS 김일호 책임이 발표한 'AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법' 발표 자료 입니다.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,045
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
43
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • In this webinar I am going to introduce Amazon Web Services, also known as AWS, and some of the fundamental concepts behind the Amazon Cloud.
  • http://www.flickr.com/photos/scobleizer/3985020876/You created a great webapp and you're proud of it
  • Remember your great app ? Well, everyone loves it …
  • 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.
  • 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.
  • services that are normally expensive to manage or difficult to use become available on-demand, in a uniform and available way, and only paid for when used. Just like electricity.This is what AWS does. It takes away the hard work from providing infrastructure IT services and makes them available to anyone on a pay as you go basis.
  • In this webinar I am going to introduce Amazon Web Services, also known as AWS, and some of the fundamental concepts behind the Amazon Cloud.
  • AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법

    1. 1. Going Global on AWS For Web, Mobile and Social Apps 김일호 – Solutions Architect ilho@amazon.com
    2. 2. You begin your Startup in a garage, 친구집, PC방, 랩실, 토즈..….. 
    3. 3. …and build a fantastic app
    4. 4. people love it!
    5. 5. and everyone wants to use it…
    6. 6. 503 Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
    7. 7. and everyone wants to use it… Now what?!
    8. 8. What your users want…
    9. 9. What your users want… Fast, performant experience
    10. 10. What your users want… Fast, performance experience Always on, accessible anywhere
    11. 11. What your users want… Fast, performance experience Always on, accessible anywhere Personalized and rich application
    12. 12. What your users want… Fast, performance experience Always on, accessible anywhere Personalized and rich application Lots of new features all of the time
    13. 13. Fast, performance experience Lots of new features all of the time Always on, accessible anywhere Personalized and rich application Powerful web applications
    14. 14. How?
    15. 15. Building powerful web applications
    16. 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. 17. DNS Application Data Rule 1: Service all web requests a) Make sure requests get to your ‘front door’
    18. 18. DNS Application DataRequest Rule 1: Service all web requests a) Make sure requests get to your ‘front door’
    19. 19. DNS Application DataRequest a) Make sure requests get to your ‘front door’ Rule 1: Service all web requests
    20. 20. 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’
    21. 21. 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’
    22. 22. DNS Application DataRequest Rule 1: Service all web requests a) Make sure requests get to your ‘front door’ b) Make sure you open the door when they arrive Route53
    23. 23. 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
    24. 24. Region Rule 1: Service all web requests DNS Application DataRequest 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 Elastic Load Balancer Region Availability Zone Availability Zone Availability Zone Availability Zone Route53
    25. 25. 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 Multi-AZ RDS (Master-slave) Inter-region replication Read-replicas
    26. 26. 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
    27. 27. Rule 2: Service requests as fast as possible
    28. 28. Rule 2: Service requests as fast as possible a) Choose the fastest route Region A Route53 Region B Request
    29. 29. Rule 2: Service requests as fast as possible a) Choose the fastest route Region A Route53 Region B 16ms 92ms Request
    30. 30. Rule 2: Service requests as fast as possible a) Choose the fastest route Region A Route53 Region B 16ms 92ms Request
    31. 31. Rule 2: Service requests as fast as possible Region A Route53 Region B 16ms Request Region A DNS entry a) Choose the fastest route
    32. 32. 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.
    33. 33. Without CloudFront EC2 webservers/app servers loaded by user requests Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers
    34. 34. With CloudFront Load of user requests pushed into CloudFront, EC2 cluster can scale down Offload Scale Down Rule 2: Service requests as fast as possible a) Choose the fastest route b) Offload your application servers
    35. 35. Rule 2: Service requests as fast as possible ResponseTime ServerLoad ResponseTime Server Load ResponseTime Server Load No CDN CDN for Static Content CDN for Static & Dynamic Content Offload Scale Down a) Choose the fastest route b) Offload your application servers
    36. 36. 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 layer Serve frequently requested & slow changing data from scalable cache clusters Reduce load on database and other servers
    37. 37. 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
    38. 38. 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
    39. 39. 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
    40. 40. 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 Relational Database Query Performance DynamoDB Low latency Large scale Zero admin Predictable performance
    41. 41. 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
    42. 42. 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
    43. 43. 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 14 Instance types available, from micro through cluster compute to SSD backed Scale up with Elastic Compute Cloud (EC2)
    44. 44. 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
    45. 45. 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 time 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
    46. 46. 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 to process SQS messages every night or double capacity on a Friday night 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
    47. 47. Rule 3: Handle requests at any scale a) Scale up b) Scale out c) Dial it up Elastic Block Store Provisioned IOPS up to 1000 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
    48. 48. “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
    49. 49. 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
    50. 50. Your Business 70% On-Premise Infrastructure 30% Managing All of the “Undifferentiated Heavy Lifting” Rule 4: Simplify architecture with services
    51. 51. 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
    52. 52. 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
    53. 53. 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
    54. 54. 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
    55. 55. “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
    56. 56. 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
    57. 57. 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
    58. 58. Rule 5: Automate operational management a) Everything is programmable b) Think disposable, one click deployments Cloud Formation Automate creation of ‘stacks’ in a repeatable way Scripting framework for AWS resource creation Feature Details Platform support Support for AWS resources from EC2 to IAM Resource creation Creates AWS resources behind the scenes and reports on progress Declarative Specify stacks in JSON format and source control your environments Customizable Drive stack creation with paramaters
    59. 59. 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 asnwered 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
    60. 60. Rule 5: Automate operational management a) Everything is programmable b) Think disposable, one click deployments c) Design for failure, implement self healing
    61. 61. 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
    62. 62. 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
    63. 63. 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
    64. 64. 0 1000 2000 3000 4000 5000 6000 7000 Reserved Instances On Demand Spot Rule 6: Leverage unique cloud properties a) Optimize costs with instance types
    65. 65. 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
    66. 66. a) Optimize costs with instance types b) Get insight fast with Elastic MapReduce Elastic MapReduce Code Name node Output S3 + SimpleDB S3 + DynamoDB Elastic cluster HDFS Queries + BI Via JDBC, Pig, Hive Input data Rule 6: Leverage unique cloud properties
    67. 67. Features powered by Amazon Elastic MapReduce: People Who Viewed this Also Viewed Review highlights Auto complete as you type on search Search spelling suggestions Top searches Ads 200 Elastic MapReduce jobs per day Processing 3TB of data
    68. 68. “With AWS, our developers can now do things they couldn’t before… …Our systems team can focus their energies on other challenges.” Dave Marin Search and data-mining engineer
    69. 69. 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
    70. 70. 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
    71. 71. aws.amazon.com get started with the free tier
    72. 72. Thank you 김일호 – Solutions Architect ilho@amazon.com

    ×