The Oracle PaaS cloud is turning into the next generation application server platform. More specifically: Oracle has announced the roadmap for the Application Container Cloud Service (not to be confused with the plain Container Cloud Service which runs pre built Docker containers without looking into them). The Application Container Cloud Servic
- accepts and runs applications (not containers) implemented in a number of technologies – Node.js, Java SE, PHP, Python, Ruby, Go and Spark/Hadoop (?!) are currently suggested
- handles scaling [ based on rules that describe metrics such as max response time and max number of requests] automatically
- handles monitoring, security, scheduling and other generic, platform wide facilities; I assume that the Application Container Cloud Service can easily feed data into Oracle Management Cloud Service for fine grained and real time monitoring
- allows bindings between applications and between applications and other Oracle PaaS Cloud service instances
- provides a number of generic facilities that each application can plug into and make use of; the facilities are called multi-tenant services
(the next picture is taken from Thomas Kurian’s keynote session during Oracle OpenWorld 2016)
Examples of these multi-tenant services that each application deployed on the Application Container Cloud Service can make use of are:
- a Cache (volatile, in memory data, based on Coherence),
- a database (persistent data store),
- logstash (an open source data collection engine with real-time pipelining capabilities that can dynamically unify data from disparate sources and normalize the data into destinations of your choice)
- Elasticsearch (a distributed, open source search and analytics engine, designed for horizontal scalability, reliability, and easy management thaty combines the speed of search with the power of analytics via a sophisticated, developer-friendly query language covering structured, unstructured, and time-series data)
- Kibana (for visualizing data pushed into Elasticsearch from Logstash, ES-Hadoop, Beats, or third-party technologies like Apache Flume, Fluentd, and many others. )
- etcd (an open source distributed key value store that provides a reliable way to store data across a cluster of machines, somewhat similar to Zookeeper)
The next screenshot – also from a demo in Thomas Kurian’s session – visualizes how a Node.js application running on Application Container Cloud makes us of the Redis Multitenant Service for managing some of its data. Note that the developers in this case only developed the Node.js application and created their data structures in Redis. They did not work with Docker nor did they install any component such as Node.js or Redis. The environment that provides these service is provided to them – courtesy of the application contain cloud service.
And this picture visualizes the auto-scaling that can be configured, rule based: