- Andrew Kos
- Bill Burlein
- Bryan Williams
- Christian Vozar
- Jeff Brown
- John Kraus
- Joseph Mak
- Mark Daugherty
- Matt Van Bergen
- Melissa Geoffrion
- Michael Kang
- Michael Chan
- Michael Hodgdon
- Mike Motherway
- Molly McDaniel
- Nadia Maciulis
- Pat McLoughlin
- Paul Michelotti
- Puru Hemnani
- Rohit Srinath
- Ryan Lunka
- Tom Kelly
Mobile Apps and Cloud Computing: The Perfect Complement
Wednesday, June 16, 2010
Your organization just completed the development of a mobile application which has been submitted and approved by the Apple app store and Android app store. You wait for your first user to login to the application and you celebrate that someone has installed your app and is using it. You monitor the backend infrastructure poised to ramp up additional hardware as necessary to support more users. The number of users double a few times and you reach the point where you have to add an additional server to your backend infrastructure to handle the load. No problem, you prepared for this growth and have a brand new Dell server stacked with processors and memory just sitting there waiting to be put into production. Another few days pass by and the number of users has doubled again. No problem, you prepared for this growth once again and have two more Dell servers stacked with processors and memory just waiting to be put in production. Then...someone with quite a Twitter following tweets about how awesome your mobile application is. This tweet is then re-tweeted all over cyberspace, into just about every social networking site known to man including LinkedIn, Facebook, My Space, etc. Your user base has increased by a factor of 1,000 almost overnight. This time, it is a problem. Unfortunately, you are out of available servers and your procurement department can't get 100 more servers ordered in less than 2 weeks and you need them ASAP. The number of users keeps increasing and before you know it, people are tweeting about how slow and unresponsive your mobile application is. Your call center and email inboxes are overwhelmed with users wanting their money back.
What could be done initially to make this story have a happy ending? Cloud Computing is the answer. Let's re-run the story this time assuming the backend of your application is hosted by Amazon EC2...
Your organization just completed a mobile application which has been submitted and approved by the Apple app store and Android app store. You wait for your first user to login to the application and you celebrate that someone has installed your app and is using it. You monitor the single, small Amazon EC2 instance poised to ramp up additional instances as necessary to support more users. Your bill for hosting is minimal since the bandwidth, CPU usage and storage is minimal. The number of users double and you reach the point where you have to spin up an additional Amazon EC2 instance to handle the load. Another few days pass by and your number of users has doubled again. No problem, you quickly spin up a couple more Amazon EC2 instances. Then...someone with quite a Twitter following tweets about your application. This tweet is then re-tweeted all over cyberspace, into just about every social networking site known to man including LinkedIn, Facebook, My Space, etc. Your user base has increased by a multiple of 1,000. No problem, in a matter of minutes you spin up an additional 100 Amazon EC2 instances to handle the load. Your call center and email inboxes are overwhelmed with high praise for the great mobile application your organization developed and your company's bank account keeps growing.
Mobile computing and cloud computing go hand in hand. Given the sheer number of mobile devices being used today, having a scalable backend infrastructure to support the potential viral growth of a mobile application is key to success. Mobile application usage growth does not follow a nice, straight linear growth curve. Once a mobile app reaches viral status, the exponential growth will be difficult to support from a computing perspective unless of course you have built out an entire data center to handle it from the beginning which can be very costly without any guarantee of it being actually necessary.
A small team of CITYTECH consultants put their spare time to good use and built a Red Hat Summit Sweepstakes mobile application to prove out an architecture that provides unlimited scalability leveraging Amazon EC2 to host the REST-based server side components. Being a Red Hat Advanced Business Partner and understanding mobile application development, our team put our thinking caps on and creating an application that leverages JBoss Infinispan distributed data cache, JBoss ModeShape for JCR API access to the Infinispan data and JBoss RESTEasy based services which are consumed by the PhoneGap based native Android and native iPhone applications. The architecture proves that additional Infinispan nodes can be added to the cluster by simply spinning up additional Amazon EC2 instances in a matter of minutes to support the need to exponentially grow in circumstances as described in the above hypothetical scenario. Check out Jeff Brown's blog and Tom Kelly's blog to learn more about the details of the implementation architecture.
Consider leveraging a public cloud computing service such as Amazon EC2, Google App Engine or Microsoft Azure for hosting the backend services for your next mobile application and sleep well at night knowing you can scale without needing to talk to your hardware vendor and procurement department.
Matt Van Bergen
Matt has spent over 17 years providing high-end technology consulting services to a variety of government and commercial organizations...
- Invisible requirements within Business requirements
- Building a better Options Predicate
- Extensionless URLs with Adobe Experience Manager
- The Life of a Tester in Adobe CQ World!
- Limitations of the CQ Parsys Model and the Implementation of a Nested Paragraph System
- Using Apache FOP to generate a PDF document based on a form submission data
- Configuring SAML in AEM 5.6
- Why You Should Get the WCM Experts Involved Early