SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Writing Applications at Cloud Scale
by Matt Ryan
Tuesday, May 7, 13
What is “Cloud Computing”?
Pooled computing resources available to any subscriber
Available over network
Elasticity of resources
Self-servicing / automated resource deployment
Metered billing
Source: The NIST Definition of Cloud Computing (http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf)
Tuesday, May 7, 13
Cloud Implications - Elasticity
Your app needs to support any number of users
Your app needs to be able to run on any number of machines
Your app achieves scalability by adding machines
Your app needs to be built atop elastic resources and infrastructure
Tuesday, May 7, 13
Cloud Implications - Self-Service
Your users can scale their usage up or down automatically on their own
The resources your app uses can grow and shrink based on demand
Tuesday, May 7, 13
Cloud Implications
You have to assume your app is multi-machine and asynchronous
You have to rely on replacements for many operating system primitives
Programming language is not that important for scale
Tuesday, May 7, 13
#!/usr/bin/env python
from magic import magician
from voodoo import voodoo_foo
class uber_magic_foo(magician):
def say_alakazam(self):
voodoo_foo()
self.impress_audience()
if __name__ == ‘__main__’:
umf = uber_magic_foo()
umf.say_alakazam()
+
≠
Tuesday, May 7, 13
Tuesday, May 7, 13
Tuesday, May 7, 13
Tuesday, May 7, 13
Tuesday, May 7, 13
Tuesday, May 7, 13
Tuesday, May 7, 13
Your App
Tuesday, May 7, 13
Your App Your AppYour App
Your App Your AppYour App
Your App Your AppYour App
Tuesday, May 7, 13
Your App
Tuesday, May 7, 13
Your App
Compute
Storage
Messaging
Configuration
Security
Tuesday, May 7, 13
So why do I care?
Tuesday, May 7, 13
Tuesday, May 7, 13
Demo: AudioFile v.1
Tuesday, May 7, 13
Typical Approaches to Scalability
Use multithreading / multiple processes
Profile / look for hotspots
Batch file I/O / buffer / cache
Cluster RDBMS / split or shard DB
Rewrite in C / Assembly
Tuesday, May 7, 13
Demo: AudioFile v.2
Tuesday, May 7, 13
Preparing for the cloud
Segregate application from infrastructure
Isolate components that can be replaced by cloud-based services
File storage, thread execution, database access...
Simulate cloud computing metaphors
Producer/consumer, asynchronous processing...
Tuesday, May 7, 13
Demo: AudioFile v.3
Tuesday, May 7, 13
A Cloud-Scale App
SQLite database replaced with MongoDB
Other options: CouchDB, Cassandra, Redis...
Threadpool replaced with ActiveMQ + workers
Other options: RabbitMQ, 0MQ, Starling...
Other possibilities:
Use Storm to manage producers and consumers
Use Zookeeper to manage app configuration
Tuesday, May 7, 13
Takeaways
Cloud apps are not just “on the Internet” — they are apps that perform at
cloud scale
Cloud scale apps have to be designed that way from the start
Cloud scale is the expectation for 21st century applications
Tuesday, May 7, 13
Matt Ryan
@mattvryan
http://www.mvryan.org
https://github.com/mattvryan
Tuesday, May 7, 13
Licensing
Slide 7
Network cables: Source: http://www.freefoto.com, License: CC BY-NC-ND 3.0
Cloud: Public Domain
Slide 8 - Disc Drive: Source: Jeff Kubina, License: CC BY-SA 2.0
Slide 9 - Padlock and Key: Public Domain
Slide 10 - Wild Rabbits at Edinburgh Zoo: Source: Worm That Turned via Wikimedia Commons, License: CC BY-SA 3.0
Slide 11 - Gear: Public Domain
Slide 12 - Message in a Bottle: Source: copy-ninja-Alex, License: CC BY-NC-ND 3.0
Slide 13 - Stockholm Public Library: Source: Marcus Hansson via Wikimedia Commons, License: CC BY 2.0
Slide 19 - Garmin GPS: Source: Joe Gallagher, License: CC BY-NC-ND 2.0
All other content: Created by Matt Ryan CC BY-SA 3.0
Tuesday, May 7, 13

Mais conteúdo relacionado

Semelhante a Writing Applications at Cloud Scale

Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...
Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...
Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...IIJSRJournal
 
Cloud computing
Cloud computingCloud computing
Cloud computingSyam Lal
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaPrashant Gupta
 
Cloud computing and its application in libraries
Cloud computing and its application in librariesCloud computing and its application in libraries
Cloud computing and its application in librariesNabi Hasan
 
A STUDY ON CLOUD STORAGE
A STUDY ON CLOUD STORAGEA STUDY ON CLOUD STORAGE
A STUDY ON CLOUD STORAGEDaniel Wachtel
 
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...IOSR Journals
 
From Grid to Cloud
From Grid to CloudFrom Grid to Cloud
From Grid to Cloudgojkoadzic
 
cloudintro-lec01.ppt
cloudintro-lec01.pptcloudintro-lec01.ppt
cloudintro-lec01.pptMunmunSaha7
 

Semelhante a Writing Applications at Cloud Scale (20)

About clouds
About cloudsAbout clouds
About clouds
 
