[The first part of this series of ten articles explored the specific elements to consider when planning a new solution of Industrial Internet of Things, IIoT, from identifying its business model, to planning infrastructure, to analysing future prospects for its sector The second part that starts with this article specifically examines the benefits of AWS cloud design. The indications and reflections contained in these articles are attributed to Alex Casalboni, Senior Developer Advocate AWS].
Read the first article: How to build a IlioT solution on the cloud with AWS
Read the second article: Industrial IoT Platforms, how to plan the reference ecosystem
To properly design a cloud solution of Industrial Internet of Things (IIoT), you need to have a well-designed plan to guide your decision-making process. Identifying needs and defining expectations from the outset is crucial for the success of a project of this magnitude.
Once a plan is in place, you need to start designing the foundation of your solution.
Designing a native cloud solution for IIoT is an iterative process that offers important advantages that can improve the platform’s offer and accelerate its development.
If you adopt the cloud for your solution there are several key factors to consider and the first concerns the adoption of a cloud-native approach.
The managed aspect of AWS services reduces the operating costs associated with the operation and management of physical infrastructure. This allows you to re-locate resources to focus on application logic instead of working on system maintenance, such as data backup/restore, resource scalability based on usage, provisioning of new resources, patching and updates
The more you focus on the application code and on the higher level services, the more value you bring to your users. For example, it could be switched from managing infrastructure and virtual machines to adopting multiple containers and serverless functions.
Leverage AWS-native services
A key approach to creating a highly scalable IIoT cloud platform is to use a microservice-based architecture that allows horizontal scalability and to use as many native cloud services as possible.
AWS services are designed for scalability, and the basic principle of decoupling applications ensures that they are used in the right way
AWS services offer compatibility and native integration, allowing you to combine services to create solutions in a simple way.
For example, imagine you’re running a Kafka cluster of large size and need to monitor its partitions. The Amazon Kinesis solution eliminates the complexity and operations needed for data streaming. It is fully managed, automatically replicates data in three availability zones and provides an easy way to manage partitions.
Using this feature combined with other AWS services, such as AWS IoT or Amazon DynamoDB, creates a viable solution without the burden of managing stacks and software clusters at the lowest level.
Identify AWS services in line with the use cases
AWS releases new services that are regularly specialised, often in response to customer requests, increasing the likelihood that there are already services available to support your individual use cases. Take the time to identify the services that meet your needs and implement them to the fullest. Using these services will rapidly expand the functionality of the IioT cloud solution.
For example, do you need to speed up the release time of a microservice? Then opt for the serverless with Gateway API or Lambda AWS. Are you building a data lake for IloT devices? Then use Amazon S3’s object storage. For streaming, processing and analysis of data in real time, you can use Amazon Kinesis and AWS IoT Core.
For SQL (Structured Query Language) queries for interactive data analysis, Amazon Athena can be used, a service without servers and infrastructure to manage. For data viewing you can connect S3 to Amazon QuickSight. For pre-processing of data, transmission and also analysis of data from edge devices, you can use AWS Greengrass or AWS Snowball Edge.
When identifying the services to be used, it is important to understand the pros and cons of each service, under various conditions, to make the right choices for your platform.
In particular, on a large scale, as will give an IioT cloud solution, you need to understand the system’s behaviour and performance of the services used. Things work differently on a large scale and specific details for the sharding, partitioning and distribution of the load must be taken into account.
Tips for integration and management of services
Underestimating the resources and skills needed for integration and operations will become one of the biggest challenges. Looking at a technology provider and thinking that its solutions will easily solve many of your problems is often a misleading hypothesis. Although the promise may be that technology will fit perfectly with yours, it is never that simple.
Integration of systems, both on the connectivity side and on the data side (models, semantics), can easily become a problem that requires a lot of effort and resources to be solved. You need people who can integrate technology and then make it work later.
At the same time, it is also necessary to make the right technological decisions for the different cases of use. They must balance the value of the business with integration and operating costs. Best practices may not be applicable when integrating or operating on this scale. Some things are simple on a small scale but become a challenge on a large scale.
To prevent the integrations from becoming a bottle neck as you grow up, you need to understand how to keep your operating efforts as small as possible.
To succeed in the cloud applied to the IIoT, not only do you need to have a contextual knowledge of business use cases, so that you can make the right technological decisions, but also be able to integrate and operate these technologies in the most distributed, stable, safe and efficient The provision of such services is a business model in itself and can form a unique sales proposal.