Subscribe by Email

Your email:

Events

Contact Us

Current Articles | RSS Feed RSS Feed

Step 6. Successful Remote Service Evaluations – Scalability is More Than Just Multiplication

Posted by Randy Thompson on Thu, Mar 05, 2009 @ 01:56 PM
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon 

Things that don't seem like a big deal at 100 connected devices can become show stoppers when you hit 10 or 100 times that amount! 

At Axeda, our most frequent competitor is engineering groups that think developing a remote service solution would be a cool project.  After all, how hard can it be to whip up some web services and pass data between a computer and a server?

And it's true.  That's not that difficult.  But, there is so much more to creating an effective remote service solution.  In addition to security, dealing with the challenges of the almost-always-on Internet, and a hundred other issues, there is scalability.

Dictionary.com explains scalability as "How well a solution to some problem will work when the size of the problem increases." According to Wikipedia, "scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged."

Dealing with a handful of systems in a lab environment is manageable.  But, as you move out into the real world and the number of connected systems grows, there are architecture bottlenecks that pop up.  Database activity grows.  Multiple activities demand database access at the same time, leading to deadlocks or delays. The server gets overloaded and now you need to clustering.  What looked like a quick project begins to grow roots and become permanent as developers spend more time resolving performance issues than developing new functionality.

And what about the user interface?  That user interface with drop down list boxes or large tables looked great with <100 devices, but what happens when there are 1000, or 10K, or more?!  How do you manage finding or presenting data from that many things in a way the users can handle?  Here at Axeda, we went through multiple generations of UI design before we found a model that can meet the needs of a growing device population.  That takes time and effort.

Scalability also translates into IT infrastructure.  The more devices and traffic there are - the more web servers and application servers are needed.  The database servers and associated storage also must expand to meet demand.  Axeda's ability to deliver our software in a SaaS model has eliminated this concern for most of our customers, but it relies on the accumulated experience of our hosting ops and R&D teams to maintain a solution that delivers >99.9% of availability.

As you focus on scalability during your evaluation, consider the following:

  • How many remote assets will be connected?
  • What quantities and frequencies of data will be transmitted to the central server?  What about file transfers?  And access sessions (e.g., desktop sharing)?
  • How many users will be on the system at peak times?  How active will they be?
  • What level of rules processing (evaluation) will be done?  What about integration with other systems?

Once you have this quantitative information, you can begin to estimate the Internet traffic, required storage (files and data), and server capacity required.  Now is the time to decide if you want to build out your server infrastructure for expected traffic levels or define a more phased approach that grows as more assets are connected.

Evaluate the application user interface and look for places where the UI will become difficult as the number of assets increase.  Pay particular attention to user management as the complexity often grows as the number of assets and users increase.

Every remote service program starts with that first asset deployed in the field.  Successful programs choose technology that will handle the nth asset just as quickly and effortlessly as the first one.

Read the related articles for Randy's 10-Step Series:

10 Steps to a Successful Remote Service Evaluation

Step 1. Successful Remote Service Evaluations - Have a Vision of What Success Looks Like
Step 2. Successful Remote Service Evaluations - Work with Cross Functional Teams
Step 3. Successful Remote Service Evaluations - Answer What's in it For Your Customers!
 
Step 4. Successful Remote Service Evaluations - Agree on a Scoring Matrix and an Evaluation Process
Step 5. Successful Remote Service Evaluations - Security Matters

COMMENTS

Currently, there are no comments. Be the first to post one!
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Receive email when someone replies.

Disclaimer

The individuals who post here work at Axeda but the opinions they express here are their own. These postings are not necessarily reviewed in advance by anyone but the individual authors and do not necessarily represent Axeda's opinion or strategy. These postings are provided "AS IS", "where-is" and with no warranties of any kind, and confer no rights.