SlideShare une entreprise Scribd logo
1  sur  24
Harnessing the Cloud to Create Social Mobile Apps That Scale Jim Zimmerman CTO, Thuzi     (Facebook Preferred Partner)@jimzim Abe Pachikara US Cloud Computing Developer Adoption Lead, Microsoft Twitter:  @abepachikara
Agenda – Using the Cloud to… The Grand Intersection: Mobile, Social, Success  The Challenges How to, Lessons, Tips and Tricks Examples 1
Mobile Usage of Smartphones Simply Exploding Smartphones up 75% in 2010 worldwide from 310 million in 2010 to 390 million in 2013 - IDC Source: IDC Source: The Nielsen Company 2
900  Million 90 Social is Getting Bigger Too, Particularly on Mobile 200  Million 2x # Objects that people interact with (pages, groups, events and community pages)  Average user creates 90 content pieces each month # Active users currently accessing Facebook through their mobile devices Use of Facebook from a mobile device vs. non-mobile device Source: Facebook 3
Social Promotions running on Facebook spike easy Fans Week 1 Week 2 Outback Steakhouse  350,000 people sign up - - in 12 days 670,000 in 5 weeks, (but that is only .17% of Facebook at time of the promotion!) Day 1 Signups for Thuzi’s clients 4
But Social Apps, Well That’s Another Story:They Need Amazing Scale The Backend Need: Run 1 million updates, daily (that’s right,  daily !) …. And Each User Has 50 Friends … Let’s say only 20k users buy the app, run it on… Mobile phones & Tablets The App: Friend Related Status or Data 5
So Let’s Talk About Relevant Design Patterns The Backend Need: Run 1 million updates, daily (that’s right,  daily !) The App: Friend Related Status or Data
Multiple Devices All Talking to the Cloud If the app you are creating is successful, how will you scale? How quick do you want to get to market? Database, document storage, async coding practices Nearly unlimited access to more compute power when needed Do you want to spend more money on IT staff to manage servers or spend more on developers 7
So…. What is the Windows Azure Platform? Web Scale App Fabric Compute Management Storage (“No-SQL “) CDN Data Sync Marketplace Relational database Web Services APIs (for interoperability and portability)  Utility Billing Model Developer Experience - Use existing skills and tools. Open Platform based on RESTful standards Housekeeping:  See “Speaker Notes” sections for useful resources 8
Data Strategies for Cloud Scale Apps Partitioning data key to cloud scale apps Horizontally partition for scale out Vertically partition for cost/performance Choose appropriate partition keys   Table storage requires different approach to data modeling.  Don’t be afraid to aggressively de-normalize and duplicate data
Scaling to millions in the Cloud The Device: Mobile phone Tablet NoSQL Storage Web Server Instances (Web Roles) Background Processes (WorkerRoles) Get Newsfeed Message Queues Post Message Relational Database External APIs 10
Client side Javascript and HTML 5 Features $.post("./Service/AddMessage", personMsg, function (result) { 	$.ajax(“./Service/GetFeed”, function (r) { saveToLocalStorage(“data”, r.data); }); }); function saveToLocalStorage(key, value) {         if (typeof (localStorage) == 'undefined') {             // alert('Your browser does not support HTML5 localStorage. Try upgrading.');         } else {             try { var serialized = JSON.stringify(value); localStorage.setItem(key, serialized); //saves to the database, "key", "value" 	} catch (e) {                 alert(e);             }         }     } 11
Using the Windows Azure Toolkit for scheduling CloudEngineengine = new CloudEngine();             Action<MessageHandlerSettings> configSettings = c =>             { c.BatchSize = 32; c.MaxThreads = 1; c.MaxRetries = 1; c.IntervalBetweenRuns = TimeSpan.FromMinutes(1);             }; engine.WithMessageHandler<PersonMessage, CallPersonCommand>(configSettings); // Azure C# Side varblob = new EntitiesBlobContainer<PersonMessageView>(); vardata = blob.Get(“personMessages"); varmsgs= data.AllMessages; return msgs;
Examples – Ruby Tuesday Bracket challenge Leaderboard How do you figure out who is winning among your friends Bracket points Show points so far on individual brackets 20 points win round 1, 40 round 2, 80 round 3, etc 13
Ruby Tuesday Facebook Leaderboard 14
Ruby Tuesday Bracket – Viewable from Devices also 15
TownHall A social engagement platform hosted on Windows Azure and available for organizations to customize and monetize 16
Building Blocks TownHall Also:  ,[object Object]
iPhone, iPad, WP7, Blackberry, Android – April 30th
Titanium has “Accelerator” that is cross platform
Scales very well
Can handle 8 million per hour
To deploy…
Create Azure account

Contenu connexe

En vedette

Photo Fundamentals Part 01
Photo Fundamentals Part 01Photo Fundamentals Part 01
Photo Fundamentals Part 01Abe Pachikara
 
Ht ylevaade ja_plaanid
Ht ylevaade ja_plaanidHt ylevaade ja_plaanid
Ht ylevaade ja_plaanidPapitrolla
 
Cloud computing pioneers - remarkable examples 2010-11-05
Cloud computing pioneers - remarkable examples 2010-11-05Cloud computing pioneers - remarkable examples 2010-11-05
Cloud computing pioneers - remarkable examples 2010-11-05Abe Pachikara
 
10 Lovely words ...
10 Lovely words ...10 Lovely words ...
10 Lovely words ...rohanberi
 
二四班親會簡報
二四班親會簡報二四班親會簡報
二四班親會簡報ottoccchen
 
Role of the Laboratory in Antimicrobial Resistance Data
Role of the Laboratory in Antimicrobial Resistance DataRole of the Laboratory in Antimicrobial Resistance Data
Role of the Laboratory in Antimicrobial Resistance DataAnuj Sharma
 

En vedette (11)

VIKO esitlus
VIKO esitlusVIKO esitlus
VIKO esitlus
 
Esitlus
EsitlusEsitlus
Esitlus
 
Photo Fundamentals Part 01
Photo Fundamentals Part 01Photo Fundamentals Part 01
Photo Fundamentals Part 01
 
Defining Distance Education
Defining Distance EducationDefining Distance Education
Defining Distance Education
 
Ht ylevaade ja_plaanid
Ht ylevaade ja_plaanidHt ylevaade ja_plaanid
Ht ylevaade ja_plaanid
 
Ülesanne
ÜlesanneÜlesanne
Ülesanne
 
About Me
About MeAbout Me
About Me
 
Cloud computing pioneers - remarkable examples 2010-11-05
Cloud computing pioneers - remarkable examples 2010-11-05Cloud computing pioneers - remarkable examples 2010-11-05
Cloud computing pioneers - remarkable examples 2010-11-05
 
10 Lovely words ...
10 Lovely words ...10 Lovely words ...
10 Lovely words ...
 
二四班親會簡報
二四班親會簡報二四班親會簡報
二四班親會簡報
 
Role of the Laboratory in Antimicrobial Resistance Data
Role of the Laboratory in Antimicrobial Resistance DataRole of the Laboratory in Antimicrobial Resistance Data
Role of the Laboratory in Antimicrobial Resistance Data
 

Similaire à Harnessing the Cloud to Create Scalable Social Mobile Apps

Microsoft: Ride the new opportunity with the Microsoft Cloud Platform
Microsoft: Ride the new opportunity with the Microsoft Cloud PlatformMicrosoft: Ride the new opportunity with the Microsoft Cloud Platform
Microsoft: Ride the new opportunity with the Microsoft Cloud PlatformGabriele Bozzi
 
Building Enterprise Mashups - Web 2.0 conference
Building Enterprise Mashups - Web 2.0 conferenceBuilding Enterprise Mashups - Web 2.0 conference
Building Enterprise Mashups - Web 2.0 conferencemogrinz
 
Primend Pilvekonverents - Azure Infrastruktuur
Primend Pilvekonverents - Azure InfrastruktuurPrimend Pilvekonverents - Azure Infrastruktuur
Primend Pilvekonverents - Azure InfrastruktuurPrimend
 
Faster In The Cloud
Faster In The CloudFaster In The Cloud
Faster In The CloudPeter Coffee
 
Azure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriAzure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriKoray Kocabas
 
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...Modern Workplace Conference Paris
 
Kelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingKelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingDavid Chou
 
What is Microsoft Power Platform?
What is Microsoft Power Platform?What is Microsoft Power Platform?
What is Microsoft Power Platform?ArpanDesai18
 
The BUsiness of Windows Azure Platform
The BUsiness of Windows Azure PlatformThe BUsiness of Windows Azure Platform
The BUsiness of Windows Azure PlatformDan Moore
 
Overview on Azure Machine Learning
Overview on Azure Machine LearningOverview on Azure Machine Learning
Overview on Azure Machine LearningJames Serra
 
Whitepaper-Power-Platform-ENG.pdf
Whitepaper-Power-Platform-ENG.pdfWhitepaper-Power-Platform-ENG.pdf
Whitepaper-Power-Platform-ENG.pdfandinieldananty
 
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365Brian Culver
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011Gerardo Pardo-Castellote
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft 365 Developer
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsRichard Harbridge
 
Why Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionWhy Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionDenodo
 
SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365Brian Culver
 
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni PohlModern Workplace Conference Paris
 

Similaire à Harnessing the Cloud to Create Scalable Social Mobile Apps (20)

Microsoft: Ride the new opportunity with the Microsoft Cloud Platform
Microsoft: Ride the new opportunity with the Microsoft Cloud PlatformMicrosoft: Ride the new opportunity with the Microsoft Cloud Platform
Microsoft: Ride the new opportunity with the Microsoft Cloud Platform
 
Building Enterprise Mashups - Web 2.0 conference
Building Enterprise Mashups - Web 2.0 conferenceBuilding Enterprise Mashups - Web 2.0 conference
Building Enterprise Mashups - Web 2.0 conference
 
Primend Pilvekonverents - Azure Infrastruktuur
Primend Pilvekonverents - Azure InfrastruktuurPrimend Pilvekonverents - Azure Infrastruktuur
Primend Pilvekonverents - Azure Infrastruktuur
 
IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013IBM Rational HATS Overview 2013
IBM Rational HATS Overview 2013
 
Faster In The Cloud
Faster In The CloudFaster In The Cloud
Faster In The Cloud
 
Azure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriAzure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleri
 
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
 
Kelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud ComputingKelley Blue Book and Cloud Computing
Kelley Blue Book and Cloud Computing
 
What is Microsoft Power Platform?
What is Microsoft Power Platform?What is Microsoft Power Platform?
What is Microsoft Power Platform?
 
The BUsiness of Windows Azure Platform
The BUsiness of Windows Azure PlatformThe BUsiness of Windows Azure Platform
The BUsiness of Windows Azure Platform
 
Overview on Azure Machine Learning
Overview on Azure Machine LearningOverview on Azure Machine Learning
Overview on Azure Machine Learning
 
Whitepaper-Power-Platform-ENG.pdf
Whitepaper-Power-Platform-ENG.pdfWhitepaper-Power-Platform-ENG.pdf
Whitepaper-Power-Platform-ENG.pdf
 
MaheshCV_Yepme
MaheshCV_YepmeMaheshCV_Yepme
MaheshCV_Yepme
 
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
SPS Utah 2016 - Unlock your big data with analytics and BI on Office 365
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
 
Why Data Virtualization? An Introduction
Why Data Virtualization? An IntroductionWhy Data Virtualization? An Introduction
Why Data Virtualization? An Introduction
 
SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365SPT 104 Unlock your big data with analytics and BI on Office 365
SPT 104 Unlock your big data with analytics and BI on Office 365
 
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
 

Dernier

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Dernier (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Harnessing the Cloud to Create Scalable Social Mobile Apps

  • 1. Harnessing the Cloud to Create Social Mobile Apps That Scale Jim Zimmerman CTO, Thuzi (Facebook Preferred Partner)@jimzim Abe Pachikara US Cloud Computing Developer Adoption Lead, Microsoft Twitter: @abepachikara
  • 2. Agenda – Using the Cloud to… The Grand Intersection: Mobile, Social, Success  The Challenges How to, Lessons, Tips and Tricks Examples 1
  • 3. Mobile Usage of Smartphones Simply Exploding Smartphones up 75% in 2010 worldwide from 310 million in 2010 to 390 million in 2013 - IDC Source: IDC Source: The Nielsen Company 2
  • 4. 900 Million 90 Social is Getting Bigger Too, Particularly on Mobile 200 Million 2x # Objects that people interact with (pages, groups, events and community pages) Average user creates 90 content pieces each month # Active users currently accessing Facebook through their mobile devices Use of Facebook from a mobile device vs. non-mobile device Source: Facebook 3
  • 5. Social Promotions running on Facebook spike easy Fans Week 1 Week 2 Outback Steakhouse 350,000 people sign up - - in 12 days 670,000 in 5 weeks, (but that is only .17% of Facebook at time of the promotion!) Day 1 Signups for Thuzi’s clients 4
  • 6. But Social Apps, Well That’s Another Story:They Need Amazing Scale The Backend Need: Run 1 million updates, daily (that’s right, daily !) …. And Each User Has 50 Friends … Let’s say only 20k users buy the app, run it on… Mobile phones & Tablets The App: Friend Related Status or Data 5
  • 7. So Let’s Talk About Relevant Design Patterns The Backend Need: Run 1 million updates, daily (that’s right, daily !) The App: Friend Related Status or Data
  • 8. Multiple Devices All Talking to the Cloud If the app you are creating is successful, how will you scale? How quick do you want to get to market? Database, document storage, async coding practices Nearly unlimited access to more compute power when needed Do you want to spend more money on IT staff to manage servers or spend more on developers 7
  • 9. So…. What is the Windows Azure Platform? Web Scale App Fabric Compute Management Storage (“No-SQL “) CDN Data Sync Marketplace Relational database Web Services APIs (for interoperability and portability) Utility Billing Model Developer Experience - Use existing skills and tools. Open Platform based on RESTful standards Housekeeping: See “Speaker Notes” sections for useful resources 8
  • 10. Data Strategies for Cloud Scale Apps Partitioning data key to cloud scale apps Horizontally partition for scale out Vertically partition for cost/performance Choose appropriate partition keys Table storage requires different approach to data modeling. Don’t be afraid to aggressively de-normalize and duplicate data
  • 11. Scaling to millions in the Cloud The Device: Mobile phone Tablet NoSQL Storage Web Server Instances (Web Roles) Background Processes (WorkerRoles) Get Newsfeed Message Queues Post Message Relational Database External APIs 10
  • 12. Client side Javascript and HTML 5 Features $.post("./Service/AddMessage", personMsg, function (result) { $.ajax(“./Service/GetFeed”, function (r) { saveToLocalStorage(“data”, r.data); }); }); function saveToLocalStorage(key, value) { if (typeof (localStorage) == 'undefined') { // alert('Your browser does not support HTML5 localStorage. Try upgrading.'); } else { try { var serialized = JSON.stringify(value); localStorage.setItem(key, serialized); //saves to the database, "key", "value" } catch (e) { alert(e); } } } 11
  • 13. Using the Windows Azure Toolkit for scheduling CloudEngineengine = new CloudEngine(); Action<MessageHandlerSettings> configSettings = c => { c.BatchSize = 32; c.MaxThreads = 1; c.MaxRetries = 1; c.IntervalBetweenRuns = TimeSpan.FromMinutes(1); }; engine.WithMessageHandler<PersonMessage, CallPersonCommand>(configSettings); // Azure C# Side varblob = new EntitiesBlobContainer<PersonMessageView>(); vardata = blob.Get(“personMessages"); varmsgs= data.AllMessages; return msgs;
  • 14. Examples – Ruby Tuesday Bracket challenge Leaderboard How do you figure out who is winning among your friends Bracket points Show points so far on individual brackets 20 points win round 1, 40 round 2, 80 round 3, etc 13
  • 15. Ruby Tuesday Facebook Leaderboard 14
  • 16. Ruby Tuesday Bracket – Viewable from Devices also 15
  • 17. TownHall A social engagement platform hosted on Windows Azure and available for organizations to customize and monetize 16
  • 18.
  • 19. iPhone, iPad, WP7, Blackberry, Android – April 30th
  • 20. Titanium has “Accelerator” that is cross platform
  • 22. Can handle 8 million per hour
  • 25. Run scripts to deploy the database
  • 26. Use VS Express 2010 or the trial
  • 29. Themes available out of the box
  • 30. Points + Badges for engagement
  • 36. Examples of Townhall in Actual Use NASA JPL “BE A MARTIAN” UNITED WAY WORLDWIDE “CAMPAIGN FOR COMMON GOOD” COLOMBIAN PRESIDENTIAL CANDIDATE CEOs FOR CITIES “OF, BY AND FOR YOU” NEBNY EGYPTIAN CROWDSOURCING US HOUSE REPUBLICANS “AMERICA SPEAKING OUT” O’REILLY MEDIA GOV 2.0 FORUM WHITE HOUSE/US DEPT OF EDUCATION “ASK ARNE”b
  • 37.
  • 38. Azure Toolkit – http://azuretoolkit.codeplex.com/
  • 39.
  • 40. Team blog postingTry Azure for yourself: http://bit.ly/jimonazure, Promocodejimonazure Apps To Repurpose TownHall App can be found here – Next major rev will be delivered by April 30 Here’s a useful datasheet 19
  • 41. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 42. Appendix – Other resources you may like
  • 43. “Growing Fast“ “On and Off “ Inactivity Period Compute Compute Average Usage Usage Average Time Time On and off workloads (e.g. HPC or batch job) Over provisioned capacity is wasted Time to market can be cumbersome Successful services needs to grow/scale Remove upfront CAPEX investment barrier Complex lead time for deployment “(Un)predictable Bursting“ “Business Critical LOB“ Compute Compute Average Usage Average Usage Time Time Unexpected/unplanned peak in demand Services with seasonality trends Can’t over provision for extreme cases Business/divisional opportunities Time to market – agile support of business Development and deployment backlog Cloud Scenarios
  • 44. Extra Credit: Windows Azure Resources Learn “What is the Windows Azure Platform?” 4 min video Windows Azure Case Studies Deploying a large scale app, Virtual Lab Azure developer center Using your MSDN Premium Benefits Microsoft’s Datacenters Security Talk Series Watch Professional Developers Conference sessions Get Windows Azure Tools for Microsoft Visual Studio Windows Azure Platform Training Kit Interoperability tools Join BizSpark, for startups The vibrant online community – https://channel9.msdn.com/Shows/Cloud+Cover Also on Facebook – www.facebook.com/windowsazure

Notes de l'éditeur

  1. Resources:Whitepapers You May LikeSQL Azure: http://www.microsoft.com/en-us/sqlazure/whitepapers.aspxWindows Azure: http://www.microsoft.com/windowsazure/whitepapers/default.aspxInteroperability assets: http://www.interoperabilitybridges.com/Discussion:Azure Platform TenetsWeb scaleHaving enough resources for your app, when you need itAs a company we understand scale given such cloud solutions as Windows Update, MSN, XBox liveUtility billing model - pay for what you useAn Open platformAny comment that we are a closed platform is simply incorrectBased on open RESTful standards to engage any device using HTTP servicesResurces for Eclipse, PHP, Java and othersVisit http://www.interoperabilitybridges.com/PaaSThis is “Platform as a Service” – building a new app or re-architecting an existing one to evolve it in some manner. The Platform enables you to transform your current solutions to take advantage of the cloud, yet harness on-prem servicesWhy PaaS?Focus your precious headcount on the app and customer dataYour on-prem datacenters have inconsistent infrastructures while Azure is a standardized environmentYou don’t spend time / effort to take care of OS patches and security upgrades, because Azure is maintained for you. Additional IT capacity does not mean you are swamping your team with more maintenanceYou don’t need to plan for peak load, you just use the on-demand scaleYou don’t worry about how to avoid and recover from failures, you use something built to expect and withstand failureMicrosoft’s PaaS is about the developer harnessing a whole range of possibilities And about non-MSFT technologies like Java, PHP, Ruby, etc.We are unique in the ability to federate and have single identity across our platformsAvailable in 41 countries (as of April 2011)AustraliaAustriaBelgiumBrazilCanadaChileColombiaCosta RicaCyprusCzech RepublicDenmarkFinlandFranceGermanyGreeceHong KongHungaryIndiaIrelandIsraelItalyJapanLuxemburgMalaysiaMexicoNetherlandsNew ZealandNorwayPeruPhilippinesPolandPortugalPuerto RicoRomaniaSingaporeSpainSwedenSwitzerlandTrinidad and TobagoUKUnited States