How Platforms Affect IoT Solution Development
How Platforms Affect IoT Solution Development
Let's examine how IoT platforms, and hpaPaaS in particular, help companies handle the challenges of IoT development from connectors to the cloud.
Join the DZone community and get the full member experience.Join For Free
The Internet of Things is a powerful, transformative force and cornerstone for digital businesses taking advantage of the convergence of the physical and digital worlds.
Predictions about the proliferation of connected things vary from 20 to 50 billion devices by 2020, depending on which analyst firm you ask. While even conservative predictions are mind-boggling, we should keep in mind that IoT ultimately is not about ‘things’. It’s about making sense of the sensor data in order to deliver new services and experiences.
In my previous post, I described that the anatomy of an IoT solution can be overwhelming. Nevertheless, it’s clear that the diverse set of endpoints, network technologies, protocols, IoT software, and application development services pose a challenge for enterprises planning to adopt IoT to transform their business operations. The question is: How do you make IoT solution development manageable? The answer lies in adopting a platform approach.
Adopting platforms for the IoT Software and IoT Apps layer will significantly simplify the process of connecting, managing, getting insight from, and building apps for IoT-enabled products and services.
IoT Software Platforms
There’s an emerging category of IoT Software Platforms that offer an integrated set of IoT software services in the cloud. Some vendors like Amazon Web Services (AWS), Microsoft (Azure) and IBM (Bluemix) have expanded general purpose cloud platforms with a rich set of IoT services. Others like GE (Predix), Siemens (Mindsphere) and PTC (Thingworx) offer specific Industrial IoT Platforms or platforms focused on managing device connectivity, such as Cisco (Jasper).
Irrespective of background and focus, these platforms essentially offer an abstraction layer that eliminates a lot of the complexity of IoT solution development.
For IoT endpoints, there’s no standard ‘platform’ due to the immense variety and variability of industry-specific sensors, agents, actuators, and gateways. In selecting the IoT endpoint infrastructure, it’s important to ensure that devices:
- Support standard communication protocols
- Can be managed remotely through an IoT Software Platform.
While IoT Software Platforms offer strong support for core IoT services, the capabilities for application development and lifecycle management are often limited to offering an SDK for coding IoT apps. There are some serious drawbacks, however, taking a traditional programming approach.
The Challenges of IoT App Development
IoT is a nascent technology domain, and many companies have yet to start their IoT journey to drive smarter business operations, create new products and change how they interact with their customers. To help the business unlock the value of IoT, IT teams need a way to experiment quickly and cost effectively, so they can turn new ideas into value-driving IoT applications. Many organizations, however, struggle with:
Lack of Agility
IoT application development requires rapid experimentation, frequent iteration and close collaboration between business and IT. Traditional development approaches don’t facilitate the required speed and agility, not to mention active involvement from the business.
Teams often struggle to master the complexity of app development and integrate the heterogeneous mix of endpoints, IoT services, back-end systems, and data required for IoT solutions.
IoT solutions require scarce, hard-to-find skills spanning IoT technology, integration, data management, analytics, and app development. According to Gartner, 49 percent of CIOs expecting to experience IT skills shortages in the next 12 months.
As a next abstraction layer on top of IoT Software Platforms, companies should consider adopting a high productivity application platform that seamlessly leverages the underlying IoT technologies.
High Productivity Platforms Speed IoT App Development
High Productivity Application Platform as a Service (hpaPaaS) is a fast-growing technology market uniquely suited to help IT leaders and their teams address these challenges and facilitate rapid, iterative development essential to IoT success.
According to Gartner, hpaPaaS “provides application development, deployment and execution in the cloud using declarative, model-driven application design and one-step deployment.” In other words, hpaPaaS abstracts away from the technical complexity associated with traditional software development, enabling a broader range of users to rapidly build applications, including, but not limited to, IoT solutions.
Here’s a brief overview of some key high productivity platform capabilities supporting IoT application development:
Helps close the talent gap by enabling both professional and citizen developers to build IoT applications without needing to code. They can visually model their data models, UIs, and logic, leveraging a marketplace of building blocks to kick-start development.
Minimizes technical complexity by offering out-of-the-box connectors enabling developers to leverage services from common IoT Software Platforms (e.g. AWS, IBM Watson and Microsoft Azure) in their applications, simply by dragging and dropping IoT services in visual application models.
Facilitates rapid experimentation and iteration by enabling developers and business stakeholders to collaborate across the complete application lifecycle, from ideation and requirements gathering to team development and feedback management.
Scalability and High Availability
Enables your team to start small with IoT innovation and scale easily, without needing to rework the application architecture. Platforms leveraging underlying technologies like Cloud Foundry or Docker offer built-in application resilience and high availability.
Offers the flexibility to deploy IoT apps in the same cloud as the IoT Software Platform, which helps to minimize latency and leverage other services in the same public or (virtual) private cloud accessible under the customer’s account and plan.
Hybrid Cloud Support
Provides the possibility to deploy and manage IoT apps across clouds while centrally maintaining coordination and orchestration. This approach creates an IoT application hub, allowing companies to use IoT software services from various vendors and optimize for parameters like cost or functional coverage.
An integrated high productivity platform accelerates each step of the application lifecycle, helping your organization to realize the shortest time to value. The power of high productivity platforms is that they are not only ideal for IoT solutions, but a broad range of applications to digitize your operations, customer experiences and business models. Paired with leading IoT software platforms that offer a broader set of cloud services, high productivity platforms become an essential layer in an organization’s innovation stack.
The technology landscape is diversifying rather than consolidating, which makes it difficult for IT leaders and enterprise architects to get a grip on complexity and implement a future-proof architecture. There’s an emerging category of platforms that offer an integrated set of IoT software services that simplify device management, communication, data management, analytics, and security, thus abstracting technologies away from developers.
Similarly, high productivity platforms for apps running on top of IoT Software Platforms offer a complete set of application lifecycle management services that speed IoT app development and hide complexity so that less technical developers can build sophisticated solutions.
Published at DZone with permission of Hans De Visser , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.