If you’re aiming to build a minimal viable app to show to get investors excited, or if you’re going to build an app for market launch, I’ll take you through a simple decision making process that’ll help you choose which cloud platforms/services to take advantage of.
2. What are “Cloud” platforms and services?
Programs that run on servers hosted
somewhere on the internet
@appinstruct
#startupAUS
3. Your apps cloud service requirements
1. Offline apps
2. Data storage and synchronisation
3. Real-time communication
4. Push Notification Services
5. Web app service hosting
@appinstruct
#startupAUS
4. Data Storage and Synchronisation
With synching:
• Apple’s iCloud (iOS Only)
• Dropbox Sync - https://www.dropbox.com/developers/sync
• Simperium – http://www.simperium.com
• Parse Data – http://parse.com
Just storage:
• Amazon’s S3 (Simple Storage Service)
• Google Drive
• Microsoft Azure Web Services – Table Storage
@appinstruct
#startupAUS
5. Real-time Communication
This fast growing field of services makes building RT apps much
simpler..
•
•
•
•
Apple’s GameKit (iOS Only and game dedicated)
PubNub – http://pubnub.com
Pusher – http://pusher.com
Layer – http://layer.com (currently in Beta)
Few real-time guarantees..
• Simperium – http://www.simperium.com
@appinstruct
#startupAUS
6. Push Notification Services
Cloud services that make batch push notifications to your
cross-platform apps easy:
•
•
•
•
Urban Airship – http://urbanairship.com
Parse Push – http://parse.com
Microsoft Windows Azure Mobile Services
Amazon SNS (Simple Notification Service)
@appinstruct
#startupAUS
7. Web app hosting
Very mature field..
•
•
•
•
•
Amazon EC2 (Elastic Cloud Computing)
Google App Engine (java, python only)
Microsoft Windows Azure
Heroku (ruby, nodejs, java + java based languages)
Parse Cloud Code – javascript
@appinstruct
#startupAUS
8. “Cloud” vs DIY hosting - Differences
• Utility or subscription pricing
• Easier set up
Many cloud services offer:
• Elastic scalability
• Managed reliability
@appinstruct
#startupAUS
I’m here to talk about how you can utilise cloud platforms and services to build your mobile app.If you’re aiming to build a minimal viable app to show to get investors excited, or if you’re going to build an app for market launch, I’ll take you through a simple decision making process that’ll help you choose which cloud platforms/services to take advantage of.
First off, a simple definition.What is the “Cloud”, and what are “Cloud platforms and services”?They are simply programs that run on servers hosted somewhere on the internet. No different from a web site.
Your app is generally going to fall into one or more of the following requirement categories.Offline apps are generally single player games like Angry Birds or self-contained apps like Fairfax Media’s Essential Baby app.Data storage and synchronisation apps don’t need any smarts or programs to run in the cloud, but simply want to store and synchronize data across different app installations. A good example is Safari storing favourite bookmarks across iPhone, iPad and Mac.A new category of cloud services is emerging that facilitate real-time communications: such as instant messaging or document collaboration.Push Notification Services enable cross-platform push notifications.And the final category is for hosting your custom PHP, Ruby, .NET, or Java application in the cloud.I’ll walk through the last three categories and list some popular services the developer community uses.
With synching enables synchronization across multiple app installations. For example if your app is offline and jumps back online, your app is notified by the service of new data through their custom APIs.Parse Data, Simperium are great because they don’t your users to have existing accounts.iCloud is super simple to use in your app and very popular but limited to iOS and Mac only.
Batch cross-platform push communication
These services allow mini or complete Virtual Machines in the Cloud so you can build the adhoc infrastructure using your own software technology stack.This field is very competitive fieldEC2 is by far the most popular and mature in the market. Netflix runs on EC2 of which 1/3 of all US internet traffic during their peak time.Azure is catching up fast in features. But so is Google App Engine.. SnapChat grew on thisHeroku is fantastic for very simple data driven apps..Each have free usage pricing tiers..
There are notable differences in “Cloud” platforms over do it yourself hosting. The begin with, cloud platforms often offer utility or subscription based pricing. Utility pricing is a pay as you use model that’s similar to the other utilities to consume in your life – like electricity or water.Cloud services are generally easier to set up and make use of in your app.And many out there offer turn key scalability. Just change a few parameters in an admin panel, pay some more and the service will handle many per users, more storage, more requests per second, etc..And managed reliability. Without any effort some of these services will worry about making sure your services stays up or doesn’t lose data.