Presentation is loading. Please wait.

Presentation is loading. Please wait.

Scaling Data and Apps in the Cloud Data Masters. Special Thanks To… Rokk3r Labs Charles Irizarry & Charles Walter www.rokk3rlabs.co.

Similar presentations


Presentation on theme: "Scaling Data and Apps in the Cloud Data Masters. Special Thanks To… Rokk3r Labs Charles Irizarry & Charles Walter www.rokk3rlabs.co."— Presentation transcript:

1 Scaling Data and Apps in the Cloud Data Masters

2 Special Thanks To… Rokk3r Labs Charles Irizarry & Charles Walter www.rokk3rlabs.co

3 Our Sponsor! Brian Nunez 954-527-0090

4  Short bio about me…  Andrew Simkovsky  15 years working with database technology  Oracle, MySQL/MariaDB, SQL Server, Postgres  Redis, MongoDB, CouchDB, Cassandra, Neo4j  Worked across many industries  Consulting, Retail, Telecommunications, Energy  Data, Marketing, Gaming, Health Care

5 DBTekPro www.dbtekpro.com andrew@dbtekpro.com @asimkovsky

6 Let’s Get Started!

7 Scaling: What’s it really about?  User access to business logic and data  Either reading or writing, or both  Non-user access to business logic and data  Background data processing Scaling is making sure that this happens without flaw at all sizes and access volumes!

8 Cost Thresholds  Micro – light processing, simple activities, handful of users  Small – tens of users  Medium – hundreds of users  Large – thousands of users  Huge – heavy processing, diverse activities, lots of users

9 Cost Thresholds – The Old Way waste

10 Cost Thresholds – The Cloud Scaling Way

11 Scaling Different Layers  Network  Data storage  Application / functional logic  Presentation to user

12 Example: Word Processor (1 user)

13 Example: Word Processor (many users) PRESENTATION APPLICATION LOGIC DATA STORAGE

14 Scaling Needs for Different Layers  Network  Request volume  Traffic isolation  Geographical  Data storage  Possibly separate reads & writes  Separate bulk access vs individual  Complex data vs simple data  Static data vs changing data  Different types of database engines based on type of access

15 Scaling Needs for Different Layers  Application / functional logic  Separating application by functionality to create services  Each service can scale independently  Groups of simple services can create highly customized applications  Presentation to user  Web servers server only rendered pages  Leave logic to the application  Exception: real-time, user-facing functionality only needed by a single user within a session

16 Scaling Strategy Ideal Environment that simply evolves from one threshold to the next with minimal intervention or impact Next Best Environment that evolves from one threshold to the next with some impact, but is planned & controlled NOT ideal Hit limitations unexpectedly, causing outages, downtime, performance impact, and you are scrambling to fix it

17 Infrastructure as as Service “As A Service” Platform as a Service Software as a Service

18 Infrastructure as a Service  Amazon Web Services  Google Cloud  Microsoft Azure  Rackspace  OpenShift  Do It Yourself

19 IaaS Management Frameworks Management Frameworks Infrastructure as as Service Platform as a Service Software as a Service

20 IaaS Management Frameworks  AWS API  OpenStack  CloudStack  Euclayptus  Chef  Puppet  Ansible  SaltStack

21 Platform Service Providers  AWS Elastic Beanstalk  Google App Engine  Heroku  Cloud Foundry (Pivotal CF)  OutSystems  WaveMaker  Many others….

22 IaaS Management Frameworks Infrastructure as as Service Platform as a Service Software as a Service Management Frameworks PaaS Providers

23 PaaS Pros & Cons PROS:  Get started quickly  Very low initial cost  Little or no infrastructure knowledge needed  Performance metrics readily available  Can moderately scale easily Cons:  Lots of providers, difficult to choose  Some will not support all technologies  Little control over individual components  Switching from PaaS to self-managed can be tough

24 How do we put it together?

25 Example App Greeting Card Maker!!

26 Example App – Greeting Card Maker  Create, send, and receive custom greeting cards  Both web & mobile app front ends  Custom cards creator gadget  Manage contact lists & event calendar  Reminders of events  Notification of cards received & opened  Send “Thank You” responses  Online payments

27 Internal Needs  Store & manage data  User profiles  Contact lists  Personal event calendars  Storage for clip art, animations, other media  Interface to create greeting cards  Browser  Mobile app  Mechanism to render the final card as an animation  Mechanism to send notifications  Online payments  Application to handle all the logic

28 Conceptual User dataMultimedia Application BrowserMobile App Notifications

29 Micro Option 1 (traditional) All data (user + multimedia ) Application Browser Notifications Desktop or mobile All on single web server $3 - $40 / month No scaling Handful of users

30 Micro Option 2: PaaS (Heroku) Application Browser Notifications Desktop or mobile Heroku Container User Data Multimedia Caching $0 - $40 / month + add-ons Initial scaling Handful to hundreds of users

31 Micro Option 3: PaaS (Elastic Beanstalk) Application (EC2) Browser Notifications (SNS) Desktop or mobile Elastic Beanstalk Container User Data (RDS) Multimedia (S3) CloudFront $0-40 / month+ Initial scaling+ Handful to hundreds of users

32 Scaling Note… Micro Options 2 & 3 already enable you to scale from Micro to Small, and maybe to Medium!!

33 Moving On To Medium  Remember: Looking to minimize pain of crossing cost threshold  Let’s follow AWS path  Need thousands of users eventually  Need to ensure uptime  We get spikes of user activity  Holidays are especially tough!

34 Medium Option: AWS Application (EC2) Browser Notifications (SNS) Desktop or mobile User Data (RDS) Multimedia (S3) CloudFront $250 / month+ Hundreds of users+ EC2 c3.large x2 =$150 RDS t2.med x1 = $49 ELB = $18 SNS = $10 Transcoding = $10 Application (EC2) User Data (RDS) AZ1 AZ2 ELASTIC LOAD BALANCER

35 AWS Pricing Calculator https://calculator.s3.amazonaws.com/index.html

36 Large Option: AWS AZ1AZ2 AZ3AZ4 DB Applicatio n (EC2) CACHE HAProxy Applicatio n (EC2) CACHE HAProxy Applicatio n (EC2) CACHE HAProxy Applicatio n (EC2) CACHE HAProxy ROUTE53 Web Server

37 Further Scaling  Remember: Looking to minimize pain of crossing cost threshold  Get into the details per bottleneck  Inflate out: separation / specialization of functionality  Automation, automation, automation  Infrastructure components are cattle, not pets  Seek out new technology & tools

38 Questions?

39 Thank You For Coming! Please rate this Meet Up: www.meetup.com/data-masters (or go there to join!) Check out my blog and forums: www.dbtekpro.com


Download ppt "Scaling Data and Apps in the Cloud Data Masters. Special Thanks To… Rokk3r Labs Charles Irizarry & Charles Walter www.rokk3rlabs.co."

Similar presentations


Ads by Google