Author Topic: Deployment of Cloud Services and Keystore Deployment  (Read 5841 times)

Carl P.

  • EA Novice
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Deployment of Cloud Services and Keystore Deployment
« on: October 27, 2016, 08:00:31 am »
Hello everyone,

We plan implement "Cloud Services" and "Services Keystore". We are planning utilser a VMWare infrastructure. All users are connected over a LAN link.

Note that our repository is currently on an Oracle database server (11gR2) and we found performance problems. We are considering migrate to MySQL or MariaDB (I know this is not officially supported by Sparx, but with MySQL ODBC client, it works).

I would like to benefit from your experience regarding the following points.
  • What is your virtual server configuration (CPU, RAM)?
  • Your BD service is it installed on the same server as the other 2 services or on a separate server?
  • Which database type do you use?
  • If using MariaDB, is Windows or Linux?
  • Any other information you deem relevant.

Thanks for your collaboration which will be appreciated  8).
Carl,

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13404
  • Karma: +567/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Deployment of Cloud Services and Keystore Deployment
« Reply #1 on: October 27, 2016, 02:38:02 pm »
HI Carl,

I can't help you wit the specs, but I can tell you that your performance will definitely improve after switching to MySQL.
(probably even if you run MySQL on a local workstation under someone's desk  :P)

Geert

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Deployment of Cloud Services and Keystore Deployment
« Reply #2 on: October 27, 2016, 09:24:05 pm »
Hi Carl,


I'm just finishing off a setting-up project for a client with the same services, but a different platform (Windows only, SQL Server).

One pitfall to look out for is the network. The keystore requires IPv4. If your network runs IPv6, you'll have to use a license file instead.

I don't have the specs on the VM, but we run the cloud and DB servers on the same host. I see no reason to split them unless you're getting into network security issues, which you shouldn't if you're all on a LAN. Remember, the cloud service is just a proxy for one or more databases -- you want to minimize that overhead.

Our original intent was to run the keystore on the same server as well, but because IPv6 turned out to be a key requirement we scrapped that. Here you might want to consider service robustness. People who use EA don't have to work in DBMS repositories, but they have to have a license. So if you co-deploy these services and the host goes down you lose both the databases and the licenses, which affects those using file-based repositories. (There's no need to separate the cloud service for this reason, since the cloud service can't do anything if the databases are unavailable.)

This organization uses a lot of EA-generated HTML, so we decided to set up a web server to serve this up due to performance issues when browsing directly over the (Windows) network file system (this is a corporate intranet spanning several countries). The setup for that is quite simple: the server exports a file share where users can place their EA-generated HTML dumps. The web server can then serve up the HTML from what to it is a local directory, giving good performance when the models are browsed.

We deployed the web server to the same host as the database and cloud servers, for cost and complexity reasons. For robustness, it should instead be deployed on a different host. The web server has no need to communicate with either the databases or the cloud service.

Finally, in case you need to manage firewalls, these are the network ports used by the EA client and services:
  • Keystore service: single TCP port (default 7770) for EA client and KeystoreManager (admin).
  • Cloud service: one TCP port (default 803) for SSCloudServicesClient (admin), one TCP port (default 804) for EA client.
In addition, both the cloud server and the EA client need to connect to whatever port the database server listens on (the EA client doesn't need this if you're planning to connect exclusively via the cloud service). If you implement a web server as outlined, the EA client needs to be able to access the network file system, but then it probably needs to do that anyway for MDG Technologies.

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

bockfu

  • EA User
  • **
  • Posts: 55
  • Karma: +4/-1
    • View Profile
Re: Deployment of Cloud Services and Keystore Deployment
« Reply #3 on: October 30, 2016, 01:11:53 am »
I'm working on something comparable.   Still working out the details but we've determined more than 4GB of RAM is essential and our VM currently has 16GB RAM.