The three criteria we will explore in more detail are reliability and scalability, value added services, and cost. You may place different weight on these criteria based on where you are in your business lifecycle. For example, if you are just starting up, cost may be an important factor, and value added services may help you get to market more quickly. However, reliability and scalability are important for longevity.
Reliability and Scalability
I mention reliability and scalability because they are closely related with each other. You cannot consider a cloud provider to be reliable unless the provider is reliable at scale. You obviously anticipate growth when you launch an app, or you may want to reconsider why you are launching it. The notion of using a cloud provider in the first place is based on the premise that you may need to start small, but you expect to grow large. You want to do that without having to switch providers midstream. So cloud providers by design are elastic and will grow with you, but some of them do it better than others.
Mobile apps have been around long enough now that you can look into the background of some of the providers to see their record. Many of the big names host their solutions in the cloud, and many of their outages make the press. If you are unable to find a history on your cloud provider in the public domain, simply ask them for it. Your success depends on the provider’s success. If your app has zero connectivity the first time someone tries to use it, they may never give you a second chance. Seriously consider reliability when choosing your cloud partner, and be sure the provider scales so you do not paint yourself into a corner.
Value Added Services
All things else being equal, value added services is what may tip the scale from one provider to another. Some providers have prewritten services that you can leverage as a mobile app developer. Microsoft, for example, has various services available as part of the Azure offering. Not only that, but they teach you how to tap into those services using the native programming languages and development tools of Android and iOS in addition to their own mobile platforms (see http://www.windowsazure.com/en-us/develop/mobile/resources/#header-1). Amazon is no exception, providing SDK’s over their own for the popular platforms (http://aws.amazon.com/code/).
Some of the common services that a cloud provider may provide for you are related to storage, push notifications, user management and authentication, and geolocation services. Providers such as StackMob (https://www.stackmob.com/product/pricing/#Basic) bring additional features to the table such as APIs for some popular ERP and sales enablement platforms. This is another example of where it is important to dialog with the providers. If your app takes advantage of their APIs for a certain product, you should be sure that their APIs are updated in a reasonable timeframe after that product releases new features. If you build your entire app around their API, but they stop enhancing their API, then you may have created additional work for yourself to move off of their platform.
I intentionally mention cost last, because it should not be the first thing that you consider when you launch your mobile solution. If you have a great idea, one that you think has solid revenue potential, cost may be less of a concern to you. Do not ignore it completely, however. Some cloud providers will give you the services you need for free starting out. That may or may not be a good thing. You should consider the total cost of ownership – which factors additional services, reliability, and scalability into the mix. Additional services or APIs provided by a fee based host may still result in savings because of time saved in development. Additional costs related to reliability may offset the loss of sales related to downtime.
One promising thing about being a mobile app developer these days is that many others are doing it. The good news about that is that much of the way has been paved on the technical side. In addition, the cloud provider market has evolved steadily, meaning more competition in features and cost. Hopefully that translates to more time for you to focus on the business and creative sides of your solution – which is especially important if you are an entrepreneur.