스타트업과 개발자를 위한 AWS 클라우드 태권 세미나

1,242 views
1,156 views

Published on

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

No Downloads
Views
Total views
1,242
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
41
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
  • We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
  • We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
  • AWS lets you lower the cost of innovationAccelerate your speed, be more agile, increase the value of your product.
  • We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
  • 구두로만 타사 언급 가능
  • Amazon Web Services allows you to scale from one EC2 Instance to [Click]
  • to many thousands. Just dial up and down as required. The Power of Elasticity…[Click] And all this is fully automated without you loosing sleep [Click]
  • TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
  • Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
  • After a few feedbacks and tinkering for a better customer experience we have finally gone live and this is our Production 1.0 Architecture. If you notice we have now enabled the Multi AZ feature in our Database. All it takes is a single click or an API call to make your Database highly available Over the course of the last fee slides we covered how you can scale progressively through various stages of your application development and deployment. This again underlines the ability to scale seamlessly and pay for only what you use and provision when you need to.
  • Amazon EC2 enables our partners and customers to build and customize Amazon Machine Images (AMIs) with software based on your needs. These are the database servers available for use today within Amazon EC2: Oracle Database 11g,Microsoft SQL Server Standard,MySQL Enterprise,IBM DB2,IBM Informix Dynamic Server. http://aws.amazon.com/ec2/Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS gives you access to the capabilities of a familiar MySQL or Oracle database. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. In addition, Amazon RDS for MySQL makes it easy to use replication to enhance availability and reliability for production databases and to scale out beyond the capacity of a single database deployment for read-heavy database workloads. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use. http://aws.amazon.com/rds/Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. With a few clicks in the AWS Management Console, customers can launch a new Amazon DynamoDB database table, scale up or down their request capacity for the table without downtime or performance degradation, and gain visibility into resource utilization and performance metrics. Amazon DynamoDB enables customers to offload the administrative burdens of operating and scaling distributed databases to AWS, so they don’t have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling. http://aws.amazon.com/dynamodb/Amazon Redshift is a managed data warehouse service in the Amazon cloud. Redshift is optimized for data sets ranging from 100’s of GB to peta-byte scale. It uses columnar storage to compress and accelerate scan operations against large data sets, while providing a SQL interface for easy integration with reporting and query tools. All Redshift operations occur as massively parallel processes, including data loading, query, resizing, backup and restore. Redshift users can provision a cluster and load data directly from S3 in a few minutes, and be assured that their data is protected by VPC and encryption, both at rest and in-flight (via SSL).
  • Founded in 2004, raised 56M in Venture Capital, went IPO
  • TIME TO MARKETNeed to launch the business quicklyLong development cycles and high costsInability to experiment and test the hypotheses that underpin the businessSCALABILITYUnpredictable demandNeed to deal with spiky traffic or sudden increase in usersNeed to scale out to cover new markets / regionsCOST & REVENUENo CAPEX budget Inability to forecast demand & commit long term contractsNeed to run a lean business & focus on generating revenue
  • Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
  • We have a variety of purchase options that allow you to match your workload to the right model, and we’re happy to help you optimize your bill by working with you to choose the right mix of several of these.
  • ■One of the fastest growing sites in history. Cites AWS for making it possible to handle 18 million visitors in March, a 50% increase from the previous month, with very little IT infrastructure. ■12 employees as of last December. Using the cloud a site can grow dramatically while maintaining a very small team. Looks like 31 employees as of now.
  • Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
  • Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
  • Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
  • Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
  • Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
  • Many companies still have their static content, e.g. pics, at their serverThis means for every user, this requires computational effort as pictures are being called from the serverA better way is to offload all your static content and put it in S3, and have it delivered from our CDN, called CloudfrontThis reduces the number of API calls to your server, and hence, you can lower the number of servers you run, thereby lowering costsCloudFront is fully automated: you don’t have to configured detailed configs, your users just get the content from the nearest of our 43 global Cloudfront POPS – lower latency, means a an improved end-user experienceDurability goes up with S3: 11 9’s. But also: consistency as all your data is in one location, not across all your servers. DRY
  • Perx = mobile loyalty program. iPhone app for loyalty in restaurants, bars etc. Location Based = tells you when you walk around where to get a deal.Logo’s for all the rastaurants is static content. When they changed to S3 + Cloudfront, user experience went up, users loved it. Easier to manage as they only had to manage changes, new ones etc ONCEThen, we started offering CloudFront for Dynamic Content. For Perx, that works for all the different offers that restaurants put out there on a weekly basis. “What is the best deal today at Subway or Starbucks?”. These can now be cached at the edge as well. Offload dynamic calls to your server, thereby again lowering the load on your servers, and your costs!
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • Buuuk is the mobile app partner of Singapore Press Holding (SPH), the publisher of Straits Times and much moreThey distribute their mobile app to millions and millions usersThey have Breaking News Alerts, which obviously drive an immediate surge in users and hence in the number of required capacityIn real time, they react to this. When SPH tells the system that there is a Breaking News announcement. When the Buuuk system receives this, they automatically issue a command to increase the number of EC2 instances and delay the news by 5 minutesAfter 5 minutes, the system is fully scaled up and the announcement goes out. People receive it and what do they do? They visit the news site with millions at the same time. The surge in users can then be easily dealt with = customer satisfaction From experience, they know this peak is normally only less than hour, so within an hour, they scale down again so that they only pay for 1 hour of excess capacity
  • For many content, media files, etc. derivatives are being created. For examples, thumbnails, versions for iOS, Android, etc.These files can be re-generated from the originalOr: you do have the source files elsewhere.In that case: you can consider S3 Reduced Redundancy. Not 11 9’s, but 4 9’s. Still 99.99% durability, which is 400 times more than a normal harddrive. BUT – 33% cheaper than the standard S3Improved consistency and logging / tracking as you exactly know where the content is, who calls it, how often, etc.
  • If you can add a number of read replicas, you can offload a number of tasks such as reportingYou do not need to peak your Master and reduce the size of your entire database fleet. You can further offload certain activities to other services such as DynamoDB or ElastiCacheYou can even make your EC2 instances smart, so they know the read replicas are there and when to ping those
  • A first option = read replicas to deal with API calls to the databaseAll reads go there, not to the Master so you can avoid the Master from needing to grow and growWhen you are really smart, you can even auto-scale the Read Replicas to only have them when usage increases
  • Additional offload is ElasticCaheSometimes, 90% of calls can be offloaded to ElasticCache as the calls are the same CloudWatch can actually tell you the CPU utilization of your RDS so if its low, you can reduce the size
  • Copy-paste entire infrastructure & try out bothLeverage CloudFormation to describe a stack and create templates to automate process of spinning up new stacksYou can copy-paste, change a few things in the copied environment to test whether it works betterThis allows for rapid dev & test and is often used for optimization of performance & conversion metrics: A/B TESTINGUsed by Obama in campaign, but also extensively in gaming
  • Let us see how AWS helps to scale your Web Application to support 10’s of Millions of users. Start Small and grow big, build an architecture that scales at each progressive stage.
  • Each of these examples is typified by wasted IT resources. Where you planned correctly, the IT resources will be over provisioned so that services are not impacted and customers lost during high demand. In the worst cases, that capacity will not be enough, and customer dissatisfaction will result. Most businesses have a mix differing patterns at play, and much time and resource is dedicated to planning and management to ensure services are always available. And when a new online service is really successful, you often can't ship in new capacity fast enough. Some say that's a nice problem to have, but those that have lived through it will tell you otherwise!
  • You control how and when your service scales, so you can closely match increasing load in small increments, scale up fast when needed, and cool off and reduce the resources being used at any time of day. Even the most variable and complex demand patterns can be matched with the right amount of capacity - all automatically handled by AWS.
  • 스타트업과 개발자를 위한 AWS 클라우드 태권 세미나

    1. 1. Getting to MVP (Minimum Viable Product)
    2. 2. Traditional World customer is known features are known solution is known
    3. 3. Traditional World is not where we live
    4. 4. Most startups Know the problem, but not the solution Many don't even know precisely what problem they solve
    5. 5. Lean Startups: LEARN & ADAPT
    6. 6. 1. Focus on a simple implementation of your idea
    7. 7. 1. Focus on a simple implementation of your idea 2. Start with a minimal core set of features
    8. 8. 1. Focus on a simple implementation of your idea 2. Start with a minimal core set of features 3. Release and listen to your users
    9. 9. 1. Focus on a simple implementation of your idea 2. Start with a minimal core set of features 3. Release and listen to your users Minimum Viable Product
    10. 10. MVP Smallest thing I can do to test my idea?
    11. 11. a prototype shouldn't require big investments
    12. 12. It should be cheap and validate ideas
    13. 13. This Session From 0 to MVP in 30 minutes
    14. 14. What matters most? Cost of Innovation Focus
    15. 15. « Want to increase innovation? Lower the cost of failure » Joi Ito
    16. 16. AWS enables you to Fail Forward Fail Faster Fail Cheaper
    17. 17. Scale Product Development MVP Time
    18. 18. Scale Innovation & Iteration MVP Time
    19. 19. Innovation & Iteration Now: re-written as app. Photo sharing is just one feature photo app. Sold to FB for 1bn Scale Started: burbn, location-based mobile Time
    20. 20. Innovation & Iteration Now: micro-blogging, podcasts 500M users, >10Bn valuation Scale Started: odeo, site to create & share Time
    21. 21. Innovation & Iteration Now: raised $42M, successful. But then game 52… downloaded 1B times, 25% paid, best sold game on AppStore Scale Started: developed 51 games, none very Time
    22. 22. “Timing, perseverance, and ten years of trying will eventually make you look like an overnight success.” Biz Stone, Twitter co-founder
    23. 23. AWS lowers the cost of Innovation Scenario Scale Small team with initial idea for Mobile app 3 months to get to launch Unknown customer/problem/solution No cash…. Time
    24. 24. Dev / Test Environment Average Spend Scale $0 p/m Time
    25. 25. Alpha Release Average Spend Scale $15 p/m Time
    26. 26. Beta Release / MVP Average Spend Scale $235 p/m Time
    27. 27. Getting to MVP for $250 Total Spend to MVP Scale $250 $0 $15 $235 Time • 3 months dev/test/release • Serving Beta customers • Ready for full production and scale
    28. 28. FOCUS! Your application Your business & what makes you unique Innovation, not undifferentiated heavy lifting Spending developer time in the right place Automate as much as you can (Deep insight alert: Developer Time = Money) Build apps, not infrastructure
    29. 29. "Startups are all about focus. AWS enables focus" Ray Bradford, Kleiner Perkins, Caulfield & Byers
    30. 30. “Your users around the world don’t care that you wrote your own DB” Mike Krieger, Instagram Cofounder
    31. 31. Focus requires Automation AWS Elastic Beanstalk AWS OpsWorks AWS CloudFormation DIY / On Demand Automated resource management – web apps made easy DevOps framework for application lifecycle management and automation Templates to deploy & manage templatedriven provisioning DIY, on demand resources: EC2, S3, customer AMI’s, etc. Convenience Control
    32. 32. DEMO Your MVP on AWS Elastic Beanstalk
    33. 33. What’s AWS Elastic Beanstalk?
    34. 34. We Create the EC2 Instance You Focus on Developing Your App User Application Application Service HTTP Service Language Interpreter Operating System Host
    35. 35. Flexibility to Choose your Stack
    36. 36. We’re going to build this…
    37. 37. Thank You aws.amazon.com/start-ups aws.amazon.com/ko/activate
    38. 38. Getting to MVP Frograms
    39. 39. frograms
    40. 40. 내 취향을 분석하는 영화추천 서비스 왓챠 TITLE
    41. 41. 내 취향을 분석하는 영화추천 서비스 왓챠 어떤 영화를 볼 지 선택할 때, 취향을 분석하여 좋아할만한 영화를 추천해 주는 개인화 서비스
    42. 42. 베타 버전 개발 (Beta Dev Stage) • 한대의 서버에 App서버 DB서버 함께 사용 • Loosely Coupled Architecture 필요 • Vertical Scaling (서버 스펙 업그레이드) 어려움 • Horizontal Scaling (서버 수량 증가) 어려움 Traditional Hosting Provider
    43. 43. 베타서비스 시작 (Beta Service on AWS) App Server m1.large So, We started with Simple Architecture • App서버 1대 DB서버 1대 • 시간 부족으로 인한 Time To Market 중요 • 사용자 유입 속도 예측 불가 • 빠르게 이용자 요구에 대처 할 수 있는 능력 필요 DB Server m1.medium
    44. 44. 애플리케이션 서버 (Scale Up/Down) Right Instance Type App Server • Ruby on Rails 웹 애플리케이션 • 모바일 API 개발 • 인스턴스 타입 변경이 수분안에 가능 AMI m1.large m1.xlarge • AMI (Amazon Machine Image)를 통한 인스턴스 타입 업그레이드
    45. 45. 애플리케이션 서버 (Customized AMI)
    46. 46. 애플리케이션 서버 (Rapidly Scale Out/In) App Servers Marketing Promotion With • 순간적으로 폭증하는 트래픽 • SES를 통한 대량 Email 발송처리 • 수분만에 Spot Instance 추가 m3.xlarge Elastic Load Balancer • 트래픽 처리 끝난 후 모두 제거
    47. 47. 데이터 베이스 (Test & Apply) Medium • Large Extra Large 실시간 Modify 를 통한 무중단 업그레이드 • 초창기 단순 구조, Read Replica 1-click 추가
    48. 48. 또한, 그 외에도… Application Server m3.xlarge On-demand Spot Instance Database Server Extra Large Read Replica 추천서버 M1.xlarge 추천 관련된 모든 역 할을 담당하는 서버 DB, 캐시서버, 어플 리케이션 서버와 통 신 Cache 서버 m1.xlarge Redis, Memcached Search 서버 m1.xlarge Sphinx
    49. 49. Next Step with AWS 맛집 쇼핑 음악 영화 드라마 공연 뉴스 게임 동영상 문화컨텐츠 “앞으로 개개인에게 특화된 '개인화' 서비스에 미래가 있다고 생각해요. 영화 뿐만 아니라 개인화 할 수 있는 것들은 무궁무진합니다. 이러한 분야에서 빠른 시장진입을 위해서 AWS가 많은 도움을 줄것입니다.”
    50. 50. Innovators Needed !! 경험 많은 서버/백엔드 개발자 Machine Learning 전공자
    51. 51. contact@frograms.com
    52. 52. Getting to Scale
    53. 53. 503 Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
    54. 54. With AWS, scale from one instance…
    55. 55. …to thousands Fully automated!
    56. 56. How do I scale my architecture to support my first 10M users?
    57. 57. “Think Big, Start Small, Scale Fast” Eric Ries, author of NY Times bestseller “The Lean Startup”
    58. 58. Idea MVP Scale Profitability 01 02 03 04
    59. 59. Getting to Scale By building a scalable Architecture to support your first 10M users
    60. 60. 1. Dev & Test 3. Beta Release 2. Alpha Release
    61. 61. Production 1.0 Architecture
    62. 62. Database Options Self-Managed Database Server on Amazon EC2 Your choice of database running on Amazon EC2 Bring Your Own License (BYOL) Fully-Managed Amazon RDS Relational Database as a managed service Flexible licensing: BYOL or License Included Amazon DynamoDB Managed NoSQL database service using SSD storage Seamless scalability Zero administration
    63. 63. But how do I choose what DB technology I need? SQL? NoSQL?
    64. 64. Some folks won’t like this. But…
    65. 65. Start with SQL databases
    66. 66. But, but, but, but…
    67. 67. No. You don’t.
    68. 68. Start with SQL databases
    69. 69. Why SQL? Established and well worn technology Lots of existing code, communities, books, tools, etc Clear patterns to scalability You aren’t going to break SQL DBs in your first 10 million users. No really, you won’t
    70. 70. Amazon Relational Database Service (RDS) Feature Platform support Preconfigured Automated patching Details Create MySQL, SQL Server and Oracle Get started instantly with sensible default settings Keep your database platform up to date automatically Backups • Database-as-a-Service • No need to install or manage database instances • Scalable and fault tolerant configurations Automatic backups and point in time recovery using snapshots Manual DB snapshots Failover Automated failover to slave hosts in event of a failure Replication Easily create read-replicas of your data and seamlessly replicate data across availability zones
    71. 71. Auto-Scaling Automatic resizing of compute clusters based on demand Feature Amazon CloudWatch Trigger auto-scaling policy Details Control Define minimum and maximum instance pool sizes and when scaling and cool down occurs. Integrated to Amazon CloudWatch Use metrics gathered by CloudWatch to drive scaling. Instance types Run Auto Scaling for On-Demand and Spot Instances. Compatible with VPC. as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones us-east-1a --min-size 4 --max-size 200
    72. 72. Production 1.0 Architecture
    73. 73. Production 1.0 Architecture Well-designed, 2 Tier architecture Highly Available due to Multiple Availability Zone Load Balancing & Auto-Scaling for full scalability Fully managed Database included Capable of serving >10K-100Ks users
    74. 74. BUT…
    75. 75. Production 1.0 Architecture Wasted server capacity for static content Reliability and durability are not yet optimal End-user experience could be improved thru offloading & caching
    76. 76. SO…
    77. 77. Let’s add Simple Storage Service (S3) CloudFront to optimize the end-user experience
    78. 78. Simple Storage Service (S3) Feature Flexible object store Access control Server-side encryption Multi-part uploads Object versioning Object expiry Durable storage, any object 99.999999999% durability of objects Unlimited storage of objects of any type Up to 5TB size per object Access logging Web content hosting Notifications Import/Export Details Buckets act like drives, folder structures within Granular control over object permissions 256bit AES encryption of objects Improved throughput & control Archive old objects and version new ones Automatically remove old objects Full audit log of bucket/object actions Serve content as web site with built in page handling Receive notifications on key events Physical device import/export service
    79. 79. CloudFront • World-wide content distribution network • Easily distribute content to end users with low latency, high data transfer speeds, and no commitments Feature Fast Integrated with other services Dynamic content Streaming Details Multiple world-wide edge locations to serve content as close to your users as possible Works seamlessly with S3 and EC2 origin servers Supports static and dynamic content from origin servers Supports rtmp from S3 and includes support for live streaming from Adobe FMS and Microsoft Media Server
    80. 80. Production 1.2 Architecture
    81. 81. Production 1.2 Architecture Well-designed, 2 Tier architecture Highly Available due to Multiple Availability Zone Load Balancing & Auto-Scaling for full scalability Fully managed Database included Static content stored in durable, consistent way Improved end-user experience through CDN Capable of serving >100K-1M+ users
    82. 82. BUT…
    83. 83. Production 1.2 Architecture You are now at Scale… …with lots of data… …and need to optimize continuously. But how and where?
    84. 84. SO…
    85. 85. Let’s add Big Data for analytics of web, mobile, gaming, and log data
    86. 86. Multiple managed AWS services for Big Data
    87. 87. Elastic MapReduce (EMR) • Managed, elastic Hadoop cluster • Integrates with S3 & DynamoDB • Leverage Hive & Pig analytics scripts Feature Scalable Integrated with other services Comprehensive Cost effective Monitoring Details Use as many or as few compute instances running Hadoop as you want. Modify the number of instances while your job flow is running Works seamlessly with S3 as origin and output. Integrates with DynamoDB Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in Cascading, Java, Ruby, Perl, Python, PHP, R, or C++ Works with Spot instance types Monitor job flows from with the management console
    88. 88. Foursquare… …generates a lot of Data Founded in 2009 112M in Venture Capital 33 million users 1.3 million businesses using the service 3.5 billion check-ins 15M+ venues, Terabytes of log data
    89. 89. Uses EMR for Evaluation of new features Machine learning Exploratory analysis Daily customer usage reporting Long-term trend analysis
    90. 90. Benefits of EMR Ease-of-Use “We have decreased the processing time for urgent data-analysis” Flexibility To deal with changing requirements & dynamically expand reporting clusters Costs “We have reduced our analytics costs by over 50%”
    91. 91. Production 1.3 Architecture
    92. 92. Production 1.3 Architecture Well-designed, 2 Tier architecture Highly Available due to Multiple Availability Zone Load Balancing & Auto-Scaling for full scalability Static content stored in durable, consistent way Improved end-user experience through CDN Big Data analytics built in for continuous optimization Capable of serving >1m-10M+ users
    93. 93. DEMO Getting to Scale
    94. 94. Thank You aws.amazon.com/start-ups aws.amazon.com/ko/activate
    95. 95. Getting to Scale
    96. 96. 2013. 9 2011. 9
    97. 97. Architecture on AWS CloudFront Client ELB Route53 Database S3 Bucket Web Search Engine ElastiCache MQ Worker Monitoring Amazon SES AMIs
    98. 98. Elastic Compute Cloud
    99. 99. Elastic Compute Cloud ~32 Instances ~5 Instances
    100. 100. Elastic Load Balancer HTTPS Request HTTP
    101. 101. CloudFront
    102. 102. CloudFront
    103. 103. ElastiCache
    104. 104. ElastiCache
    105. 105. Getting to Profitability
    106. 106. The Infamous Hockey Stick Usage Page Views Revenue Etc. Time
    107. 107. The Infamous Hockey Stick Usage Page Views Revenue Etc. Costs Time
    108. 108. You want only 3 things
    109. 109. Revenue to go Up Unit Costs to go Down Margin to go Up
    110. 110. The Infamous Hockey Stick Usage Page Views Revenue Etc. Costs Time
    111. 111. How does AWS help here?
    112. 112. Economies of Scale Pricing Models Cost Aware Architecting
    113. 113. What does this look like in the real world?
    114. 114. An example Enterprise software provider in APAC Focused on SaaS for storage, security, collaboration, etc. Backed by leading VC’s in the region Strong growth – winning customers globally Focused on profitability & reducing unit costs Worked closely with the AWS team to optimize its architecture
    115. 115. “Based on a True Story” Margin Growth 54% reduction in unit costs -10% -20% price drop RI purchase in S3 -22% Migration Cassandra to Dynamo -18% Price drop in S3 of 25%
    116. 116. Idea MVP Scale Profitability 01 02 03 04
    117. 117. Scale Getting to Profitability Profitability 03 04 Pricing Models Cost Aware Architecting Total Cost of Ownership
    118. 118. Cost Optimization using different purchase models Free Tier On-Demand Reserved Spot Get Started on AWS with free usage & no commitment Pay for compute capacity by the hour with no long-term commitments Make a low, one-time payment and receive a significant discount on the hourly charge Bid for unused capacity, charged at a Spot Price which fluctuates based on supply and demand For POCs and getting started For spiky workloads, or to define needs For committed utilization For time-insensitive or transient workloads
    119. 119. aws.amazon.com/ko/activate
    120. 120. Reserved Instance Pricing Make a low, one-time payment and receive a significant discount on the hourly charge For committed utilization 3 Versions • Light Utilization RI • Medium Utilization RI • High Utilization RI 2 Terms • 1-year • 3-year
    121. 121. Reserved Instance Pricing Utilization RI option Savings over On-Demand <10% On-Demand 10% - 40% Light Utilization RI Up to 56% 40% - 75% Medium Utilization RI Up to 66% >75% Heavy Utilization RI Up to 71%
    122. 122. • Most traffic happens in the afternoons and evenings, so they reduce the number of instances at night by 40%. • At peak traffic $52 an hour is spent on EC2 and at night, during off peak, the spend is as little as $15 an hour. Saving per hour = 71%
    123. 123. Save more money by using Spot Instances Spot market for underutilized capacity Requested Bid Price and Pay as you go Spot Price < On-Demand Price Up to 85% savings over On Demand pricing
    124. 124. Use Cases for Spot Pricing Use Case Batch Processing Types of Applications Generic background processing (scale out computing) Hadoop Hadoop/MapReduce processing type jobs (e.g. Search, Big Data, etc.) Scientific Computing Scientific trials/simulations/analysis in chemistry, physics, and biology Video and Image Processing/Rendering Testing Transform videos into specific formats Web/Data Crawling Financial HPC Analyzing data and processing it Hedgefund analytics, energy trading, etc Utilize HPC servers to do embarrassingly parallel jobs Cheap Compute Backend servers for Facebook games Provide testing of software, web sites, etc
    125. 125. Optimizing Video Transcoding Workloads for a FREEMIUM model Free Offering Premium Offering Optimize for reducing cost Acceptable Delay Limits Optimized for Faster response No Delays Implementation – – – – Leverage spot pricing Maximum Bid Price < On-demand Rate Use on-demand Instances, if delay Get strongly reduced price for your workload Implementation – Invest in Reserved Instances – Use on-demand for Elasticity Get Instant Capacity for higher price
    126. 126. Scale Getting to Profitability Profitability 03 04 Pricing Models Cost Aware Architecting Total Cost of Ownership
    127. 127. “Give me 4 fault tolerant algorithms and I can pick the best one almost with my eyes closed. If you then ask me which one is best for the business, in terms of dollar costs, I would be clueless...” Werner Vogels, CTO, Amazon
    128. 128. Cost optimization through ‘Cost Aware Architecting’ Reduce Cost of… Compute …by leveraging: 1. S3 & CloudFront for Caching & Offloading 2. Auto-Scaling done Right Storage 3. Storing derivative objects in S3 ‘Reduced Redundancy’ Database 4. Read Replicas and/or ElastiCache Test & Dev 5. Rapid proto-typing & Lean Dev/Test
    129. 129. Cost Aware Architecting to Reduce costs of EC2 1. S3 & CloudFront for Caching & Offloading • Reduce your compute demand and costs • Improve end-user experience • Increase reliability and durability
    130. 130. Cost Aware Architecting to Reduce costs of EC2 1. S3 & CloudFront for Caching & Offloading
    131. 131. Cost Aware Architecting to Reduce costs of EC2 1. S3 & CloudFront for Caching & Offloading
    132. 132. Cost Aware Architecting to Reduce costs of EC2 1. S3 & CloudFront for Caching & Offloading
    133. 133. Cost Aware Architecting to Reduce costs of EC2 1. S3 & CloudFront for Caching & Offloading
    134. 134. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response • Elastic Load Balancing and (event-driven) Auto Scaling • Notification of pending news flash (with audible alarm) • On-demand ramp up of capacity (6 mins.) • Subscriber alert push delivered • Mass response traffic handled (followed by ramp down)
    135. 135. Buuuk for Singapore Press Holding (SPH)
    136. 136. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response Buuuk Straits Times
    137. 137. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response
    138. 138. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response
    139. 139. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response
    140. 140. Cost Aware Architecting to Reduce costs of EC2 2. Auto-Scaling done Right with Real Time reaction response
    141. 141. Cost Aware Architecting to Reduce costs of S3 3. Storing derivative objects in S3 ‘Reduced Redundancy’ • Original vs. derived assets : 33% savings • Single reference and consistency • Control, accurate logs and tracking Reduced Redundancy Storage ‘RRS’
    142. 142. Cost Aware Architecting to Reduce costs of DB 4. Read Replicas and/or ElastiCache (‘Database Smarts’) • • • • Scale out and share work Optimal performance, minimize load Enhance reliability, ensure data safety Cost reduction
    143. 143. Cost Aware Architecting to Reduce costs of Test/Dev 5. Rapid proto-typing & Lean Dev/Test • Inexpensive idea validation • Seamless switch over and versioning • Rapid dev / test agility
    144. 144. Scale Getting to Profitability Profitability 03 04 Pricing Models Cost Aware Architecting Total Cost of Ownership
    145. 145. When calculating TCO… #1 Start by understanding your use cases & usage patterns
    146. 146. Traditional HW / Hosting WASTE On and Off Fast Growth Variable peaks Predictable peaks CUSTOMER DISSATISFACTION
    147. 147. AWS = Elastic Capacity On and Off Fast Growth Variable peaks Predictable peaks
    148. 148. When calculating TCO… #1 Start by understanding your use cases & usage patterns #2 Apples to Apples – Take all the fixed costs into consideration
    149. 149. When calculating TCO… #1 Start by understanding your use cases & usage patterns #2 Apples to Apples – Take all the fixed costs into consideration #3 Leverage ‘Cost Aware Architecting’ to reduce resources
    150. 150. Traditional Hosting vs AWS 60 # of (virtual) servers 50 40 30 20 10 0 Hosting Hosting Offload to S3 Caching with CF AutoScaling Etc.
    151. 151. When calculating TCO… #1 Start by understanding your use cases & usage patterns #2 Apples to Apples – Take all the fixed costs into consideration #3 Leverage ‘Cost Aware Architecting’ to reduce resources #4 Include pricing models (RI, Spot) and economies of scale
    152. 152. “Based on a True Story” Margin Growth 54% reduction in unit costs -10% -20% price drop RI purchase in S3 -22% Migration Cassandra to Dynamo -18% Price drop in S3 of 25%
    153. 153. When calculating TCO… #1 Start by understanding your use cases & usage patterns #2 Apples to Apples – Take all the fixed costs into consideration #3 Leverage ‘Cost Aware Architecting’ to reduce resources #4 Include pricing models (RI, Spot) and economies of scale #5 Take a look at what’s included: Intangible Cost Savings !
    154. 154. Did you know? Free Usage Tier Free Services Data Transfer AWS Elastic Beanstalk AWS CloudFormation AWS IAM Auto Scaling Consolidated Billing No Charge for New Customers Amazon EC2 Amazon RDS Amazon ELB Amazon S3 Amazon EBS For All Customers Amazon SQS/SNS Amazon DynamoDB Amazon SES Amazon SWF And more… Inbound Data Transfer Data Transfer between Instances within an Availability Zone
    155. 155. Trusted Advisor
    156. 156. A premium security spec at non-premium prices • VPC • Direct connect and VPC • Dedicated instances Network ACL • Identity & Access • Multi-Factor Authentication Management • CloudHSM S3 Encryption • RDS Oracle transparent • • Security groups for EC2 encryption
    157. 157. DEMO Getting to Scale Off-loading of static content to CloudFront to reduce required server capacity
    158. 158. So what does this mean in terms of costs? Standard Architecture Month Medium EC2 instances 4 $ 485 AWS Data Transfer Out 1Tb $ 194 TOTAL $ 679 Optimized Architecture Month Medium EC2 instances 1 $ 121 CloudFront Data Transfer Out 1Tb $ 168 CloudFront Requests $1.89 TOTAL $ 291 57% lower cost – 6 x faster
    159. 159. Thank You aws.amazon.com/start-ups aws.amazon.com/ko/activate
    160. 160. Getting to Profitability on AWS the beatpacking company
    161. 161. 스타트업 인프라 선택의 고려요소 초기 안정성 투자비용 인력
    162. 162. MONEY
    163. 163. AWS 비용 구조 Amazon EC2 대부분의 경우 가장 많은 부분을 차지
    164. 164. EC2 절약의 2가지 키워드 24 시간 내내 같은 양의 인스턴스를 사용할 필요가 없다.
    165. 165. EC2 절약의 2가지 키워드 On-Demand와 멀어질 수록 비용은 최적화 된다.
    166. 166. AWS EC2 Instance Types On-Demand • Pay As You Go • 원하는 언제든 생성/삭제 가능 • 시간당 가장 비싸게 이용
    167. 167. AWS EC2 Instance Types Reserved • • • • 1년 혹은 3년의 기간 + 사용 정도로 미리 약정 On-Demand 대비 저렴한 시간당 요금 계약하는 만큼 언제든 이용 가능 초기 선결제 금액
    168. 168. EC2 Spot Instance AWS 가용영역에 존재하는 여유 자원을 경매를 통해 이용 인스턴스 생명 주기와 수량을 통제할 수 없음
    169. 169. EC2 Spot Instance 하지만, 잘만 활용하면 최대 80% 정도 비용 감축 가능
    170. 170. 요금 비교 시간당(달 러) 시간당(원) 할인율 On-Demand $0.740 792.48 Reserved/1yr $0.511 547.49 -31% Reserved/3yr $0.358 383.56 -51% Spot $0.192 205.71 -74% AWS Tokyo Region / 1a / c1.xlarge / 2013-10-12 환율 기준 Reserved Heavy Utilization, 선결제 금액을 시간당 환산 반영
    171. 171. EC2 Spot Instance c1.xlarge / us-east
    172. 172. EC2 Spot Instance c1.xlarge / us-east
    173. 173. EC2 Spot Instance • 가용영역에 따라 서로 다른 가격 • 가용영역에 따른 서로 다른 패턴 • 반면 어떤 가용영역은 계속 안정된 가격 흐름을 보인다 • 주된 가용영역 선택에 있어 고려 요소
    174. 174. EC2 Spot Instance – 입찰 전략 • On-Demand 가격에 입찰하여 가격 통제 • 그 시각 최저가로 낙찰되므로 무조건 저액을 써낼 필요는 없음
    175. 175. EC2 Spot Instance c1.xlarge / ap-northeast-1
    176. 176. EC2 Spot Instance Auto Scaling Spot의 단점인 인스턴스 생명주기를 관리하지 못하는 점 AutoScaling 전략을 통해 극복
    177. 177. EC2 Spot Instance + AutoScaling On-Demand Group • 부하 증가에 천천히 반응하여 Scale-Up • 부하 감소에 빠르게 반응하여 Scale-Down Spot Group • 부하 증가에 빠르게 반응하여 Scale-Up • 부하 감소에 천천히 반응하여 Scale-Down Spot 인스턴스 위주로 부하를 수용하고, Spot 인스턴스 부족분을 On-Demand 로 수용
    178. 178. EC2 Spot Instance + AutoScaling Spot : 5분간 평균 CPU이용률 40% OD : 5분간 평균 CPU이용률 60% 6:00 9:00 12:00 15:00 On-Demand 18:00 Spot Load 21:00 0:00
    179. 179. EC2 Spot Instance + AutoScaling Spot 확보에 따른 On-Demand Scale-Down Spot 확보에 실패한 경우 On-Demand가 Scale-Up 6:00 9:00 12:00 15:00 On-Demand 18:00 Spot Load 21:00 0:00
    180. 180. EC2 Spot Instance + AutoScaling BEAT API 서버 비용 비교 350 301.92 300 77% 250 200 150 100 68.448 59.144 On-Demand + Spot RI(1yr) + Spot 50 0 On-Demand 일 비용($)
    181. 181. ( 세줄)정리 • Spot 인스턴스를 최대한 활용하여 비용 절감 • Spot 인스턴스의 단점을 AutoScaling 전략으로 커버 • 어느 정도 부하 패턴이 일정해 지면 On-Demand 인스턴스를 RI 인스턴스로 변경
    182. 182. Q&A 감사합니다! kkung@beatpacking.com

    ×