SlideShare una empresa de Scribd logo
1 de 77
Presenters
Kevin McClusky
Co-Director of Sales Engineering
Inductive Automation
Don Pearson
Chief Strategy Officer
Inductive Automation
Today’s Agenda
• Introduction: Architecture and Performance
• How Do I Pick the Right Architecture?
• Standard Architecture
• SQL Database Sizing Tips
• Scale-Out Architecture
• Cloud Architectures
• Security
• Optimizations
• Running Ignition on Virtual Machines
• Q&A
Ignition: The Industrial
Application Platform
• Unlimited licensing model
• Cross-platform compatibility
• Based on IT-standard technologies
• Scalable server-client architecture
• Web-managed
• Launch on desktop or mobile
• Modular configurability
• Rapid development and deployment
One Universal Platform for HMI, SCADA, MES & IIoT:
One Universal Platform for HMI/SCADA, MES & IIoT:
• Unlimited licensing model
• Cross-platform compatibility
• Based on IT-standard technologies
• Scalable server-client architecture
• Web-based & web-managed
• Web-deployed designer & clients
• Modular configurability
• Rapid development & deployment
Ignition: Industrial Application Platform
Industry
Introduction: Architecture and Performance
Ignition is a development toolkit for building solutions of all sizes — as
small as a data collector for a few tags or as large as an enterprise
solution with hundreds of devices, hundreds of thousands of tags, and
hundreds of visualization clients.
It is extremely important to find the right architecture and choose the right
sizes of servers so your project works as intended and has room to grow.
Any architecture needs to be fully tested and verified, so you can observe
the server’s performance characteristics and make adjustments to the
architecture. There is no guarantee on performance since it is based on
your design choices.
Ignition’s performance and sizing is based on several different factors:
• Number of device connections
• Types of PLCs (driver)
• Number of tags
• Frequency of tag polling (1 second, 5 seconds, 1 minute, etc.)
• Number of tag value changes per second (% of change)
• Number of concurrent visualization clients
• SQL database throughput (historian, alarm journal, etc.)
• Deployment (physical machine, VM, etc.)
• Network & latency
• And more ...
Introduction: Architecture and Performance
The features you use in Ignition also have a big effect on performance because they require
processing time and memory:
Introduction: Architecture and Performance
• Device communication
• OPC-UA (client and server)
• Tags (OPC, Expression, SQL query, etc.)
• Historian (storage and retrieval)
• Alarming (status, journal, notification
pipelines)
• Transaction groups (especially large
numbers)
• Scheduled PDF reports
• Sequential Function Charts
• Scripting
○ Tag change scripts
○ Scripts running on the server (timer,
message handlers, etc.)
• Visualization clients
○ Number of tag subscriptions on a
screen
○ Polling queries (tag historian,
alarming, custom queries, etc.)
○ Number of Gateway requests
• Gateway Network (remote services, EAM)
• MES functionality
• MQTT or cloud injection
• And more …
Ignition is heavily multithreaded and can handle configurations with all of
those features at reasonable limits.
Some features, such as device communication and tags, have
predictable performance.
Other features, such as visualization clients, have less predictable
performance because of how the user interacts with the system and how
the project is configured.
Introduction: Architecture and Performance
In many cases, a single server is sufficient to handle everything.
However, when projects get large or when we push the limits of Ignition,
we need multiple servers.
Ignition is modular and can scale out by separating different modules and
features onto dedicated servers.
Those separate servers work as one Ignition unit and are completely
transparent to the user, thanks to Ignition’s Gateway Network, standards,
and more.
Introduction: Architecture and Performance
In this webinar, we’ll look at projects of different sizes to
understand their hardware requirements and architecture.
Since Ignition has a lot of different features, this webinar will
focus on the number of devices, tags, and clients.
Based on the Ignition Server Sizing and Architecture Guide
Introduction: Architecture and Performance
Let’s look at the options ...
● Standard
● Scale-Out
● Hub-and-Spoke
● Cloud
How Do I Pick the Right Architecture?
Which of those architectures is best for you? Ask yourself some questions …
● First, think about the physical connections. Are the connections unreliable?
Is there geographic separation? Need resilience if part of the system goes
down? Choose Hub-and-Spoke.
How Do I Pick the Right Architecture?
Hub-and-
Spoke
Architecture
● Need to run in the cloud? Choose a Cloud architecture.
How Do I Pick the Right Architecture?
Cloud
Architecture
Which of those architectures is best for you? Ask yourself some questions …
● Have a small system and a reliable network and can run everything from a
central office or server room? Choose Standard.
How Do I Pick the Right Architecture?
Standard
Architecture
(Single
Server)
● That same setup but the system is large? Choose Scale-Out.
How Do I Pick the Right Architecture?
Scale-Out
Architecture
Scale-Out
Architecture
● Maybe you need to do a variety of those functions. Can you mix and match
architectures? Absolutely!
How Do I Pick the Right Architecture?
Mix & Match
Example:
Scale-Out
with Cloud
● What about IIoT, Industry 4.0, and data collection architectures enabling
digital transformation? These layer into all of the architectures
mentioned.
How Do I Pick the Right Architecture?
How Do I Pick the Right Architecture?
MQTT is often used for:
● Resilient Data Collection
● Single Source of Truth
● Company Adoption of Open Standards
● Low Bandwidth Connections
● Modern Industrial and IT Protocol Support
● Industry 4.0 / IIoT / Digital Transformation initiatives
This webinar is focused on the Ignition Gateways in the
architectures, and every architecture presented can utilize
MQTT for data collection and transfer.
Find more information at
https://inductiveautomation.com/solutions/iiot
Standard Architecture
(Single Server)
● The most common starting Ignition architecture
● Consists of a single on-premise Ignition server connected to a SQL
database, PLCs, and clients.
● All functionality is configured on the same Ignition server
● Ignition has unlimited licensing but is limited by the size of the
hardware. Larger hardware equals more device connections, tags,
and clients.
Standard Architecture (Single Server)
Standard
Architecture
(Single
Server)
Small Ignition Project
Perfect for Edge Panel, Edge IIoT, HMI, small SCADA, data collection, alarming.
Standard Architecture (Single Server)
ARM, 1GB memory, SSD
1-2 devices
500 tags
2 concurrent clients †
2 Cores (2GHz+), 2GB memory, SSD
1-10 devices
2,500 tags
5 concurrent clients †
2 Cores (3 GHz+), 4GB memory, SSD
1-10 devices
5,000 tags
10 concurrent clients †
Medium Ignition Project
Medium full SCADA systems or MES systems.
Standard Architecture (Single Server)
4 Cores (3 GHz+), 4GB memory, SSD
1-25 devices
10,000 tags
20 concurrent clients †
4 Cores (4 GHz+), 8GB memory, SSD
1-50 devices
25,000 tags (40% tag history change at
max)
25 concurrent clients †
4 Cores (4 GHz+), 16GB memory, SSD
1-100 devices
50,000 tags (20% tag history change at
max)
50 concurrent clients †
Large Ignition Project
Large full SCADA systems or MES systems.
Standard Architecture (Single Server)
8 Cores (4 GHz+), 8GB memory, SSD
1-100 devices
75,000 tags (10% tag history change at
max)
50 concurrent clients †
8 Cores (4 GHz+), 16GB memory, SSD
1-100 devices
100,000 tags (10% tag history change at
max)
75 concurrent clients †
16 Cores (4 GHz+), 32GB memory,
SSD
1-100 devices
150,000 tags (6% tag history change at
max)
100 concurrent clients †
A Note About Single-Server Architectures:
† Results can vary based on design choices. The examples are based
on typical usage. Faster polling rates, increased value changes, and
utilization of other Ignition features, such as scripts, Transaction Groups,
SFCs, and more, can significantly impact the overall performance.
Standard Architecture (Single Server)
SQL Database
In all of the following scenarios, the SQL database should be on its own
dedicated server.
If you put the database on the same server as Ignition, you will need
more processing power and memory.
Here are some basic database sizing tips ...
SQL Database
Small Historian
2 Cores (2 GHz+), 2GB memory, SSD
0-100 value changes per second
Requires approximately 300GB disk space/year if 100% of the values are
changing every second sustained
(Requires approx. 6GB with 2% change, smaller with slower rates)
2 Cores (2 GHz+), 4GB memory, SSD
100-500 value changes per second
Requires approximately 3TB disk space/year if 100% of the values are
changing every second sustained
(Requires approx. 60GB with 2% change, smaller with slower rates)
SQL Database Sizing Tips
Medium Historian
4 Cores (4 GHz+), 8GB memory, SSD
500-2,500 value changes per second
Requires approx. 7TB disk space/year if 100% of the values are
changing every second sustained
(Requires approx. 150GB with 2% change, smaller with slower rates)
4 Cores (4 GHz+), 16GB memory, SSD
2,500-5,000 value changes per second
Requires approx. 15TB disk space/year if 100% of the values are
changing every second sustained
(Requires approx. 300GB with 2% change, smaller with slower rates)
SQL Database Sizing Tips
Large Historian
8 Cores (4 GHz+), 16GB memory, SSD
5,000 - 10,000 value changes per second
Requires approx. 30TB/year if 100% of the values are changing every
second sustained
(Requires approx. 60GB with 2% change, smaller with slower rates)
SQL Database Sizing Tips
A Note About Databases: Some databases on a properly tuned server can
max out at 10,000 value changes per second. For example, stay within
5,000 for MySQL. Microsoft SQL Server can handle up to 20,000-30,000
value changes per second with the latest version.
Throughput and query speed is dependent on hardware and database
setup. Speed of retrieving data in Ignition can also be impacted with higher
storage throughput.
For higher throughput, install another Ignition instance on the same server
as the database and use Ignition’s remote tag history through the Gateway
Network.
SQL Database Sizing Tips
You can adjust the amount of memory allocated in Ignition’s ignition.conf configuration
file. You need to set the proper amount of memory for each of the scenarios shown
here.
Typically, you can leave 1-2GB of memory to the OS and use the rest for Ignition.
For more details, refer to “Gateway Configuration File Reference” in the Ignition Online
User Manual at docs.inductiveautomation.com
A Note About Ignition Memory
Scale-Out Architectures
Scale-Out Architecture
● In larger systems, it is often easier to have multiple Ignition
installations to help split the load between frontend and backend
tasks.
● Perfect for single large systems that aren't split up into different sites.
● The Hub and Spoke Architecture is usually a better fit for systems split
into different sites.
Scale-Out Architecture
Scale-Out Architecture
● The Scale-Out architecture has at least one Gateway that handles
backend communications.
● The backend Gateway deals with all PLC and device communications.
● The frontend Gateway handles all of the Clients, serving up the data
pulled from the backend Gateway.
● This is made possible through the Gateway Network connecting
Gateways to each other and allowing tag sharing through remote tag
providers.
Scale-Out Architecture
Gateway Network – Connects multiple Gateways over a WAN and opens
up many distributed features between Gateways
Gateway Network features include:
● Dedicated HTTP data channel
● Set up a node to act as a proxy for another node
● Security settings (restrict incoming connections based on a whitelist or
on manual approval; or disable incoming connections entirely)
● Available SSL mode
Scale-Out Architecture
More Gateway Network Features:
● Enterprise Administration
○ Enterprise Administration Module (EAM) uses the Gateway
Network for message and file transfer
○ Can monitor network connections for availability
○ Reports whenever communications are lost via alarm events
and system tags
● Distributed Services
○ Remote Real-time Tag Providers
○ Remote Historical Tag Providers
○ Remote Alarming
○ Remote Alarm Journal
○ Remote Audit Logs
● Security Zones
● Service Security
Scale-Out Architecture
Scale-Out
Architecture:
One I/O / One
Frontend
Scale-Out
Architecture:
One OPC-UA
Server / One
I/O / One
Frontend
Scale-Out
Architecture:
Two I/O /
One
Frontend
Tag Provider Best Practice
● Provide proper names to your tag providers
● Make the names consistent across the I/O and the frontend
● Avoid using the default provider that comes in a standard installation
● It is common to create a new realtime tag provider on the I/O server
with a name that describes that I/O server and is distinguished from
other I/O servers. On the frontend server, create a remote tag provider
with the same name as the I/O server so the two are consistent.
Scale-Out Architecture
Tag Paths
Recommendation: Use fully-qualified tag paths in your projects, especially with visualization
templates and screens.
Example of a non-fully-qualified tag path:
Path/to/my/tag
Example of a fully-qualified tag path:
[TagProviderName]Path/to/my/tag
Scale-Out Architecture
← DON’T DO THIS! ❌
← DO THIS! ✔️
Scale-Out
Architecture:
Full Scale-
Out With
Load
Balancer
Cloud Architectures
Cloud
Architecture
Security
Scale-Out
with Cloud
Find more best practices for Ignition security in our Security
Hardening Guide.
inductiveautomation.com/resources/article/ignition-security-
hardening-guide
Security
Optimizations
When it comes to tags, value changes are the most important metric to
look at.
● Defined as a change in value that is more than the configured
deadband.
● Deadbands can be absolute or percentage-based.
Example: Analog value with a deadband of 0.1
A change from 7.89 to 7.88 would not be considered a
change.
A change from 7.89 to 7.9 would be considered a change.
● Usually, any change with discrete values is considered a change,
since we are dealing with a state.
● Deadbands are configurable on a per-tag basis.
Optimizations
● Value changes have to be processed for alarms, historian, and
more.
● That processing requires memory and compute time. The more
tags changing per second, the more processing.
● An Ignition server at the high end can handle approx. 50,000 value
changes per second processing through the tag system, alarming,
historian, and clients. However, some SQL databases have a limit
of 10,000 value changes per second on a dedicated instance.
● Recommendation: Try to reduce the number of value changes per
second.
● Ignition can handle more devices, tags, and clients through
optimization and reducing value changes.
Optimizations
Here are some scenarios that show what a server can handle.
(Each scenario represents a number of tags that max out performance
on a server.)
● 10,000 tags at 1 second rate with 100% changing = 10,000 values/sec
● 50,000 tags at 5 second rate with 100% changing = 10,000 values/sec
● 100,000 tags at 1 second rate with 10% changing = 10,000 values/sec
● 500,000 tags at 5 second rate with 10% changing = 10,000 values/sec
● 500 devices with 100 tags each = 50,000 tags @ 5 second rate with
100% changing = 10,000 values / sec
As you can see, more tags can be handled by optimizing poll
rates & deadbands.
Optimizations
Optimize your system by paying close attention to the number of value
changes happening every second.
Here are some things to consider:
● Polling Rates
● Deadbands
● Leased and Driven Tag Groups
● Event-driven
● Scripts
● Avoid Polling Queries and Use Caching
● Tag Historian Stale Data Detection
● Vision Client Tag Poll Rate
● Gateway Network Optimizations
● Remote Tag Provider Alarm Subscription
● Remote Tag Provider History Mode
Optimizations
Polling rates
● Tag groups (or scan classes) dictate how often Ignition polls data
from PLCs.
● Make sure you are using proper polling rates. Not everything has
to be at a 1-second rate. Some values can be polled slower than
others since they don’t change very often.
● Try to determine all of the possible polling rates you require.
Optimizations
Deadbands
● Deadbands log fewer data points, particularly when value changes are too
small to be significant.
● Especially useful in a process that inspects with a high frequency but is
most interested in capturing value changes exceeding a defined magnitude
or percentage.
● Deadbands can be absolute or percentage-based
● Two deadband modes: digital and analog.
● There are deadbands on both realtime and historical tags.
● Without proper deadbands, systems will log ‘noise’ on analog signals. It
should never have more sensitivity for logging than a sensor’s rated
precision.
● The better you tune your deadbands, the fewer value changes you will
have in the system. You can avoid fluttering on analog values and costly
historian storage.
Optimizations
Leased and Driven Tag Groups
● Tag groups tell Ignition how often to poll the PLC, and dictate the execution of
tags, which is especially important for large & high-performance systems.
● Recommended: Organize tag groups by polling strategies. It is common to use
a fast tag group for status and control, and a slower tag group for history.
● Driven tag groups are a great option for history where faster logging is
conditionally required.
● Leased tag groups are a great option when you only want to poll tags when it is
needed on a screen.
● When using Ignition’s OPC-UA server and drivers with leased or driven tag
groups, we recommend creating two device connections to the PLC if allowed:
One connection for the direct tag groups and one connection for leased and
driven tag groups.
Optimizations
Event-Driven
● Extremely important: Only execute logic on change, especially with expressions
and SQL queries, to avoid additional computation when values haven’t
changed.
● Ignition 8.0+ introduced new execution modes on tags, including “Event-Driven”
● Event-driven only fires the expression or SQL query when a dependency
changes (i.e., tag value event or alarm event) versus running at a specific rate
all the time, thereby reducing a lot of unnecessary computations.
● Recommendations:
○ Use event-driven on expressions, derived tags, and SQL query tags
○ Set a tag’s history mode to “On Change”
Optimizations
Scripts
● It is very important to understand where and when scripts are running.
● Avoid runScript expressions unless absolutely necessary.
● Avoid lots of timer scripts on the Gateway or in the client.
● Avoid lots of tag change scripts.
● Try to reduce the number of scripts on both the server and clients.
● Use expressions instead of scripts wherever possible.
● Use scripting where it makes sense, but be mindful of the processing power
required.
Optimizations
Avoid Polling Queries and Use Caching
● Setting up polling queries to the historian, alarm journal, audit logs, or custom
SQL queries, in a client places additional load on the Ignition server, especially
when lots of clients are open.
● Recommendation: Try to reduce the number of polling queries or just turn them
off.
● Instead, put a refresh button on the UI to run the query on-demand (available in
both Vision and Perspective)
● Named queries can opt-in to caching results on the Gateway. This uses more
Gateway memory but could reduce queries running against the database.
● When polling is necessary or if you have a lot of clients open, use named
queries with caching for better performance.
Optimizations
Tag Historian Stale Data Detection
● If enabled, this feature tracks tag group executions to determine the difference
between unchanging values and flat values due to the system not running. This
feature is on by default.
● Although useful at times, having this feature enabled can lead to lots of rows in
the sqlth_sce table in the database, inadvertently causing performance issues
querying historical data.
● Recommendation: Unless absolutely necessary, turn this feature off and simply
let the system track values as they change.
○ Instructions about how to turn off the feature are in The Ignition Server
Sizing and Architecture Guide
● If there are clock drift or system issues, those should also be dealt with as and
treated as separate issues to resolve.
Optimizations
Vision Client Tag Poll Rate
● Vision clients and the Ignition designer communicate to the Ignition Gateway to
get tag values. You only need to get the data you want to see on screen. In that
case, Vision clients and the designer create a subscription on the tags that they
need.
● However, the Gateway cannot notify the client/designer when a tag changes so
it polls the Gateway. By default, the client poll rate setting is set to 250ms. The
rate is quite fast but typically not a problem. However, a high number of Vision
clients can cause additional load on the server. You can easily reduce this load
by changing the setting to 1 second. The setting for this is in the designer under
Project → Properties on the Project → General tab.
Optimizations
Gateway Network Optimizations
● It’s easy to send lots of data unintentionally. Make sure you know what and how
much data is going through the network.
● Check the diagnostic page in the Gateway status section to see incoming and
outgoing traffic by the Gateway Network service.
● Recommendation: Optimize the communication to ensure Gateway Network
health.
Remote Tag Provider Alarm Subscription
● Either turn alarming off or set the mode for how you want to retrieve alarms.
● Recommendation: Use the “Subscribed” mode for optimal communication.
○ The state will be subscribed, and updates will be sent asynchronously.
○ This mode provides better performance but uses more memory.
○ Especially important with lots of Gateway Network connections & alarms.
Optimizations
Remote Tag Provider History Mode
● Recommendation for most cases: Connect a frontend Gateway to the SQL
database directly and use historical tag paths to query the data.
● Recommendation if using realtime tag paths to query history: Set the remote
tag provider to use the “Database” mode for history access. Instead of asking
the I/O server for historical data, you can short-circuit and query the database
directly, requiring a direct connection to the SQL database. If no SQL
connection is available, try to reduce the amount of history queries and avoid
costly queries with large time ranges and data.
Optimizations
Running Ignition on
Virtual Machines
Software
● Ignition runs on any hypervisor that properly emulates hardware and an OS.
● When running on a VM, Ignition is most commonly used on VMWare, although
Inductive Automation does not recommend VMWare above other hypervisors.
● As long as resource allocation is appropriate, Ignition has not seen hypervisor-
specific issues in any recent virtualization software.
Resource Allocation
● CPU and memory allocation should be determined by the engineers creating
the Ignition projects.
● Small systems may be 4 vCPUs with 8GB of RAM.
● Very large systems could be 32 vCPUs or more with 64+GB RAM.
● When Ignition is running small systems with only a few clients and tags, normal
resource allocation is often acceptable.
● When it is running critical applications or any kind of significant load, dedicated
resources are required for the system to stay performant.
Running Ignition on Virtual Machines
Dedicated Resources
● When first specing an Ignition Gateway’s needs, always
mention the need for dedicated vCPUs and memory. If an
Ignition Gateway starts small, it might not be initially needed,
but as it grows dedicated resources will be required to avoid
issues. If dedicated resources aren’t initially configured, there
may later be pushback from IT departments.
VMWare-Specific Settings
● In VMWare, this is most commonly configured by setting
Latency Sensitivity to High.
● After configuring this, check to make sure the vCPU
allocation is 100% dedicated to the Ignition VM. If not, the
whole VM Host is over-provisioned, and this will need to be
fixed.
Running Ignition on Virtual Machines
VMWare References
VMWare 5.5 Latency Sensitivity
vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/latency-sensitive-
perf-vsphere55-white-paper.pdf
VMWare 6.7 Latency Sensitivity
www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/v
sphere-esxi-vcenter-server-67-performance-best-practices.pdf
The Ignition Server Sizing and Architecture Guide
inductiveautomation.com/resources/article/ignition-server-sizing-and-architecture-guide
(Also available in Handouts on your GoToWebinar control panel)
More Information
Design Like a Pro: How to Pick the Right System Architecture
Design Like a Pro: How to Pick the Right System Architecture
Design Like a Pro: How to Pick the Right System Architecture
Design Like a Pro: How to Pick the Right System Architecture

