Skip to main content
Tempest House
Back to Blog

How to Architect IoT Based Applications

Seven essential tips for architecting Internet of Things products, covering data management, firmware quality, communication protocols, security, compliance, scalability, and hybrid app development.

How to Architect IoT Based Applications

Architecting a product for the Internet of Things (IoT) is fundamentally different from architecting for web or mobile. Drawing from Tempest House's experience building numerous scalable applications, here are seven essential tips for building robust IoT products.

1. Expect Large Amounts of Data

IoT systems generate massive data volumes requiring strategic structuring. The recommended process involves:

  • Determining data requirements and server transmission needs
  • Collaborating with firmware architects on data structure and speed requirements
  • Creating transformers to convert data for server transmission

The most important part is having clear communication between the data transit architect, web architect, and a competent firmware team.

2. High-Quality Firmware Is Worth Every Penny

Investing in quality firmware pays dividends across the entire product lifecycle.

Characteristics of quality firmware:

  • All features are read/write capable
  • Clear, efficient notifications
  • Appropriate security verification in both mobile and device layers
  • Full application insight into device functionality

Signs of low-quality firmware:

  • Locked device capabilities
  • Disorganized structure from poor planning
  • Illogical APIs

3. Communication Is Key

Since connectivity is fundamental to an IoT product, communication from IoT devices is of the utmost importance. Tempest House implements a Redux-based messaging queue that:

  • Continues resending until message receipt is confirmed
  • Flags priority levels for dynamic queue reordering
  • Sets contingencies for failed requests

4. Recognize IoT's Unique Security Threats

IoT products face distinct security challenges that require specific countermeasures.

Data Encryption

When used properly, it is nearly impossible for a hacker to decrypt your data without full access to your systems. Encryption should be a foundational element of any IoT architecture.

Token Authentication

Tempest House uses encrypted tokens for front-end and back-end authentication. Solutions like Ionic Identity Vault help prevent mobile device token retrieval and keep authentication secure.

Security Testing

Partnering with external companies like EdgeScan for manual and automated penetration testing provides third-party validation and certification. Independent security audits are essential for building trust with users and stakeholders.

5. Consider Compliance or Expect Costly Consequences

GDPR represents the most complex compliance challenge for IoT products. If anyone from the European Union uses your application and you are not following GDPR, you can be liable for up to 4% of your company's global revenue. Compliance must be built into the architecture from the beginning, not bolted on afterward.

6. Build for Scalability

A scalable product is key to a company's success, especially for networked IoT devices. Recommended approaches include:

  • Using in-house Tempest Tools with built-in scalability features
  • Combining tools with established backends like Express or Lumen
  • Implementing microservice architecture with thin endpoints for load distribution

Microservices allow you to scale individual components independently, ensuring that high-traffic endpoints do not bottleneck the entire system.

7. Consider a Hybrid Approach for Apps

The hybrid approach -- running a virtual browser with JavaScript within a native app -- offers significant benefits:

  • Easy, cost-effective development leveraging JavaScript expertise
  • Portable code across Android, iOS, and web platforms
  • Faster time to market with a single codebase

However, processor-intensive operations require native plugin code for optimization of battery and CPU usage. A thoughtful balance between hybrid and native components is essential.

Example IoT Architecture

Tempest House's typical IoT architecture using hybrid applications includes five key components:

A) Mobile Device Connection

A virtual browser in the mobile application uses Bluetooth Low Energy (BLE) to connect with the IoT device via a native plugin.

B) Load Balancing

Device communication reaches the server where a load balancer directs processing to appropriate nodes, ensuring even distribution of work.

C) Response Communication

Nodes respond through HTTP or real-time messaging. PubNub is recommended for its reliability and low development cost when real-time communication is needed.

D) Data Management

Backend nodes communicate with cache and database systems, whether SQL or NoSQL, depending on the data requirements.

E) Push Notifications

Mobile notifications route through Apple and Android messaging services to keep users informed of device status changes and important events.

Conclusion

Building an IoT product is a complicated endeavor. These seven tips represent foundational guidance for making smart architectural decisions, but every project will have unique requirements that demand careful consideration and expertise.