Notification Actions Engine

From E-COMPASS_Info_Guide
Revision as of 15:00, 8 January 2016 by Tobias (talk | contribs) (Preparation)
Jump to navigation Jump to search

Physical Hardware Characteristics

Model: Cisco UCS B200 M4 und M2 / Cisco UCS B230 M2
Processor: 2 socket CPUs with 12, 20 or 24 cores
RAM: 256 GB
Hard Drive Space: SAN Storage mirrored HP 3par System 7400c with 100 TB each
Network Connection: between VMs: 10 Gbit, SAN Storage connection: 8 Gbit FibreChannel at minimum, outward: 10 Gbit Ethernet
Hypervisor used: VMware ESX 6 with vSphere Center 6 in the Cluster
Physical Load Balancing: none

Virtual Machine Hardware Specifications and Operating System

Guest Operating System: Microsoft Windows 8 (64bit)
Processor: 4
RAM: 3 GB GB
Hard Drive Space VM: 44 GB
Network Connection: 10 Gbit/s
Minimum required Network Connection: no info available

Service Environment and Set-up on VM

Required Software
Software Download
MySQL Server 5.6 (Community Edition) dev.mysql.com/downloads/mysql/
PIWIK – Open Analytics Platform piwik.org
Java 6.X java.com

Software Licenses

Please indicate if a commercial provider would need to buy commercial licenses of a certain software used for operating the service and – if so – what cost this may produce approximately

  • EsperTech Java library (www.espertech.com): Cost for a commercial license range between USD $300 and USD $1800 per perpetual Java Virtual Machine (JVM).
  • MySQL Community Edition (www.mysql.com/products/community): free of charge.
  • Windows 8 64-bit: < € 100

OS Environment Variables

JAVA_HOME: path to Java installation e.g. C:\Program Files (x86)\Java\jdk1.8.0_51

Path: should contain path to Java bin folder e.g. C:\Program Files (x86)\Java\jdk1.8.0_51\bin

Installation

Java: Latest Java JDK (not JRE) has to be installed. File and instructions can be found on http://www.oracle.com/technetwork/java/javase/downloads/index.html JAVA_HOME and Path environment variables must be set.
MySQL Community Edition: File and instructions can be found on http://dev.mysql.com/downloads/
Java Jetty Server and Application: Copy war and jar file in any folder and start the application by clicking on the jar-File.

==== Preparation ====´ Before starting the installation a valid property file has to be provided. The properties file contains the following information:

  1. identifier for properties file

properties.owner=LIVE-VM-DEV

                        1. database ############

jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/cep_core jdbc.username=root jdbc.password=********

                        1. piwik ############
  1. Piwik auth-token

piwik.token=******** piwik.serverUrl=http://137.123.234/piwik-dev/

                        1. email-service ############

mailservice.sender=SME E-Compass MailService <xxx@xxx.com> mailservice.smtp_host=mailhost mailservice.smtp_port=25 mailservice.smtp_username=user mailservice.smtp_password=******** mailservice.localhost=dns name of virtual machine

                        1. other ############

httpcomponents.urlReadTimeout=20000 httpcomponents.urlConnectionTimeout=20000 cep.rest.baseUrl=https://dns name of virtual machine/processengine/

                        1. Unit Tests ############

test.email=mail@mail.com

                        1. Address for retrieving conversion rate ############

uma.address = http://ecompass.com

                        1. price monitor ############

price.service.address = http://pricemonitor.com


This property file has to be stored on the virtual machine. To define the path to this property file you can start the application with the following command: java -jar -DARGS_CONFIG_CEP="C:\ecompass.properties"

Service Configuration

Configuration script

availability / location

README / User Manual

availability / location

Configuration steps

… Configuration of REST endpoints at: …

Operation

Service startup procedure

Restarting the service

Service Logs

Recurring Manual Actions / Maintenance Tasks

Other

Limitations of the service

With which parameters does the service scale?

How many concurrent E-Shops, how many concurrent products and how many users/E-Shop customers are possible without causing loss in quality/speed for the hardware described above?

Parameters relevant for the scaling of this module are the overall number of users of all E-Shops and the number of rules. Each rule generates one request every ten minutes, i.e. the rules are checked every ten minutes. Each request takes 100 - 200 ms of time. So in ten minutes a maximum of 3000 request should be possible without further parallelization. There is one special kind of rule, which is the voucher rule (i.e. if a user shows a certain behaviour on the E-Shop a voucher is shown to him). This rule generates traffic depending on user behaviour, which means that this is not predictable. Therefore the above estimate can only give an orientation, not a guaranteed limit and one should always keep reserves for situations in which many users (over all E-Shops) show a behaviour that triggers a voucher rule.
If higher scaling was wanted, which of the hardware parameters would need to be increased?
The number of CPUs/CPU cores is the most critical. Eventually RAM and Storage may need to be increased also.
What else would be adjusted for higher scalability?
In order to make use of more CPU cores the software code would need to be parallelized, which is currently not the case.
Which further configuration would be necessary?

Contact Information Notification & Actions Engine

Florian Maier, florian.maier@iao.fraunhofer.de, +49 711 970-5121

Christopher Ruff, christopher.ruff@iao.fraunhofer.de, +49 711 970-2402