Más contenido relacionado

La actualidad más candente

Design Like a Pro: How to Best Plan Your Perspective Project
Design Like a Pro: How to Best Plan Your Perspective ProjectDesign Like a Pro: How to Best Plan Your Perspective Project
Design Like a Pro: How to Best Plan Your Perspective ProjectInductive Automation
 
Design Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIsDesign Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIsInductive Automation
 
How to Easily Build SCADA & HMI HTML5 Web Applications
How to Easily Build SCADA & HMI HTML5 Web ApplicationsHow to Easily Build SCADA & HMI HTML5 Web Applications
How to Easily Build SCADA & HMI HTML5 Web ApplicationsInductive Automation
 
5 Mobile-Responsive Layout Strategies
5 Mobile-Responsive Layout Strategies5 Mobile-Responsive Layout Strategies
5 Mobile-Responsive Layout StrategiesInductive Automation
 
Fixing SCADA: How Ignition Saves Money
Fixing SCADA: How Ignition Saves MoneyFixing SCADA: How Ignition Saves Money
Fixing SCADA: How Ignition Saves MoneyInductive Automation
 
How Ignition Eases SCADA Pain Points
How Ignition Eases SCADA Pain PointsHow Ignition Eases SCADA Pain Points
How Ignition Eases SCADA Pain PointsInductive Automation
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionInductive Automation
 
