My cloud + Windows Phone app experience
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

My cloud + Windows Phone app experience

on

  • 1,026 views

Short slides about some of the app services and cloud basics used for the 4th & Mayor app, a Windows Phone foursquare app. Presented at a Windows Phone Garage event in Redmond, WA on 3/14/2013.

Short slides about some of the app services and cloud basics used for the 4th & Mayor app, a Windows Phone foursquare app. Presented at a Windows Phone Garage event in Redmond, WA on 3/14/2013.

Statistics

Views

Total Views
1,026
Views on SlideShare
922
Embed Views
104

Actions

Likes
1
Downloads
5
Comments
0

1 Embed 104

https://twitter.com 104

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

My cloud + Windows Phone app experience Presentation Transcript

  • 1. MY CLOUD +WINDOWS PHONE @jeffwilcox Developer, 4th & Mayor EXPERIENCE
  • 2. JEFF’S TOPICSMy cloud environment$$$The cloud APIs I exposeStaging and Production EnvironmentsConnecting to the cloud from my client applicationLogging and StatisticsMigration challengesScalePush Notifications for Node.js / Azure open source
  • 3. MY CLOUD ENVIRONMENTAmazon Web Services Windows Azure DNS (Route 53)  Web Sites Compute (EC2)  API Web Services (Node.js)  Web Site www.4thandmayor.com Load Balancing (ELB)  Staging Environment for APIs & main Web Site Storage (S3) & CDN  Live Tile Generation* Text and Email Notifications (SNS)  Cloud Service Worker Role: Mail Intra-region data transfer to 3rd party Processing services  Cloud Service Web Role: SSL Load BalancerMongoLab  Table Storage Service Hosted MongoDB in US-EAST-1AWS  User Data, Push Processing Queues  Virtual Machines  Linux: Statsd statistics & time/data store Hosted MongoDB in West US / Azure Store  Web Site Sessions  Windows Azure Store
  • 4. MY CLOUD ENVIRONMENTAmazon Web Services Windows Azure DNS (Route 53)  Web Sites $50-$100* Compute (EC2) $25-$150  API Web Services (Node.js) *trial/partially free compute  Web Site www.4thandmayor.com Load Balancing (ELB)  Staging Environment for APIs & main Web Site Storage (S3) & CDN  Live Tile Generation* Text and Email Notifications (SNS)  Cloud Service Worker Role: Mail Intra-region data transfer to 3rd party Processing services  Cloud Service Web Role: SSL Load BalancerMongoLab $40 Hosted MongoDB in US-EAST-1AWS  Table Storage Service  User Data, Push Processing Queues  Virtual Machines  Linux: Statsd statistics & time/data store Hosted MongoDB in West US / Azure Store  Web Site Sessions FREE  Windows Azure Store
  • 5. BILLS
  • 6. AZURE PORTAL ROCKS!
  • 7. CLOUD APISMy Services Storage-hosted services Push notification connections, disconnects,  What’s new content push URI changes  Known current version number Automated Crash Reports  Version-specific kill bits, global kill bit Email crash reports & mail parsing  Standard tiles Custom live tile generation 3rd Party Services App settings & preferences  Foursquare Continuous processing queue  Google Analytics  Live tiles, toasts, new users, upgrade logic, special tasks 3rd Party Tools  UserVoice ($0)  Platform/version-specific tasks & services  Tumblr ($0)  GitHub ($12)
  • 8. STAGING & PRODUCTIONDebug builds target my staging environmentStaging uses modified JSON values (keys, certificates, etc.)Git deployment with Azure Web Sites makes it quick & easyProduction challengesVersion-specific endpointsMigration between providersDatabase and cloud downtime
  • 9. AUTHENTICATION, KEYS,CERTS…Environment variable MODE assign staging/production valueEnvironment variable APP assigns service: e-mail processing, worker, web,API hostJSON-based configuration loaded through configuration.js
  • 10. CONNECTING FROM THECLIENT APPHttpClient NuGet/PCLRetry policies, handling HTTP statusGZip CompressionRestSharpJSON.NETCaching technology & strategies; AgFx
  • 11. LOGGING & STATISTICSLogs Stats Detailed  Statsd, Graphite, Carbon Table storage  Time scale storage Per-user  UDP Winston (Node.js logger) extension  Fire and forget  Linux VM on Azure or EC2 Instance  DNS
  • 12. MIGRATION CHALLENGES> 150,000 users in active processing Foursquare is in US-EAST-1 (AWS)DNS hosting helps w/transitions Statsd helps show trends during testsFree time
  • 13. SCALESmart per-user resource allocationWeb Sites Reserved Instances: Size & CountMongo-based consistency enables multiple workersDNS Load Balancing
  • 14. PUSH NOTIFICATIONS FORNODE.JSMPNS module Windows Phone 7-8 Dev: Jeff Source: https://github.com/jeffwilcox/mpnsWNS module Windows 8 Dev: Tomek Source: https://github.com/WindowsAzure/wns
  • 15. OPEN SOURCE AZUREConsider Windows AzureMobile Services for your next app!Resources at:http://windowsazure.com/Check the OSS team out online:http://windowsazure.github.com/
  • 16. NOTES4th & Mayor is a trademark of Wilcox Digital, LLCThis presentation was created for a “Windows Phone Garage” event on3/14/2013Opinions are Jeff Wilcox’s alone.