Industrial Internet Application Development
更新时间:2021-07-23 16:30:11
最新章节:Leave a review - let other readers know what you think封面
Title Page
Copyright and Credits
Industrial Internet Application Development
Packt Upsell
Why subscribe?
Packt.com
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
IIoT Fundamentals and Components
IIoT fundamentals and components
Impact of the IoT
Overview of the IoT technology components
IoT business models
How the IoT changes business models
IIoT use cases
Healthcare
Manufacturing
Aviation (quality control)
Summary
IIoT Application Architecture and Design
IIoT applications – an introduction
The challenges of building an IIoT application
IIoT system architecture
Tier 1 – IIoT machines and sensors
Tier 2 – Edge Gateway and cloud connectivity
Edge Gateway
Cloud Connectivity
MQTT Communication
WebSocket communication
MQTT over WebSockets
Event/Message hub-based connectivity
Tier 3 - Cloud (IIoT application data and analytics)
Microservice-based application design for IIoT cloud applications
Platform as a Service (PaaS)
Overview of Cloud Foundry
The Hello world application using Cloud Foundry
Data design for IIoT applications
Data ingestion
Timeseries/telemetry data
The in-memory Blob and OLTP data stores
Analytics for IIoT
Descriptive analytics – insight into device health
Predictive analytics - understanding the future failure modes of the device
Prescriptive analytics: advice on possible outcomes
The anatomy of our first IIoT application
Edge Gateway triggering alerts
Cloud connectivity using WebSockets
Cloud microservices aggregating the alerts
IIoT/IoT platforms overview
Predix IIoT architecture
AWS IoT application architecture
Google IoT application architecture
Summary
IIoT Edge Development
Hardware for prototypes
Variety and cost
Modifications
Comparing options
Supported sensors
Choosing hardware
Community
Choosing a data exchange protocol
Application-level protocols – HTTP
Assembling a device
Preparing an SD card
Running a sensor application on an RPi
Running a receiver application on a PC
Application-level protocols – WebSocket
Assembling a device
Preparing an SD card
Running a sensor application on an RPi
Running a receiver application on a PC
Industrial M2M protocols – Modbus
Preparing an SD card
Running a hub application on an RPi
Running a simulator application on an RPi
Running a receiver application on a PC
Running a receiver application in Predix
Industrial M2M protocols – OPC UA
Preparing an SD card
Running a simulator application on an RPi
Running a receiver application on a PC
Running a receiver application in Predix
Running a hub application on an RPi
Getting statistics
Data management options in Predix
Asset
Event Hub
Time series
Database as a Service
Blobstore
Message Queue
Predix cache
Predix Functions
Predix Message Queue
Predix-Search
Predix Insights
Predix Columnar Store
Summary
Data for IIoT
Data for IIoT
Challenges in handling IIoT data
Data architecture for IIoT
Technology stack to handle data for IIoT
Best practices and standards
Sample code and frameworks for handling data
Summary
Advanced Analytics for the IIoT
IIoT business use cases and analytics
Power plant performance using heat rate
Manufacturing process
IIoT analytics types
Reliable analytics
Efficient analytics
Profitable analytics
Digital twins
What-if – analysis and simulations
Recommendation notifications and alarms
Analytics catalog and market opportunity
IIoT analytics – cloud and edge
Cloud-based analytics
Edge-based analytics
Cloud and edge–analytics combined
IIoT data for analytics
Time series data
Asset data
Process recipes and steps
Manufacturing Execution System (MES) data
IIoT analytics – architecture
Big data and analytics – technology stack
Automation and cloud provisioning
Big data and analytics – architecture
Data ingestion
Data streaming
Data computing
Data persistence
Data search
Applications
Analytics definition
Streaming and batch analytics
Event-driven analytics
ETL pipelines
Analytics orchestration
Advanced analytics – artificial intelligence machine learning and deep learning
Building a model
Exploratory data analysis
Analytics life cycle
Machine learning model life cycle
Training a model
Testing a model
Validating a model
Predictions using a model
Retraining a model
Model performance
Hypertuning parameters or the optimization of model parameters
Model performance metrics
Determining outliers and offset management
Continuous training of a model
ML pipelines and orchestration
IIoT data
ETL
Feature extraction process
Model generation process
Storing the model
Developing an ML pipeline
IIoT data variety
Spatial analytics
Image analysis
Acoustics – based analytics
Machine learning types
Supervised learning
Unsupervised learning
PMML for predictive analytics
Event – driven machine learning model
Event – driven model architecture
Building models in offline mode
Reference architecture
Real-time model tuning and deployment
Machine learning as a service
Creating an ML model endpoint
Step 1
Step 2
Step 3
Containerization of machine learning models
Legacy analytics and challenges
Containerization for legacy analytics
Data for legacy analytics
Analytic Orchestration - Architecture
Analytics orchestration
Data flow
Pros and cons of this approach
Time series data-based analytics
Windows-based calculations
Forecasting of time series data points
Developing a neural network using Keras and TensorFlow using Jupyter
Environment setup
Developing the neural network
Developing an analytics for analyzing time series data using Spark
Environment setup
Creating a Spark-based Notebook and creating the Spark session
Developing streaming analytics using Spark
Environment setup
Developing the streaming analytics
Summary
Developing Your First Application for IIoT
Developing and modeling assets using the S95 standard
ISA-95 control levels
Exchange of asset data as represented in S95
Selecting a storage
Relational DBMS
Key-value stores
Advanced forms
Document stores
Graph DBMS
Time series DBMS
RDF stores
Object-oriented DBMS
Search engines
MultiValue DBMS
Wide column stores
Native XML DBMS
Content stores
Event stores
Navigational DBMS
Blockchain
Important considerations
Time series storage
Using InfluxDB as a time series storage
Creating instances of assets and adding time series data
Understanding the analytics
Exploring descriptive analytics with InfluxDB
Example – count the field values associated with a field key
Example – calculate the mean field value associated with a field key
Deploying your first analytics
Examples of queries with InfluxDB analytical functions
Example – select all fields and tags from a single measurement
Example – group query results by a single tag
Running a query
Visualizing time series data and charts
Visualizing time series data with Highcharts
Visualizing time series data with Grafana
Grafana building blocks
Running Grafana
Configuring a Grafana visualization
Graph panel
Visualizing the outcomes of the analytics as alerts
Configuring email notifications
Configuring notifications via Slack
Configuring alerts in Grafana
Summary
Deployment Scale and Security
IIoT security practices
Key principles of securing IIoT applications
Phase 1 – third-party and architecture risk assessments
Phase 2 – technical security assessments
Static analysis security testing (SAST)
Dynamic analysis security testing (DAST)
Open source scans
Phase 3 – secure by design
Phase 4 – penetration testing
IIoT device security design and architecture
IIoT device and IIoT device management
IIoT device communication and privacy controls
IIoT device communication and encryption
IIoT device user privacy controls
IIoT device placement in the network
IIoT Gateway security principles
TPM
TEE
IIoT Gateway network security
IIoT Gateway authentication
IIoT cloud security architecture and design
IIoT API security
IIoT access control
IIoT identity store
IIoT security analytics
IIoT application deployment
IIoT applications at scale
Capacity planning
Testing for load/performance
Measure and identify bottlenecks
Scale individual components
X-scaling or horizontal duplication
Y-axis scaling
Z-axis scaling
Summary
Reliability Fault Tolerance and Monitoring IIoT Applications
Complexity of an IIoT system
Art of building reliable and resilient IIoT applications
Designing for reliability on the cloud
Programming for network latency using the circuit breaker pattern
Issues and considerations
When to use this pattern
Example
Handling for bandwidth constraints and transport costs using the API Gateway pattern
Issues and considerations
When to use this pattern
Example
Enabling discoverability of the microservices to handle topology changes using Eureka
Issues and considerations
When to use this pattern
Example
The art of building a fault-tolerant IIoT device and edge gateway
Designing for reliability at the sensors and devices
Challenges in building reliable connectivity for devices in industrial environments
Designing for reliable communication
Designing for reliability at the gateway
Monitoring IIoT applications (edge and cloud)
Monitoring IoT services on the cloud
Monitoring microservices using health endpoints
Example using Spring Actuator
Monitoring IoT devices and gateway strategies
IoT device management and provisioning strategies
Device onboarding and discovery
IoT device monitoring and control strategy
Summary
Implementing IIoT Applications with Predix
Basics of asset modeling with the Asset service
The Asset service in detail
An example of a classification object
Developing your first asset model with GE's Predix
Creating an instance of the Asset service
Binding an Asset service instance to your application
Enabling a UAA client to use the Asset service
Creating instances of assets
Adding an asset to the Asset service
Introducing changes to an asset
Viewing an asset
Deleting an asset
Additional capabilities of the Asset service
Adding Predix time series data to assets
Building an app to read time series data
Creating an instance of the Time Series service
Enabling an app to send data to the Time Series service
Validating data ingestion
Deploying your first GE Predix analytics
The Analytics Framework service
Creating an instance of the Analytics Framework service
Binding an instance of the Analytics Framework service to your application
Building an analytical application to work with Analytics Framework
Creating tests for an analytical application
Adding the analytical app to the Analytics Catalog
Validating testing and deploying an analytical app
Executing the analytical application
Advanced visualization using GE's Predix web components
Predix Design System
Building a web application
Creating an instance of the Views service
Adding and managing UI elements with the Views service
Creating a card
Creating a deck
Linking a card to a deck
Displaying a multicard deck
Adding more UI components to the created web application
Summary
Best Practices for IIoT Applications
Best practices for API development
The API endpoint should be descriptive
Getting the list of devices
Adding a new device
Updating the attributes of an existing device
Deleting a device
Sorting filtering searching and versioning
Sorting of devices by name
Filtering attributes of the device
Searching given an input
Versioning and documentation
The power of polyglot programming
Eventual consistency for higher performance
Strategies to handle multiple versions of the @scale application
Blue-Green deployment
DB migration best practices
The advantages of using established trust between microservices
Client Credentials Grant flow
UX strategy for application adoption
Tracing and logging end to end
Application logs
Tracing of application logs
Runtime logs
Platform logs
Logging architecture guidelines
Summary
Future Direction of the IIoT
Introduction
Emerging use cases
IoT industry standards and their evolution
IIoT security challenges and opportunities
Blockchain for the IoT
Machine learning and the IoT
IoT data types
Future IoT applications
IoT data analytics algorithms
A use case highlighting these three problems
The IIoT landscape and market direction
The industrial IoT – from horizontal platforms to vertical AI-powered solutions
IoT connectivity – key infrastructure progress
Cloud for the IoT
Edge computing for the IoT
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
更新时间:2021-07-23 16:30:11