If you develop a great mobile app that people love to use, you need a great backend that’s ready for when people actually use it. That became a challenge for the launch of the augmented reality game, Pokemon Go, in 2016. Pokemon Go was a huge and immediate success. Almost as fast, it was beset by “huge” outages and server problems. They were only prepared for about 2% of the users they received as the app went viral. Fortunately, Cloud and Mobile Backend as a Service (MBaaS) providers enable relatively easy, cost-efficient solutions to many back-end technology challenges to help you launch without a hiccup!
When building a mobile application, you are ultimately releasing a product. Everything it includes needs to be ready to be successful. The frontend of a mobile application is like when you walk into a restaurant, sit down at a table and pick up the menu. It is mostly concerned with the design, look and feel, layout and navigational components (UI/UX) that let people use your app. Your “frontend” can look great, but without someone to take your order, prepare it and deliver it to you… your restaurant would really suck.
Eight Common Back-End Technology Challenges
Continuing with our analogy, the waiter or waitress is the server, they receive and deliver your order. The back-end is the chef, the ingredients in the pantry, refrigerator or freezer, the microwave oven, the grill, the pots and pans, and all that. The backend deals mostly with the information your app needs to be useful. It includes the databases and file servers that store and process the data (text, graphics, video and other content) your users require.
There’s a lot more to it than that, but there are a lot of questions to consider when setting up or even projecting your mobile backend requirements.
- How will you build your server infrastructure?
- What will you do to authenticate users?
- How will you keep everyone’s data secure?
- How will you synchronize everyone’s data in real-time?
- What are your projections for total number of users?
- How many users will be using you app at the same time (peak users)?
- What amount of storage space will each user require?
- How much data will they be using under light/medium/heavy usage scenarios?
DevOps and backend developers could easily add many more challenges to this list. They’ll likely know the solutions for them, too. As we continue, you’ll be able to see how many of these challenges, if left unanswered, will break your app.
The Four Major Drivers of Successful Apps
According to Laurence Moroney, Staff Developer Advocate at Google and former Senior Developer Evangelist at Microsoft, highly successful developers do four things:
- outsource infrastructure.
- have a programmatic, systematic way of growing their app.
- earn money – via advertising, subscriptions, premium features, etc.
- use analytics to know what their users are doing.
Laurence especially emphasizes the first point: “Developers need to focus on building the business, not the infrastructure to run apps.” The same applies to nearly all businesses even if they are outsourcing development of their applications to specialized mobile agencies.
The Old Back-End
If you don’t outsource your backend, you inherit all of the costs and responsibilities of maintaining it. Not so long ago, that was the only option. Many businesses kept their own server farms and data centers. Server farms consist of hundreds, sometimes thousands, of computers.
Rick Reed, WhatsApp’s Deputy PM for Throughput, provided detailed statistics of its 2014 backend operations, the same year it was picked up by Facebook for $19.3 billion. At that time, WhatsApp had 500 million users requiring 550 servers with 11,000 cores to support 150 million peak connections. For later reference, it’s worth noting WhatsApp required $60.2 million in investments to reach this point.
Beyond enormous hardware requirements, data centers need a lot of space, a lot of technical staff, lots of electricity, software licenses and periodic replacements. Expensive, cumbersome and today… obsolete for all but the largest or perhaps the most technologically focused companies.
Google is estimated to have 900,000 servers in 12 data centers that use 260 million watts of power or .01% of global energy consumption.
The Cloud as the New Mobile BackEnd
As with most things in today’s shared economy, “Access is better than ownership.” That is, you don’t need to own a server farm if you simply have access to one. Think of the Cloud as just-in-time infrastructure. While your code may have its share of bugs and glitches, most connectivity issues can be addressed in same day fixes and upgrades to your Cloud services. Lost connections and crash reports are the #1 reason for bad reviews. Bad reviews can kill an app’s potential for success faster than anything.
Among the first companies to recognize the potential for “Mobile Backend as a Service” was Parse, Inc. It was founded by employees from Google and Y-Combinator in 2011 with a $5.5 million VC infusion. According to Wikipedia, Parse produced backend tools using the cloud for data storage, identity authentication, push notifications and for developers to run custom code. Incidentally, Facebook acquired Parse for $85 million in 2013.
Businesses, even the US Government, are outsourcing more and more of their server and architectural requirements. That includes the CIA and Pentagon – standing as at least one indication that Cloud services are more secure than their existing networks. The CIA signed a $600 million deal with Amazon (AWS). Amazon, Google, IBM and others are vying for a $10+ billion contract with the Pentagon, with the winner to be determined in September, 2018.
Cloud computing encompasses a vast range of services, of which Mobile Backend as a Service is of greatest interest for our purposes.
As of Q1-2018, the cloud computing and infrastructure services market looked like:
- Amazon Web Services (AWS) – 32% share
- Microsoft’s Azure – 12%
- IBM – 8%
- Google Cloud – 7%
- Alibaba – 4%
- Others – 36% (Kinvey, Realm.io, and many, many more)
Conspicuously absent in the list of major players is Apple. Their early phase of iCloud appeared to rely on some combination of AWS and Azure services. That no longer appears to be the case in 2018.
At Reinvently, we frequently use AWS and Azure for mobile backend development as the most mature services of their class. We also use Digital Ocean a lot. We’re fortunate to also have direct access to the excellent AWS Big Data competency of Squadex, another subsidiary of Provectus (like us).
Operational Difference between Old and New
For WhatsApp, five years of buying infrastructure with $60 million in funding made it possible to serve 500 million users, and up to 150 million concurrently. Today, a startup could conceivably launch with Cloud-based services and serve 500 million users without having to own a single server! It is several orders of magnitude easier, faster and less expensive to launch a comparable app today.
Outsourcing your infrastructure leaves you with a lot more capital to improve and grow your app, focus on your business and maximize your revenue.
|The Way it’s Worked since… 2000 BC
|Today (via the Cloud)
Cloud computing services offset the need for an enormous infrastructure investment. An elastic “pay as you go” billing format is available on a per minute / per user / per GB basis. That makes the cloud incredibly cost-effective for startups and enterprises, alike. While the cost of scaling up gets the most attention, the ability to scale-down is just as important.
Mobile Backend Savings on Peak Usage
An elastic payment model is one of the biggest and most obvious benefits of the Cloud and Mobile Backend as a Service. Owning and relying upon your own server farm more or less means you will always be paying for “peak usage.” With the Cloud, you continuously pay only in proportion to your usage.
Case 1. Your app does or offers something special every hour that’s available only during a five minute window. With the Cloud, you only pay for 2 hours of peak usage each day.
Case 2. You’ve had your app for a few years, but decide to stop further development. Over time, your users will decline and your backend support costs will decline in direct proportion. If you owned your own server farm, you’d have to find other uses for excess servers, or decommission and try to sell them.
More Quantum Benefits
Beyond cost, scalability, agility, and sheer convenience, Cloud services offer businesses of all sizes similar quantum infrastructure, architectural, technical, operational, speed and survivability benefits. For cursory awareness, just knowing that AWS, Azure and other Cloud services rely upon several data centers positions them as disaster readiness and emergency management solutions.
Building a secure authentication system is very difficult. It is even more difficult to maintain with new vulnerabilities constantly arising. If you’ve noticed, many businesses let you sign in with Facebook, Google, Twitter or other mainstream platforms. It’s a way of piggybacking your development onto the efforts of others. Providers of cloud-based services are responsible for their network security and typically employ their own encryption methods for client data.
Metrics, Analytics and More
Cloud providers also offer their own tools so developers can easily track app-specific data. Integrated analytics serves to reduce app development costs. Analytics are critical, one of the four major drivers of successful apps. These tell you what your users are doing so you can focus efforts on improving what they use most.
Each of the major cloud providers has its own catalog of services and features. Simply comparing one against another is an article unto itself. Each line item and service is important in its own right – useful for businesses and mobile specialists they hire. We will revisit AWS and Azure features and options in greater detail, separately.
The main takeaway for now is that Cloud/BaaS/MBaaS provide you a phenomenal shortcut to support your growth potential. You no longer need years to gradually ramp up your ability to handle millions of users for your app. You no longer need millions of dollars to acquire and support all of your mobile backend requirements. There’s basically a whole buttload of stuff you no longer need to launch and grow your business.
See… this is what happens if you start thinking too much about “old back-ends”! Fortunately, Amazon, Microsoft, IBM and Google are all there thinking about your old back-end, too!