Once you have decided how you will address these critical IoT communication issues, you must next investigate the server-side infrastructure to support your IoT application. This leads to a different set of issues, including:
- Scaling—Do you need to quickly scale up and down your communication capacity to support peak times or a rapidly growing business? Can you automate the scaling? Can you leverage third-party service providers to augment your internal infrastructure for rapid elasticity?
- Security and privacy—How do you build-in and maintain a secure infrastructure? What is your plan for maintaining and patching servers, storage, and routers? Is your infrastructure susceptible to hacking, phishing or social engineering? What about physical security? How do you handle regulatory requirements such as HIPPA and SOX? How do you handle law enforcement issues?
- Geophysical presence—Do you need a geophysical presence to support adequate network latencies or to fulfill regulatory compliance? Do your customers require non-US data storage?
- Uptime and SLAs—What are your applications’ uptime requirements? Do you have service guarantees (service level agreements or SLAs)? How will you meet your requirements? Do you have disaster recovery plans and sites? Do you have the ability to test your infrastructure for resiliency?
- Support—Does your infrastructure require 24x7x365 staffing and support?
Addressing all of these issues takes a highly specialized and technically proficient engineering team. You must also invest in the development and testing efforts. Most importantly, building your own robust, secure, reliable IoT communication stack takes a significant amount of time, which can impact your application time-to-market. Engineering talent, time and capital are all challenges for large organizations, and may put developing a custom solution out of reach for small teams and startups.
Buy or rent an IoT communication stack?
Instead of building your own custom stack, you can acquire and run your own. There are numerous open source and commercial communication solutions available that address many of the IoT M2M issues. However, open source software often lacks adequate documentation and support. And feature roadmaps, schedules and bug fixes are at the whim and mercy of the stack maintainers.
Commercial offerings may be a better option as they typically provide support and bug fixes for both client libraries and server side components. However, teams tend to underestimate the time and costs associated with deploying and maintaining a 24/7 distributed infrastructure needed to support real-time applications.
Instead of building your own, or acquiring the entire stack, you can “rent” the software stack and server side infrastructure. Software-as-a-service (SaaS) companies are now providing end-to-end IoT communications environments, combining software for virtually any device with a complete server side communication infrastructure. These service providers solve most, if not all, of the communication and server issues.
SaaS providers have already invested the time, money, and resources to become the authorities in IoT communications. They have dedicated experts in security, networking, communications and operations. They have built scalable, secure, reliable and resilient server side infrastructures to support large and rapidly expanding IoT applications.
Sign up for Computerworld eNewsletters.