Design Like a Pro: Machine Learning Basics
Design Like a Pro: Machine Learning BasicsDesign Like a Pro: Machine Learning Basics
Design Like a Pro: Machine Learning BasicsInductive Automation
 
12 Ways to Use PLCs & SQL Databases Together
12 Ways to Use PLCs & SQL Databases Together12 Ways to Use PLCs & SQL Databases Together
12 Ways to Use PLCs & SQL Databases TogetherInductive Automation
 
Leveraging Ignition Quick Start to Rapidly Build Real Projects
Leveraging Ignition Quick Start to Rapidly Build Real ProjectsLeveraging Ignition Quick Start to Rapidly Build Real Projects
Leveraging Ignition Quick Start to Rapidly Build Real ProjectsInductive Automation
 
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition Perspective
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition PerspectiveDesign Like a Pro: Building Mobile-Responsive HMIs in Ignition Perspective
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition PerspectiveInductive Automation
 
Fixing SCADA: How Ignition Saves Time
Fixing SCADA: How Ignition Saves TimeFixing SCADA: How Ignition Saves Time
Fixing SCADA: How Ignition Saves TimeInductive Automation
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDxCentral
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)Milson Munakami
 
Leveraging Ignition for Smart Manufacturing and Digital Transformation
Leveraging Ignition for Smart Manufacturing and Digital TransformationLeveraging Ignition for Smart Manufacturing and Digital Transformation
Leveraging Ignition for Smart Manufacturing and Digital TransformationInductive Automation
 
