Presentation by Lex van Sonderen, CEO of Firelay, about why you should run Liferay DXP on the Firelay Container Engine which is powered by Red Hat OpenShift.
3. History of web hosting
❏ 1995: hosting on dedicated servers
❏ 2005: hosting on virtual machines
❏ AWS was born in 2006
❏ the Cloud revolution
❏ (but servers remain complex...)
❏ 2005: Google hosts on containers
❏ applications as cattle vs pets
❏ easy to manage many
❏ auto recovery
❏ auto scaling
6. Containers vs Virtualization
- More efficient resource consumption
- No guest operating systems
- Flexible resources iso. fixed resources
- Easier, faster to setup and manage Applications
- Only application specifics by developers
- No guest operating systems by IT operations
- Less to manage and update
- (Docker Puppet)
- Less to manage by IT operations
- Host operating system
- Container management system
10. ● This is a Kubernetes Cluster.
● This Cluster consists of 3 Nodes.
Each Node is a server.
● Software (Eg. webserver, appserver,
database etc) runs in a container in
a Pod.
● Kubernetes manages the Pods
● Deployments contain all settings to
run Software in the Pod, enabling
automated setup.
Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3
Service Layer
Routing Layer
DB ServiceStorage Service
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes Nodes and Pods
Deployment
11. ● Kubernetes may start (using the
Deployment) and terminate Pods
anytime anywhere in the Cluster.
● Pods are ephemeral.
● Kubernetes may start multiple Pods
of the same Deployment if wanted
or needed (scaling).
● Kubernetes monitors CPU usage
and may start extra Pods
(auto-scaling)
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
C Pod
A Pod
D Pod
B Pod
D Pod
B Pod
D Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes Nodes and Pods
13. ● Kubernetes executes health checks
● When Kubernetes detects a Pod is
unhealthy
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
C Pod
A Pod
D Pod
B Pod
D Pod
B Pod
D Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes auto-recovery
14. ● Kubernetes executes health checks
● When Kubernetes detects a Pod is
unhealthy, it will start a new Pod
(using the Deployment)
● It may allocate the new Pod
anywhere in the Cluster.
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
C Pod
A Pod
D Pod
B Pod
D Pod
B Pod
D Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
B Pod
Kubernetes auto-recovery
15. ● Kubernetes executes health checks
● When Kubernetes detects a Pod is
unhealthy, it will start a new Pod
(using the Deployment)
● It may allocate the new Pod
anywhere in the Cluster.
● Finally, Kubernetes will terminate
the unhealthy Pod.
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
C Pod
A Pod
D Pod D Pod
B Pod
D Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
B Pod
Kubernetes auto-recovery
16. ● When a Node (server) fails OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes auto-recovery
17. ● When a Node (server) fails,
Kubernetes detects the Pods are
unhealthy
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes auto-recovery
18. ● When a Node (server) fails,
Kubernetes detects the Pods are
unhealthy.
● Kubernetes will Deploy the Pods on
healthy Nodes.
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes auto-recovery
19. ● When a Node (server) fails,
Kubernetes detects the Pods are
unhealthy.
● Kubernetes will Deploy the Pods on
healthy Nodes.
● Finally the node is restarted.
OpenShift / Kubernetes Cluster
NamespaceNNamespace1
Node 1
Internet
Node 2 Node 3 Node 4
Kubernetes Service Layer
OpenShift Routing Layer
DB ServiceStorage Service
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Pod
Kubernetes auto-recovery
20. 1. scaling and auto-scaling: adapts to business needs
2. auto-recovery: higher uptime > 99,9%
3. effective use of resources: more flexibility and lower cost
4. for any (Linux) application
5. open source
6. complex
Kubernetes features
23. Kubernetes features plus...
1. role-based access for better security
2. continuous integration with Jenkins
3. rolling deployments and rollback
4. user-friendly web gui
5. log monitoring and shell access for analysis
6. optional enterprise level support
OpenShift features
25. 1. on demand, as a service
2. resource consumption monitoring
3. Liferay Templates
4. Liferay development tools
5. 24x7 support
6. ISO27001 & NEN5710 certified
7. EU (DE FR NL) based infrastructure
8. available on-premises
Firelay’s Liferay Container Engine
26. 1. scaling and autoscaling - adapts to business needs
2. autorecovery - high availability
3. (Liferay) Templates - identical environments for OTAP
4. Integrated development/deployment - easy updates
5. rolling deployments and rollback - less downtime
6. as a service - ready to go
7. OpenShift, ISO27001 certified - information security
Firelay’s Liferay Container Engine
28. Openshift / Kubernetes Cluster
ProductionNamespace
Node 1
Percona MySQL
VPN Service
Internet
Node 2 Node 3 Node 4
(spare)Nginx
Liferay LiferayLiferay
Nginx
Elasticsearch Elasticsearch Elasticsearch
Percona MySQL Percona MySQL
Openshift Routing Layer
SQL DB Service
Gluster FS
NFS Service
29. How do we work together with OpenShift?
1. Firelay provides OpenShift in EU or on your infrastructure
2. Firelay provides environment Templates
a. Liferay (+ clustering); Elastic Search
3. Developers make environments on-demand
4. Developers develop and deploy new releases
5. Firelay manages and monitors and updates