Frequently Asked Question

Can I use Plato Applications on Azure?
Last Updated 6 months ago

Application Version: Plato V10 and later, Codectomy V10 and later

Plato applications are deployed as a folder of Windows executables and dlls, with Microsoft C++ and other runtimes, a configuration ini, and a "paf" file containing license and credentialing details. Applications connect to SQL Server or Azure SQL Databases via an encrypted connection string.

Azure SQL Database

Azure SQL databases are highly compatible with SQL Server databases and there are no known incompatibilities for an updated Plato V10 SQL database. If facilities have older databases with deprecated field types (notably TEXT) this represents an opportunity to update those as part of the move to Azure.

Remote Access to Azure SQL database

For a Plato application accessing an Azure SQL database remotely, two configurations are usually required:

  1. Enable the Firewall for the connecting machine's IP Address
  2. Pick up a valid Connection String.

Both of these are standard Azure elements in the portal. Any required firewall settings should be per the facility's Azure firewall policies and the Azure database connection string is applied same as any other connection string in your Plato V10 config.ini.

The credentials specified in the connection string need to allow full CRUD functionality.

ODBC Driver

The database connection string provided by Azure will automatically include a very specific ODBC driver with download link. You could deploy this driver to every machine that needs to access the Azure SQL database, but unless there are specific Azure features you intend to use, usually you can replace this in your connection string with the ODBC driver currently used in your connection string. If the rest of the configuration is correct, the system should connect normally.

Always encrypted or other Microsoft encryption options

With full control over the connection string, customers can deploy ODBC drivers and utilize any Microsoft database encryption from the very old Encrypted Channel all the way up to latest Always Encrypted standard. If asked, Plato recommends Always Encrypted to secure data at every point outside the application, both in motion and at rest.

Stability

When connecting to any remote database server, disconnections may be more likely depending on the quality of the internet connection. Newer Plato apps will attempt to automatically reconnect if an odbc connection is dropped. All Plato versions after V10.2 have this capability.

Deployment

Generally, the Plato application files reside on application server to be run across a LAN, WAN or VPN. Alternatively, they can be accessed via RTS, RDS or Citrix.

Any of these models is easily migrated to Azure, with firewall and other access settings per facility policy.

Specific config:

By default, no specific Plato config is required apart from a possible issue accessing apps remotely. Some V10 apps (e.g. NMDS.exe) need to load assemblies, which .NET does not permit by default from remote locations. If attempted, a .NET network exception occurs. If accessing exes remotely, this .NET default can be overridden using an exe .config file. Facility network gurus will be familiar with this.

As always, the encrypted database connection string will need to allow CRUD access for whatever deployment model is selected and users will need a link or similar to start their applications.

Summary

Plato V10 applications are easily deployed for remote access or via Terminal Services on Azure.

Please Wait!

Please wait... it will take a second!