Design Like a Pro: Basics of Building Mobile-Responsive HMIs
Design Like a Pro: Basics of Building Mobile-Responsive HMIsDesign Like a Pro: Basics of Building Mobile-Responsive HMIs
Design Like a Pro: Basics of Building Mobile-Responsive HMIsInductive Automation
 
Practical IIoT Solutions for Manufacturing
Practical IIoT Solutions for ManufacturingPractical IIoT Solutions for Manufacturing
Practical IIoT Solutions for ManufacturingInductive Automation
 

La actualidad más candente (20)

Design Like a Pro: How to Best Plan Your Perspective Project
Design Like a Pro: How to Best Plan Your Perspective ProjectDesign Like a Pro: How to Best Plan Your Perspective Project
Design Like a Pro: How to Best Plan Your Perspective Project
 
Design Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIsDesign Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIs
 
How to Easily Build SCADA & HMI HTML5 Web Applications
How to Easily Build SCADA & HMI HTML5 Web ApplicationsHow to Easily Build SCADA & HMI HTML5 Web Applications
How to Easily Build SCADA & HMI HTML5 Web Applications
 
5 Mobile-Responsive Layout Strategies
5 Mobile-Responsive Layout Strategies5 Mobile-Responsive Layout Strategies
5 Mobile-Responsive Layout Strategies
 
Fixing SCADA: How Ignition Saves Money
Fixing SCADA: How Ignition Saves MoneyFixing SCADA: How Ignition Saves Money
Fixing SCADA: How Ignition Saves Money
 
How Ignition Eases SCADA Pain Points
How Ignition Eases SCADA Pain PointsHow Ignition Eases SCADA Pain Points
How Ignition Eases SCADA Pain Points
 
Demystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to IgnitionDemystifying SAP Connectivity to Ignition
Demystifying SAP Connectivity to Ignition
 
Design Like a Pro: Machine Learning Basics
Design Like a Pro: Machine Learning BasicsDesign Like a Pro: Machine Learning Basics
Design Like a Pro: Machine Learning Basics
 
12 Ways to Use PLCs & SQL Databases Together
12 Ways to Use PLCs & SQL Databases Together12 Ways to Use PLCs & SQL Databases Together
12 Ways to Use PLCs & SQL Databases Together
 
New Ignition Features In Action
New Ignition Features In ActionNew Ignition Features In Action
New Ignition Features In Action
 
Leveraging Ignition Quick Start to Rapidly Build Real Projects
Leveraging Ignition Quick Start to Rapidly Build Real ProjectsLeveraging Ignition Quick Start to Rapidly Build Real Projects
Leveraging Ignition Quick Start to Rapidly Build Real Projects
 
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition Perspective
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition PerspectiveDesign Like a Pro: Building Mobile-Responsive HMIs in Ignition Perspective
Design Like a Pro: Building Mobile-Responsive HMIs in Ignition Perspective
 
Fixing SCADA: How Ignition Saves Time
Fixing SCADA: How Ignition Saves TimeFixing SCADA: How Ignition Saves Time
Fixing SCADA: How Ignition Saves Time
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 
Software Defined networking (SDN)
Software Defined networking (SDN)Software Defined networking (SDN)
Software Defined networking (SDN)
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Leveraging Ignition for Smart Manufacturing and Digital Transformation
Leveraging Ignition for Smart Manufacturing and Digital TransformationLeveraging Ignition for Smart Manufacturing and Digital Transformation
Leveraging Ignition for Smart Manufacturing and Digital Transformation
 
Design Like a Pro: Basics of Building Mobile-Responsive HMIs
Design Like a Pro: Basics of Building Mobile-Responsive HMIsDesign Like a Pro: Basics of Building Mobile-Responsive HMIs
Design Like a Pro: Basics of Building Mobile-Responsive HMIs
 
Practical IIoT Solutions for Manufacturing
Practical IIoT Solutions for ManufacturingPractical IIoT Solutions for Manufacturing
Practical IIoT Solutions for Manufacturing
 
VMware Ready vRealize Automation Program
VMware Ready vRealize Automation ProgramVMware Ready vRealize Automation Program
VMware Ready vRealize Automation Program
 

Similar a Design Like a Pro: How to Pick the Right System Architecture

AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...
AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...
AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...Amazon Web Services
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureMarco Obinu
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsDeepak Shankar
 
3. ami big data hadoop on ucs seminar may 2013
3. ami big data hadoop on ucs seminar may 20133. ami big data hadoop on ucs seminar may 2013
3. ami big data hadoop on ucs seminar may 2013Taldor Group
 
Building a High Performance Analytics Platform
Building a High Performance Analytics PlatformBuilding a High Performance Analytics Platform
Building a High Performance Analytics PlatformSantanu Dey
 
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo AquinoFInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo AquinoHugo Aquino
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native PlatformSunil Govindan
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native PlatformSunil Govindan
 
KoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginnersKoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginnersTobias Koprowski
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training ClassDeepak Shankar
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8MongoDB
 
CloudOpen Japan - Controlling the cost of your first cloud
CloudOpen Japan - Controlling the cost of your first cloudCloudOpen Japan - Controlling the cost of your first cloud
CloudOpen Japan - Controlling the cost of your first cloudTim Mackey
 
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloudTobias Koprowski
 
Oracle Sistemas Convergentes
Oracle Sistemas ConvergentesOracle Sistemas Convergentes
Oracle Sistemas ConvergentesFran Navarro
 
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015Tobias Koprowski
 
Durable Azure Functions
Durable Azure FunctionsDurable Azure Functions
Durable Azure FunctionsPushkar Saraf
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Community
 
Compute Engine overview _ Sales _ Y21.pptx
Compute Engine overview _ Sales _ Y21.pptxCompute Engine overview _ Sales _ Y21.pptx
Compute Engine overview _ Sales _ Y21.pptxmosharafhossain95
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureIBM Analytics
 

Similar a Design Like a Pro: How to Pick the Right System Architecture (20)

AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...
AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...
AWS re:Invent 2016: Deep Learning, 3D Content Rendering, and Massively Parall...
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su Azure
 
Energy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systemsEnergy efficient AI workload partitioning on multi-core systems
Energy efficient AI workload partitioning on multi-core systems
 
3. ami big data hadoop on ucs seminar may 2013
3. ami big data hadoop on ucs seminar may 20133. ami big data hadoop on ucs seminar may 2013
3. ami big data hadoop on ucs seminar may 2013
 
Building a High Performance Analytics Platform
Building a High Performance Analytics PlatformBuilding a High Performance Analytics Platform
Building a High Performance Analytics Platform
 
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo AquinoFInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
FInal Project - USMx CC605x Cloud Computing for Enterprises - Hugo Aquino
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
KoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginnersKoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginners
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training Class
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8
 
CloudOpen Japan - Controlling the cost of your first cloud
CloudOpen Japan - Controlling the cost of your first cloudCloudOpen Japan - Controlling the cost of your first cloud
CloudOpen Japan - Controlling the cost of your first cloud
 
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#3_Bristol_FromPlanToBackupToCloud
 
Oracle Sistemas Convergentes
Oracle Sistemas ConvergentesOracle Sistemas Convergentes
Oracle Sistemas Convergentes
 
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
 
Durable Azure Functions
Durable Azure FunctionsDurable Azure Functions
Durable Azure Functions
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK
 
Compute Engine overview _ Sales _ Y21.pptx
Compute Engine overview _ Sales _ Y21.pptxCompute Engine overview _ Sales _ Y21.pptx
Compute Engine overview _ Sales _ Y21.pptx
 
Why Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT ArchitectureWhy Gateways are Important in Your IoT Architecture
Why Gateways are Important in Your IoT Architecture
 
Brad stack - Digital Health and Well-Being Festival
Brad stack - Digital Health and Well-Being Festival Brad stack - Digital Health and Well-Being Festival
Brad stack - Digital Health and Well-Being Festival
 

Más de Inductive Automation

De-Risk Your Digital Transformation — And Reduce Time, Cost & Complexity
De-Risk Your Digital Transformation — And Reduce Time, Cost & ComplexityDe-Risk Your Digital Transformation — And Reduce Time, Cost & Complexity
De-Risk Your Digital Transformation — And Reduce Time, Cost & ComplexityInductive Automation
 
Overcoming Digital Transformation Pain Points
Overcoming Digital Transformation Pain PointsOvercoming Digital Transformation Pain Points
Overcoming Digital Transformation Pain PointsInductive Automation
 
Solving Data Problems to Accelerate Digital Transformation.pptx
Solving Data Problems to Accelerate Digital Transformation.pptxSolving Data Problems to Accelerate Digital Transformation.pptx
Solving Data Problems to Accelerate Digital Transformation.pptxInductive Automation
 
Security Best Practices for Your Ignition System
Security Best Practices for Your Ignition SystemSecurity Best Practices for Your Ignition System
Security Best Practices for Your Ignition SystemInductive Automation
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusInductive Automation
 
Integrators Explore the Road Ahead
Integrators Explore the Road AheadIntegrators Explore the Road Ahead
Integrators Explore the Road AheadInductive Automation
 
The Art of Displaying Industrial Data
The Art of Displaying Industrial DataThe Art of Displaying Industrial Data
The Art of Displaying Industrial DataInductive Automation
 
Common Project Mistakes: Visualization, Alarms, and Security
Common Project Mistakes: Visualization, Alarms, and SecurityCommon Project Mistakes: Visualization, Alarms, and Security
Common Project Mistakes: Visualization, Alarms, and SecurityInductive Automation
 
The Evolution of Industrial Visualization
The Evolution of Industrial VisualizationThe Evolution of Industrial Visualization
The Evolution of Industrial VisualizationInductive Automation
 
Historic Opportunities: Discover the Power of Ignition's Historian
Historic Opportunities: Discover the Power of Ignition's HistorianHistoric Opportunities: Discover the Power of Ignition's Historian
Historic Opportunities: Discover the Power of Ignition's HistorianInductive Automation
 
Unlocking Greater Efficiency: The Why and How of OEE Implementation
Unlocking Greater Efficiency: The Why and How of OEE ImplementationUnlocking Greater Efficiency: The Why and How of OEE Implementation
Unlocking Greater Efficiency: The Why and How of OEE ImplementationInductive Automation
 
Integrator Discussion: Leading Through Innovation During COVID-19 and Beyond
Integrator Discussion: Leading Through Innovation During COVID-19 and BeyondIntegrator Discussion: Leading Through Innovation During COVID-19 and Beyond
Integrator Discussion: Leading Through Innovation During COVID-19 and BeyondInductive Automation
 
Ignition Community Live with Carl Gould & Colby Clegg
Ignition Community Live with Carl Gould & Colby CleggIgnition Community Live with Carl Gould & Colby Clegg
Ignition Community Live with Carl Gould & Colby CleggInductive Automation
 
Securely Monitor Critical Systems From Anywhere
Securely Monitor Critical Systems From AnywhereSecurely Monitor Critical Systems From Anywhere
Securely Monitor Critical Systems From AnywhereInductive Automation
 
Pushing the Boundaries of Data Visualization
Pushing the Boundaries of Data VisualizationPushing the Boundaries of Data Visualization
Pushing the Boundaries of Data VisualizationInductive Automation
 

Más de Inductive Automation (16)

De-Risk Your Digital Transformation — And Reduce Time, Cost & Complexity
De-Risk Your Digital Transformation — And Reduce Time, Cost & ComplexityDe-Risk Your Digital Transformation — And Reduce Time, Cost & Complexity
De-Risk Your Digital Transformation — And Reduce Time, Cost & Complexity
 
Overcoming Digital Transformation Pain Points
Overcoming Digital Transformation Pain PointsOvercoming Digital Transformation Pain Points
Overcoming Digital Transformation Pain Points
 
Solving Data Problems to Accelerate Digital Transformation.pptx
Solving Data Problems to Accelerate Digital Transformation.pptxSolving Data Problems to Accelerate Digital Transformation.pptx
Solving Data Problems to Accelerate Digital Transformation.pptx
 
Security Best Practices for Your Ignition System
Security Best Practices for Your Ignition SystemSecurity Best Practices for Your Ignition System
Security Best Practices for Your Ignition System
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
 
Integrators Explore the Road Ahead
Integrators Explore the Road AheadIntegrators Explore the Road Ahead
Integrators Explore the Road Ahead
 
The Art of Displaying Industrial Data
The Art of Displaying Industrial DataThe Art of Displaying Industrial Data
The Art of Displaying Industrial Data
 
Common Project Mistakes: Visualization, Alarms, and Security
Common Project Mistakes: Visualization, Alarms, and SecurityCommon Project Mistakes: Visualization, Alarms, and Security
Common Project Mistakes: Visualization, Alarms, and Security
 
First Steps to DevOps
First Steps to DevOpsFirst Steps to DevOps
First Steps to DevOps
 