pptseminar.pptx
pptseminar.pptxpptseminar.pptx
pptseminar.pptx
 
Above theclouds
Above thecloudsAbove theclouds
Above theclouds
 
Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...
Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...
Methodologies for Enhancing Data Integrity and Security in Distributed Cloud ...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant upta
 
Cloud computing and its application in libraries
Cloud computing and its application in librariesCloud computing and its application in libraries
Cloud computing and its application in libraries
 
A STUDY ON CLOUD STORAGE
A STUDY ON CLOUD STORAGEA STUDY ON CLOUD STORAGE
A STUDY ON CLOUD STORAGE
 
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
Implementing SAAS: Cloud Computing and Android Based Application Framework fo...
 
Ey35869874
Ey35869874Ey35869874
Ey35869874
 
From Grid to Cloud
From Grid to CloudFrom Grid to Cloud
From Grid to Cloud
 
Cloud Computing Neccesity
Cloud Computing  NeccesityCloud Computing  Neccesity
Cloud Computing Neccesity
 
cloud computing by satwik
cloud computing by satwikcloud computing by satwik
cloud computing by satwik
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloudcoputing
CloudcoputingCloudcoputing
Cloudcoputing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
cloudintro-lec01.ppt
cloudintro-lec01.pptcloudintro-lec01.ppt
cloudintro-lec01.ppt
 
cloudintro-lec01.ppt
cloudintro-lec01.pptcloudintro-lec01.ppt
cloudintro-lec01.ppt
 
cloudintro-lec01.ppt
cloudintro-lec01.pptcloudintro-lec01.ppt
cloudintro-lec01.ppt
 
cloudintro-lec01.ppt
cloudintro-lec01.pptcloudintro-lec01.ppt
cloudintro-lec01.ppt
 

Último

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Writing Applications at Cloud Scale

  • 1. Writing Applications at Cloud Scale by Matt Ryan Tuesday, May 7, 13
  • 2. What is “Cloud Computing”? Pooled computing resources available to any subscriber Available over network Elasticity of resources Self-servicing / automated resource deployment Metered billing Source: The NIST Definition of Cloud Computing (http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf) Tuesday, May 7, 13
  • 3. Cloud Implications - Elasticity Your app needs to support any number of users Your app needs to be able to run on any number of machines Your app achieves scalability by adding machines Your app needs to be built atop elastic resources and infrastructure Tuesday, May 7, 13
  • 4. Cloud Implications - Self-Service Your users can scale their usage up or down automatically on their own The resources your app uses can grow and shrink based on demand Tuesday, May 7, 13
  • 5. Cloud Implications You have to assume your app is multi-machine and asynchronous You have to rely on replacements for many operating system primitives Programming language is not that important for scale Tuesday, May 7, 13
  • 6. #!/usr/bin/env python from magic import magician from voodoo import voodoo_foo class uber_magic_foo(magician): def say_alakazam(self): voodoo_foo() self.impress_audience() if __name__ == ‘__main__’: umf = uber_magic_foo() umf.say_alakazam() + ≠ Tuesday, May 7, 13
  • 14. Your App Your AppYour App Your App Your AppYour App Your App Your AppYour App Tuesday, May 7, 13
  • 17. So why do I care? Tuesday, May 7, 13
  • 20. Typical Approaches to Scalability Use multithreading / multiple processes Profile / look for hotspots Batch file I/O / buffer / cache Cluster RDBMS / split or shard DB Rewrite in C / Assembly Tuesday, May 7, 13
  • 22. Preparing for the cloud Segregate application from infrastructure Isolate components that can be replaced by cloud-based services File storage, thread execution, database access... Simulate cloud computing metaphors Producer/consumer, asynchronous processing... Tuesday, May 7, 13
  • 24. A Cloud-Scale App SQLite database replaced with MongoDB Other options: CouchDB, Cassandra, Redis... Threadpool replaced with ActiveMQ + workers Other options: RabbitMQ, 0MQ, Starling... Other possibilities: Use Storm to manage producers and consumers Use Zookeeper to manage app configuration Tuesday, May 7, 13
  • 25. Takeaways Cloud apps are not just “on the Internet” — they are apps that perform at cloud scale Cloud scale apps have to be designed that way from the start Cloud scale is the expectation for 21st century applications Tuesday, May 7, 13
  • 27. Licensing Slide 7 Network cables: Source: http://www.freefoto.com, License: CC BY-NC-ND 3.0 Cloud: Public Domain Slide 8 - Disc Drive: Source: Jeff Kubina, License: CC BY-SA 2.0 Slide 9 - Padlock and Key: Public Domain Slide 10 - Wild Rabbits at Edinburgh Zoo: Source: Worm That Turned via Wikimedia Commons, License: CC BY-SA 3.0 Slide 11 - Gear: Public Domain Slide 12 - Message in a Bottle: Source: copy-ninja-Alex, License: CC BY-NC-ND 3.0 Slide 13 - Stockholm Public Library: Source: Marcus Hansson via Wikimedia Commons, License: CC BY 2.0 Slide 19 - Garmin GPS: Source: Joe Gallagher, License: CC BY-NC-ND 2.0 All other content: Created by Matt Ryan CC BY-SA 3.0 Tuesday, May 7, 13