Summary: A high-level overview of the Elastic Middleware Services

The approach behind the Elastic Middleware Services is a simple high-level abstraction of a deployment request. The deployment request is characterized by declarative traits and mapped to physical resources.

Characteristics

On-Demand

Automatic provisioning on available resources, allocating service instances based on memory and machine availability, to address the capacity required.

Multi-Tenant

Share resources with other tenants (users), or restrict resources to a single tenant or even a single service, thereby reducing the cost of ownership per user. These three levels of isolation decouple the services. The basic level of isolation is the JVM - for which we ensure that no two services share.

There are various trade-offs between sharing and isolation. With isolation you get better security and control of your own environment, but lower utilization and higher cost. With sharing, you can reduce cost and still achieve reasonable isolation, but not at the same level as when running on a dedicated resource.

Auto-Scale

A fully automated built-in SLA allows a service to span across more machines, or down-scale when needed. A deployment is equipped with an ability to react to scale-out and scale-in events by specifying a scale-handler hook per-service.

For example, a memory based SLA, upon memory shortage, can trigger a request to scale-up on an available machine or scale-out to a new machine; and alternately scale-down or scale-in when resources are no longer needed.

Highly Available

A highly available data grid means to have hot fail-over to a complete replica, allowing clients accessing the data to be completely unaware of failure. When a machine fails, steps are taken to amend the compromised state of the services. Either instantiating the backup on an available machine, or on a new machine.

Continuous Re-balancing

To ensure an optimum utilization of resources, services are continuously balanced. This can be based on the number of service instances per machine, or number of data-grid (primary) instances across machines.

These actions were deigned to take place while the application is running, ensuring no transaction or data loss during the process. In-flight transactions continue to be served with no noticeable hiccups.

GigaSpaces.com - Legal Notice - 3rd Party Licenses - Site Map - API Docs - Forum - Downloads - Blog - White Papers - Contact Tech Writing - Gen. by Atlassian Confluence