The Evolution of Industrial Visualization
The Evolution of Industrial VisualizationThe Evolution of Industrial Visualization
The Evolution of Industrial Visualization
 
Historic Opportunities: Discover the Power of Ignition's Historian
Historic Opportunities: Discover the Power of Ignition's HistorianHistoric Opportunities: Discover the Power of Ignition's Historian
Historic Opportunities: Discover the Power of Ignition's Historian
 
Unlocking Greater Efficiency: The Why and How of OEE Implementation
Unlocking Greater Efficiency: The Why and How of OEE ImplementationUnlocking Greater Efficiency: The Why and How of OEE Implementation
Unlocking Greater Efficiency: The Why and How of OEE Implementation
 
Integrator Discussion: Leading Through Innovation During COVID-19 and Beyond
Integrator Discussion: Leading Through Innovation During COVID-19 and BeyondIntegrator Discussion: Leading Through Innovation During COVID-19 and Beyond
Integrator Discussion: Leading Through Innovation During COVID-19 and Beyond
 
Ignition Community Live with Carl Gould & Colby Clegg
Ignition Community Live with Carl Gould & Colby CleggIgnition Community Live with Carl Gould & Colby Clegg
Ignition Community Live with Carl Gould & Colby Clegg
 
Securely Monitor Critical Systems From Anywhere
Securely Monitor Critical Systems From AnywhereSecurely Monitor Critical Systems From Anywhere
Securely Monitor Critical Systems From Anywhere
 
Pushing the Boundaries of Data Visualization
Pushing the Boundaries of Data VisualizationPushing the Boundaries of Data Visualization
Pushing the Boundaries of Data Visualization
 

Último

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 

