Is scalability a scary IT concept for your enterprise mobility app development? If might be for some and here’s why:
Historically, scalability for recent software development projects was defined by known factors. IT departments built and designed scaled network to accommodate a reasonably static number of hardwired desktop devices. Server farms were scaled by algorithms that could predict data base growth as based upon a reasonably static number of hardwired devices. Desktop PCs ruled the scalability matrix because usage was a reasonably known quantity and it was predictable.
Mobility software adds a whole new layer of scalability complexity because the number of connected mobile devices can quickly outstrip the number of wired devices. Mobile app usage is nebulous at best and, by definition, in a BYOD world, usage is unpredictable.
Here a few specific Enterprise mobility scalability issues:
(1) The application architecture must accommodate a sliding scale number of licensed users-on-demand. Managing and budgeting for a growing number of licensed devices may be a challenge.
(2) The front-end app functionality must be easily adaptable to include new features because of user demand. Mobile users seem to be more demanding than wired users antidotal reports have suggested.
(3) The backend app interfaces may need to be seamlessly linked to additional programs or databases concurrently. User expectations may force software to go in directions IT departments didn’t foresee.
(4) The communications technology must be robust enough to allow for an increasing number of simultaneously connected wired and mobile devices. Internet connectivity, along with voice, data, and video, may all be competing for the same bandwidth. Does a frame-relay connection work for you, or, do you need a T1 or better? What’s your latency and can you live with it in a mobile world? Do you have a tripping point where the answer would be no?
(5) The app code must allow for an increasing number of simultaneous devices with varying device operating systems. BYOD devices come in a variety of OS flavors. Users expect support for their favorite device. OS support may not come cheaply for your mobile app development needs.
How many issues apply to your situation for your mobile app software development?
One way to lessen the scalability impact of an unpredictable mobile environment is to plan for your worst-case scenario – and then perhaps double it.
Completely agree with the above – and I think it plays to a discussion of “Flexibility” as much as scalability. Mobile devices are – well – mobile – they move. So you can’t just put a whole bunch of network capacity in one spot – you need the flexibility in your architecture to migrate capacity based on device density AND application usage.
Happens all the time in schools – last year this was the physics lab, this year it’s the history classroom – applications and devices completely change. Enterprises replace 15 offices with 50 shared workstation, a sales team moves to online training videos on iPads, a college campus converts an old rec hall into a student center.
So – be prepared to UPFRONT to manage not just scale, but the inherent nature of mobile applications – because a fixed network built on a “single OS desktop/laptop” paradigm will be obsolete before the first access point is hung.
Great post!!
You raise excellent points about flexibility. Now with many jobs becoming virtual – working from home – flexibility takes on a whole new dimension. Instead of one office of 50 there are now 50 home offices. This implies a different IT focus and level of support. Thanks for the reply.
Completely agree – add in multiple branches, “Regus” type offices and the true “remote” hotel/airport type access – and the CIO dream of “one connection for one version of an OS on a standard piece of hardware with a standard approved set and version of applications” that was the goal not so many years ago, is dead, done gone :). Again – great post.