Introduction
It wasn’t that long ago that the idea of a network-connected device that fit in your pocket was novel and futuristic. Things change quickly, however, and today’s IT professional not only has to assume that every user is connected in real-time, but be prepared for every electronic device to be autonomously connected as well. This so-called “Internet of Things (IoT)” heralds the next big step in networking, computing, and big data analysis.
As always in the fast-paced world of IT, you must look ahead to plan for and develop the skill set you need to maintain relevance in the marketplace. It’s not enough today to have a strong background and experience in a single area of technology and development; you need to demonstrate that you understand and can thrive in the new reality of IoT.
This means developing an understanding of network communication, public cloud computing services, and big data storage and analysis. By focusing on these areas you can confidently assert that you are ready to handle the challenges and opportunities that the IoT brings.
Network Communication
It’s the first challenge you’re going to run into when building and designing around the IoT: How do all of these “things” talk to each other, and to your central processing systems? It’s no small feat, especially when you consider the sheer number and potentially small size of the devices you want to network.
What physical communication channel will the devices use? For devices that run over Ethernet or Wi-Fi (802.11), the ever popular IPv4 standard may be your safest bet. But depending on the number of devices and the size of your addressing pool (Are all of your things connected directly to the public Internet? Maybe!), you will want to understand IPv6 — which is quickly becoming a standard for addressing the IoT. CompTIA’s Network+ certification is an ideal starting point for developing the TCP/IP credentials that you’ll need to support implementations such as this.
Your devices will not always have the space and power to support a network interface such as Wi-Fi, however. As they get smaller and cheaper, innovative solutions are required to meet the engineering requirements that you’re aiming for. Radio Frequency (RF) has recently experienced a resurgence as a popular communication technology with the adoption of the IEEE 802.15.4 standard for wireless communication. Wireless Sensor Networks often implement this standard due to its focus on efficient power consumption and small space requirements. Industry alliances such as ZigBee and Z-Wave offer standards and certifications for 802.15.4 devices.
While those two options may be the most popular, you’ll also need to at least consider a wide host of alternatives. Will your IoT network utilize Bluetooth for short-distance high bandwidth applications or maybe a more traditional wired Ethernet network? Your implementation might range from small scale (line-of-sight infrared) to the largest of scales (satellite communication), so be prepared to be flexible and engaged when it comes to communications technologies.
Cloud Computing
There’s probably no area in IT that has not been upended by the explosion of cloud computing during the past five years. The realization of practical IoT is due in no small part to this innovation. Cloud computing, especially the public shared-infrastructure offered by large companies such as Amazon, Google, and Microsoft, enables global communication and dynamic scale for any organization of any size and budget. Having this computing power at our fingertips is enabling the IoT to grow at pace unconstrained by the limitations of a more traditional on-premise data center.
It’s not enough to have a bunch of interconnected devices. You also need a way to manage their deployment, functionality, and configuration. Platform-as-a-Service (PaaS) is the name for a popular and growing element of cloud computing, where the entire physical infrastructure and software platform is managed and controlled by the third party provider. Technology such as Amazon’s Elastic Beanstalk, Google’s App Engine, and Microsoft’s App Service all provide a fast deployment platform for developers of all types. This means your devices have a place to be centrally managed from that doesn’t require a large lead time for development or build out.
Microsoft, in particular, has taken the lead on this with the recent release of its “Azure IoT Services” package. Azure IoT creates a single service platform that encapsulates a variety of important services such as Event Hubs, a pub/sub pattern event ingestor with dramatic scalability, and Stream Analytics for real-time processing of the data contained in those events.
All three of the major vendors in this space provide opportunities to learn about and achieve certification for their cloud platform services. Microsoft recently released their Azure Solutions Architect MCSD course, Google is in the process of rolling out their CP300 qualification exams, and of course the ever popular Amazon Web Services has a variety of certifications.
Big Data
While not unique to IoT, Big Data may not be more relevant to any other sector. The promise of a million devices with a million messages creates a stream of information and data that could frighten even the hardiest of data veterans. As devices are deployed to capture the finest grained details of our everyday lives, terabytes, or even petabytes of data, are not an unreasonable expectation. Fortunately, the industry has recognized the need to support Big Data in a “big” way and there are tools ready to handle the complexity.
First and foremost when it comes to considerations is how to organize and store all of the information coming from your things. Traditionally-structured relational databases tend to fall apart or become unwieldy and expensive when dealing with this volume of data. Database solutions such as Cassandra, HBase, and the very popular MongoDB allow for dynamic schemas and low-latency I/O on a massive scale. Combine solutions such as those with Hadoop for distributed processing and the fear of large datasets dissipates. It can pay off in a big way to learn about and be prepared to work with distributed, dynamically-schema’ed NoSQL database systems.
The cloud service providers we discussed earlier have a lot to offer in this area as well. Designing and building the infrastructure and platform to host this data is an expensive proposition. Just as with the application services they offer, data services in the cloud remove the upfront cost and lead time associated with building a data storage solution. Google’s BigQuery is a notable example because of its low cost, high performance, and familiar SQL-like querying language. You can stream or batch data into BigQuery for real-time analysis in a native platform that doesn’t require any additional licensing or system configuration. If you need to migrate from an existing on-premise Big Data solution, you have many choices as well. Microsoft offers their HDInsight tool for quickly creating a Hadoop deployment on Azure, while Amazon’s Elastic MapReduce creates an EC2 cluster for Hadoop or Spark and Presto.
Conclusion
The Internet of Things is not coming, it’s already here. You might not always recognize it right away, but the applications are vast and tightly integrated within our lives. Wristbands monitor our health and activity levels. That data is reported to our phones and then uploaded to cloud services on the public internet. Home automation for remote security and climate control has become very popular the past few years. Distributed networks of sensors on critical transportation infrastructures such as bridges and railways deliver (via satellite) up-to-the-second data and analysis to help keep us safe. The growth of IoT is expected to reach into the trillions by 2019, and double the size of the smartphone and tablet market.
The areas of expertise we’ve covered highlight the rich variety of technical expertise that IoT encompasses. There’s network communication for understanding how the things will talk to one another, cloud services for building dynamic and scalable solution platforms to manage the things, and big data analytics to corral and understand the large volume of data produced by the things. These highlights don’t even begin to paint the entire picture. On the front end of IoT, mobile and web app development is a key component for creating management solutions. On the back side, it’s easy to see how statistical analysis packages such as SAS or R can be critical to mining the data. While no one person can know all of this all of the time, it’s clear that being able to speak to fields that we’re not proficient in will be critical.
Honing your skills to deal with this incredible growth will be crucial to remaining hirable and employable in IT during the next few decades. So understanding and being fluent in the variety of IoT topics should be on all of our minds — and a focal point for our learning plans beginning today.
Ben Finkel has worked in software development for 18 years within a variety of industries, including banking/finance, insurance, and healthcare. Before joining CBT Nuggets, he was a software engineer at M&T Bank in Buffalo, New York. He is a Google Certified Trainer. When he’s not creating CBT Nuggets training videos, Ben considers himself a hobbyist programmer and likes learning new development technologies.
(image credit: Norlando Pobre)