Último (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 

Design Like a Pro: How to Pick the Right System Architecture

  • 1.
  • 2. Presenters Kevin McClusky Co-Director of Sales Engineering Inductive Automation Don Pearson Chief Strategy Officer Inductive Automation
  • 3. Today’s Agenda • Introduction: Architecture and Performance • How Do I Pick the Right Architecture? • Standard Architecture • SQL Database Sizing Tips • Scale-Out Architecture • Cloud Architectures • Security • Optimizations • Running Ignition on Virtual Machines • Q&A
  • 4. Ignition: The Industrial Application Platform • Unlimited licensing model • Cross-platform compatibility • Based on IT-standard technologies • Scalable server-client architecture • Web-managed • Launch on desktop or mobile • Modular configurability • Rapid development and deployment One Universal Platform for HMI, SCADA, MES & IIoT: One Universal Platform for HMI/SCADA, MES & IIoT: • Unlimited licensing model • Cross-platform compatibility • Based on IT-standard technologies • Scalable server-client architecture • Web-based & web-managed • Web-deployed designer & clients • Modular configurability • Rapid development & deployment Ignition: Industrial Application Platform
  • 5. Industry Introduction: Architecture and Performance Ignition is a development toolkit for building solutions of all sizes — as small as a data collector for a few tags or as large as an enterprise solution with hundreds of devices, hundreds of thousands of tags, and hundreds of visualization clients. It is extremely important to find the right architecture and choose the right sizes of servers so your project works as intended and has room to grow. Any architecture needs to be fully tested and verified, so you can observe the server’s performance characteristics and make adjustments to the architecture. There is no guarantee on performance since it is based on your design choices.
  • 6. Ignition’s performance and sizing is based on several different factors: • Number of device connections • Types of PLCs (driver) • Number of tags • Frequency of tag polling (1 second, 5 seconds, 1 minute, etc.) • Number of tag value changes per second (% of change) • Number of concurrent visualization clients • SQL database throughput (historian, alarm journal, etc.) • Deployment (physical machine, VM, etc.) • Network & latency • And more ... Introduction: Architecture and Performance
  • 7. The features you use in Ignition also have a big effect on performance because they require processing time and memory: Introduction: Architecture and Performance • Device communication • OPC-UA (client and server) • Tags (OPC, Expression, SQL query, etc.) • Historian (storage and retrieval) • Alarming (status, journal, notification pipelines) • Transaction groups (especially large numbers) • Scheduled PDF reports • Sequential Function Charts • Scripting ○ Tag change scripts ○ Scripts running on the server (timer, message handlers, etc.) • Visualization clients ○ Number of tag subscriptions on a screen ○ Polling queries (tag historian, alarming, custom queries, etc.) ○ Number of Gateway requests • Gateway Network (remote services, EAM) • MES functionality • MQTT or cloud injection • And more …
  • 8. Ignition is heavily multithreaded and can handle configurations with all of those features at reasonable limits. Some features, such as device communication and tags, have predictable performance. Other features, such as visualization clients, have less predictable performance because of how the user interacts with the system and how the project is configured. Introduction: Architecture and Performance
  • 9. In many cases, a single server is sufficient to handle everything. However, when projects get large or when we push the limits of Ignition, we need multiple servers. Ignition is modular and can scale out by separating different modules and features onto dedicated servers. Those separate servers work as one Ignition unit and are completely transparent to the user, thanks to Ignition’s Gateway Network, standards, and more. Introduction: Architecture and Performance
  • 10. In this webinar, we’ll look at projects of different sizes to understand their hardware requirements and architecture. Since Ignition has a lot of different features, this webinar will focus on the number of devices, tags, and clients. Based on the Ignition Server Sizing and Architecture Guide Introduction: Architecture and Performance
  • 11. Let’s look at the options ... ● Standard ● Scale-Out ● Hub-and-Spoke ● Cloud How Do I Pick the Right Architecture?
  • 12. Which of those architectures is best for you? Ask yourself some questions … ● First, think about the physical connections. Are the connections unreliable? Is there geographic separation? Need resilience if part of the system goes down? Choose Hub-and-Spoke. How Do I Pick the Right Architecture?
  • 14. ● Need to run in the cloud? Choose a Cloud architecture. How Do I Pick the Right Architecture?
  • 16. Which of those architectures is best for you? Ask yourself some questions … ● Have a small system and a reliable network and can run everything from a central office or server room? Choose Standard. How Do I Pick the Right Architecture?
  • 18. ● That same setup but the system is large? Choose Scale-Out. How Do I Pick the Right Architecture?
  • 21. ● Maybe you need to do a variety of those functions. Can you mix and match architectures? Absolutely! How Do I Pick the Right Architecture?
  • 23. ● What about IIoT, Industry 4.0, and data collection architectures enabling digital transformation? These layer into all of the architectures mentioned. How Do I Pick the Right Architecture?
  • 24. How Do I Pick the Right Architecture? MQTT is often used for: ● Resilient Data Collection ● Single Source of Truth ● Company Adoption of Open Standards ● Low Bandwidth Connections ● Modern Industrial and IT Protocol Support ● Industry 4.0 / IIoT / Digital Transformation initiatives This webinar is focused on the Ignition Gateways in the architectures, and every architecture presented can utilize MQTT for data collection and transfer. Find more information at https://inductiveautomation.com/solutions/iiot
  • 26. ● The most common starting Ignition architecture ● Consists of a single on-premise Ignition server connected to a SQL database, PLCs, and clients. ● All functionality is configured on the same Ignition server ● Ignition has unlimited licensing but is limited by the size of the hardware. Larger hardware equals more device connections, tags, and clients. Standard Architecture (Single Server)
  • 28. Small Ignition Project Perfect for Edge Panel, Edge IIoT, HMI, small SCADA, data collection, alarming. Standard Architecture (Single Server) ARM, 1GB memory, SSD 1-2 devices 500 tags 2 concurrent clients † 2 Cores (2GHz+), 2GB memory, SSD 1-10 devices 2,500 tags 5 concurrent clients † 2 Cores (3 GHz+), 4GB memory, SSD 1-10 devices 5,000 tags 10 concurrent clients †
  • 29. Medium Ignition Project Medium full SCADA systems or MES systems. Standard Architecture (Single Server) 4 Cores (3 GHz+), 4GB memory, SSD 1-25 devices 10,000 tags 20 concurrent clients † 4 Cores (4 GHz+), 8GB memory, SSD 1-50 devices 25,000 tags (40% tag history change at max) 25 concurrent clients † 4 Cores (4 GHz+), 16GB memory, SSD 1-100 devices 50,000 tags (20% tag history change at max) 50 concurrent clients †
  • 30. Large Ignition Project Large full SCADA systems or MES systems. Standard Architecture (Single Server) 8 Cores (4 GHz+), 8GB memory, SSD 1-100 devices 75,000 tags (10% tag history change at max) 50 concurrent clients † 8 Cores (4 GHz+), 16GB memory, SSD 1-100 devices 100,000 tags (10% tag history change at max) 75 concurrent clients † 16 Cores (4 GHz+), 32GB memory, SSD 1-100 devices 150,000 tags (6% tag history change at max) 100 concurrent clients †
  • 31. A Note About Single-Server Architectures: † Results can vary based on design choices. The examples are based on typical usage. Faster polling rates, increased value changes, and utilization of other Ignition features, such as scripts, Transaction Groups, SFCs, and more, can significantly impact the overall performance. Standard Architecture (Single Server)
  • 33. In all of the following scenarios, the SQL database should be on its own dedicated server. If you put the database on the same server as Ignition, you will need more processing power and memory. Here are some basic database sizing tips ... SQL Database
  • 34. Small Historian 2 Cores (2 GHz+), 2GB memory, SSD 0-100 value changes per second Requires approximately 300GB disk space/year if 100% of the values are changing every second sustained (Requires approx. 6GB with 2% change, smaller with slower rates) 2 Cores (2 GHz+), 4GB memory, SSD 100-500 value changes per second Requires approximately 3TB disk space/year if 100% of the values are changing every second sustained (Requires approx. 60GB with 2% change, smaller with slower rates) SQL Database Sizing Tips
  • 35. Medium Historian 4 Cores (4 GHz+), 8GB memory, SSD 500-2,500 value changes per second Requires approx. 7TB disk space/year if 100% of the values are changing every second sustained (Requires approx. 150GB with 2% change, smaller with slower rates) 4 Cores (4 GHz+), 16GB memory, SSD 2,500-5,000 value changes per second Requires approx. 15TB disk space/year if 100% of the values are changing every second sustained (Requires approx. 300GB with 2% change, smaller with slower rates) SQL Database Sizing Tips
  • 36. Large Historian 8 Cores (4 GHz+), 16GB memory, SSD 5,000 - 10,000 value changes per second Requires approx. 30TB/year if 100% of the values are changing every second sustained (Requires approx. 60GB with 2% change, smaller with slower rates) SQL Database Sizing Tips
  • 37. A Note About Databases: Some databases on a properly tuned server can max out at 10,000 value changes per second. For example, stay within 5,000 for MySQL. Microsoft SQL Server can handle up to 20,000-30,000 value changes per second with the latest version. Throughput and query speed is dependent on hardware and database setup. Speed of retrieving data in Ignition can also be impacted with higher storage throughput. For higher throughput, install another Ignition instance on the same server as the database and use Ignition’s remote tag history through the Gateway Network. SQL Database Sizing Tips
  • 38. You can adjust the amount of memory allocated in Ignition’s ignition.conf configuration file. You need to set the proper amount of memory for each of the scenarios shown here. Typically, you can leave 1-2GB of memory to the OS and use the rest for Ignition. For more details, refer to “Gateway Configuration File Reference” in the Ignition Online User Manual at docs.inductiveautomation.com A Note About Ignition Memory
  • 40. Scale-Out Architecture ● In larger systems, it is often easier to have multiple Ignition installations to help split the load between frontend and backend tasks. ● Perfect for single large systems that aren't split up into different sites. ● The Hub and Spoke Architecture is usually a better fit for systems split into different sites. Scale-Out Architecture
  • 41. Scale-Out Architecture ● The Scale-Out architecture has at least one Gateway that handles backend communications. ● The backend Gateway deals with all PLC and device communications. ● The frontend Gateway handles all of the Clients, serving up the data pulled from the backend Gateway. ● This is made possible through the Gateway Network connecting Gateways to each other and allowing tag sharing through remote tag providers. Scale-Out Architecture
  • 42. Gateway Network – Connects multiple Gateways over a WAN and opens up many distributed features between Gateways Gateway Network features include: ● Dedicated HTTP data channel ● Set up a node to act as a proxy for another node ● Security settings (restrict incoming connections based on a whitelist or on manual approval; or disable incoming connections entirely) ● Available SSL mode Scale-Out Architecture
  • 43. More Gateway Network Features: ● Enterprise Administration ○ Enterprise Administration Module (EAM) uses the Gateway Network for message and file transfer ○ Can monitor network connections for availability ○ Reports whenever communications are lost via alarm events and system tags ● Distributed Services ○ Remote Real-time Tag Providers ○ Remote Historical Tag Providers ○ Remote Alarming ○ Remote Alarm Journal ○ Remote Audit Logs ● Security Zones ● Service Security Scale-Out Architecture
  • 47. Tag Provider Best Practice ● Provide proper names to your tag providers ● Make the names consistent across the I/O and the frontend ● Avoid using the default provider that comes in a standard installation ● It is common to create a new realtime tag provider on the I/O server with a name that describes that I/O server and is distinguished from other I/O servers. On the frontend server, create a remote tag provider with the same name as the I/O server so the two are consistent. Scale-Out Architecture
  • 48. Tag Paths Recommendation: Use fully-qualified tag paths in your projects, especially with visualization templates and screens. Example of a non-fully-qualified tag path: Path/to/my/tag Example of a fully-qualified tag path: [TagProviderName]Path/to/my/tag Scale-Out Architecture ← DON’T DO THIS! ❌ ← DO THIS! ✔️
  • 54. Find more best practices for Ignition security in our Security Hardening Guide. inductiveautomation.com/resources/article/ignition-security- hardening-guide Security
  • 56. When it comes to tags, value changes are the most important metric to look at. ● Defined as a change in value that is more than the configured deadband. ● Deadbands can be absolute or percentage-based. Example: Analog value with a deadband of 0.1 A change from 7.89 to 7.88 would not be considered a change. A change from 7.89 to 7.9 would be considered a change. ● Usually, any change with discrete values is considered a change, since we are dealing with a state. ● Deadbands are configurable on a per-tag basis. Optimizations
  • 57. ● Value changes have to be processed for alarms, historian, and more. ● That processing requires memory and compute time. The more tags changing per second, the more processing. ● An Ignition server at the high end can handle approx. 50,000 value changes per second processing through the tag system, alarming, historian, and clients. However, some SQL databases have a limit of 10,000 value changes per second on a dedicated instance. ● Recommendation: Try to reduce the number of value changes per second. ● Ignition can handle more devices, tags, and clients through optimization and reducing value changes. Optimizations
  • 58. Here are some scenarios that show what a server can handle. (Each scenario represents a number of tags that max out performance on a server.) ● 10,000 tags at 1 second rate with 100% changing = 10,000 values/sec ● 50,000 tags at 5 second rate with 100% changing = 10,000 values/sec ● 100,000 tags at 1 second rate with 10% changing = 10,000 values/sec ● 500,000 tags at 5 second rate with 10% changing = 10,000 values/sec ● 500 devices with 100 tags each = 50,000 tags @ 5 second rate with 100% changing = 10,000 values / sec As you can see, more tags can be handled by optimizing poll rates & deadbands. Optimizations
  • 59. Optimize your system by paying close attention to the number of value changes happening every second. Here are some things to consider: ● Polling Rates ● Deadbands ● Leased and Driven Tag Groups ● Event-driven ● Scripts ● Avoid Polling Queries and Use Caching ● Tag Historian Stale Data Detection ● Vision Client Tag Poll Rate ● Gateway Network Optimizations ● Remote Tag Provider Alarm Subscription ● Remote Tag Provider History Mode Optimizations
  • 60. Polling rates ● Tag groups (or scan classes) dictate how often Ignition polls data from PLCs. ● Make sure you are using proper polling rates. Not everything has to be at a 1-second rate. Some values can be polled slower than others since they don’t change very often. ● Try to determine all of the possible polling rates you require. Optimizations
  • 61. Deadbands ● Deadbands log fewer data points, particularly when value changes are too small to be significant. ● Especially useful in a process that inspects with a high frequency but is most interested in capturing value changes exceeding a defined magnitude or percentage. ● Deadbands can be absolute or percentage-based ● Two deadband modes: digital and analog. ● There are deadbands on both realtime and historical tags. ● Without proper deadbands, systems will log ‘noise’ on analog signals. It should never have more sensitivity for logging than a sensor’s rated precision. ● The better you tune your deadbands, the fewer value changes you will have in the system. You can avoid fluttering on analog values and costly historian storage. Optimizations
  • 62. Leased and Driven Tag Groups ● Tag groups tell Ignition how often to poll the PLC, and dictate the execution of tags, which is especially important for large & high-performance systems. ● Recommended: Organize tag groups by polling strategies. It is common to use a fast tag group for status and control, and a slower tag group for history. ● Driven tag groups are a great option for history where faster logging is conditionally required. ● Leased tag groups are a great option when you only want to poll tags when it is needed on a screen. ● When using Ignition’s OPC-UA server and drivers with leased or driven tag groups, we recommend creating two device connections to the PLC if allowed: One connection for the direct tag groups and one connection for leased and driven tag groups. Optimizations
  • 63. Event-Driven ● Extremely important: Only execute logic on change, especially with expressions and SQL queries, to avoid additional computation when values haven’t changed. ● Ignition 8.0+ introduced new execution modes on tags, including “Event-Driven” ● Event-driven only fires the expression or SQL query when a dependency changes (i.e., tag value event or alarm event) versus running at a specific rate all the time, thereby reducing a lot of unnecessary computations. ● Recommendations: ○ Use event-driven on expressions, derived tags, and SQL query tags ○ Set a tag’s history mode to “On Change” Optimizations
  • 64. Scripts ● It is very important to understand where and when scripts are running. ● Avoid runScript expressions unless absolutely necessary. ● Avoid lots of timer scripts on the Gateway or in the client. ● Avoid lots of tag change scripts. ● Try to reduce the number of scripts on both the server and clients. ● Use expressions instead of scripts wherever possible. ● Use scripting where it makes sense, but be mindful of the processing power required. Optimizations
  • 65. Avoid Polling Queries and Use Caching ● Setting up polling queries to the historian, alarm journal, audit logs, or custom SQL queries, in a client places additional load on the Ignition server, especially when lots of clients are open. ● Recommendation: Try to reduce the number of polling queries or just turn them off. ● Instead, put a refresh button on the UI to run the query on-demand (available in both Vision and Perspective) ● Named queries can opt-in to caching results on the Gateway. This uses more Gateway memory but could reduce queries running against the database. ● When polling is necessary or if you have a lot of clients open, use named queries with caching for better performance. Optimizations
  • 66. Tag Historian Stale Data Detection ● If enabled, this feature tracks tag group executions to determine the difference between unchanging values and flat values due to the system not running. This feature is on by default. ● Although useful at times, having this feature enabled can lead to lots of rows in the sqlth_sce table in the database, inadvertently causing performance issues querying historical data. ● Recommendation: Unless absolutely necessary, turn this feature off and simply let the system track values as they change. ○ Instructions about how to turn off the feature are in The Ignition Server Sizing and Architecture Guide ● If there are clock drift or system issues, those should also be dealt with as and treated as separate issues to resolve. Optimizations
  • 67. Vision Client Tag Poll Rate ● Vision clients and the Ignition designer communicate to the Ignition Gateway to get tag values. You only need to get the data you want to see on screen. In that case, Vision clients and the designer create a subscription on the tags that they need. ● However, the Gateway cannot notify the client/designer when a tag changes so it polls the Gateway. By default, the client poll rate setting is set to 250ms. The rate is quite fast but typically not a problem. However, a high number of Vision clients can cause additional load on the server. You can easily reduce this load by changing the setting to 1 second. The setting for this is in the designer under Project → Properties on the Project → General tab. Optimizations
  • 68. Gateway Network Optimizations ● It’s easy to send lots of data unintentionally. Make sure you know what and how much data is going through the network. ● Check the diagnostic page in the Gateway status section to see incoming and outgoing traffic by the Gateway Network service. ● Recommendation: Optimize the communication to ensure Gateway Network health. Remote Tag Provider Alarm Subscription ● Either turn alarming off or set the mode for how you want to retrieve alarms. ● Recommendation: Use the “Subscribed” mode for optimal communication. ○ The state will be subscribed, and updates will be sent asynchronously. ○ This mode provides better performance but uses more memory. ○ Especially important with lots of Gateway Network connections & alarms. Optimizations
  • 69. Remote Tag Provider History Mode ● Recommendation for most cases: Connect a frontend Gateway to the SQL database directly and use historical tag paths to query the data. ● Recommendation if using realtime tag paths to query history: Set the remote tag provider to use the “Database” mode for history access. Instead of asking the I/O server for historical data, you can short-circuit and query the database directly, requiring a direct connection to the SQL database. If no SQL connection is available, try to reduce the amount of history queries and avoid costly queries with large time ranges and data. Optimizations
  • 71. Software ● Ignition runs on any hypervisor that properly emulates hardware and an OS. ● When running on a VM, Ignition is most commonly used on VMWare, although Inductive Automation does not recommend VMWare above other hypervisors. ● As long as resource allocation is appropriate, Ignition has not seen hypervisor- specific issues in any recent virtualization software. Resource Allocation ● CPU and memory allocation should be determined by the engineers creating the Ignition projects. ● Small systems may be 4 vCPUs with 8GB of RAM. ● Very large systems could be 32 vCPUs or more with 64+GB RAM. ● When Ignition is running small systems with only a few clients and tags, normal resource allocation is often acceptable. ● When it is running critical applications or any kind of significant load, dedicated resources are required for the system to stay performant. Running Ignition on Virtual Machines
  • 72. Dedicated Resources ● When first specing an Ignition Gateway’s needs, always mention the need for dedicated vCPUs and memory. If an Ignition Gateway starts small, it might not be initially needed, but as it grows dedicated resources will be required to avoid issues. If dedicated resources aren’t initially configured, there may later be pushback from IT departments. VMWare-Specific Settings ● In VMWare, this is most commonly configured by setting Latency Sensitivity to High. ● After configuring this, check to make sure the vCPU allocation is 100% dedicated to the Ignition VM. If not, the whole VM Host is over-provisioned, and this will need to be fixed. Running Ignition on Virtual Machines
  • 73. VMWare References VMWare 5.5 Latency Sensitivity vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/latency-sensitive- perf-vsphere55-white-paper.pdf VMWare 6.7 Latency Sensitivity www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/v sphere-esxi-vcenter-server-67-performance-best-practices.pdf The Ignition Server Sizing and Architecture Guide inductiveautomation.com/resources/article/ignition-server-sizing-and-architecture-guide (Also available in Handouts on your GoToWebinar control panel) More Information