Oracle WebLogic on Kubernetes
With the number of applications in use at CERN ever increasing, we need to extend our disaster recovery plan — originally conceived for databases — to also include our infrastructure based on Oracle WebLogic. We are therefore working to evaluate technologies like Kubernetes, so as to make it quicker and easier to build our middleware services at CERN. Kubernetes is an open-source system for automating deployment, scaling, and management of containerised applications. By using its functions for federating resources, we can also potentially simplify any migration from private, on-premises cloud resources to commercial, public clouds.
In a world where users always want to be connected and able to access their resources at any moment, reliability and ‘zero downtime’ are becoming first-class requirements. Today, thanks to the diverse range of cloud technologies available, achieving this is becoming easier than ever before. Nevertheless, it is important that we fully explore issues related to privacy, security, logging, monitoring, etc. Following an initial phase of thorough investigation and testing with Kubernetes, we believe that Oracle Cloud and Oracle WebLogic are good candidates for fulfilling our needs.
After starting with a Kubernetes cluster prototype, our current testing environment now uses OpenStack Magnum as an on-premises solution for managing CERN’s private cloud. In 2017, we built a CERN image of Oracle WebLogic, selected ELK stack (Elastic, Logstash, Kibana) as a solution for log collection and visualisation, and implemented TIG stack (Telegraf, InfluxDB, Grafana) as solution for gathering metrics. We also conducted investigations into HAProxy, an open-source load-balancer; these suggest that it would be an efficient and reliable solution. Security is of vital importance too: all of the external traffic uses transport-layer security, so we are working hard to implement this internally.
In addition, we are collaborating with various engineering teams from Oracle, providing feedback on solutions (like the beta version of Oracle’s Kubernetes Engine) that could be used to help us to set up Oracle WebLogic infrastructure and test CERN applications in the Oracle Cloud. Initial investigation into live migration returned positive results: we managed to run and switch an Nginx web server from the CERN private cloud to the Oracle Cloud.
In the first months of 2018, we will deliver on-premises clusters to our community of developers at CERN for testing; with additional testing to be carried out in Oracle Cloud later in the year. These tests will be crucial in informing the development of our disaster recovery plan for Oracle WebLogic at CERN. In parallel, we will begin investigation of Spinnaker, which is an open-source delivery platform that could be used to help us to deploy applications and create Kubernetes Clusters across different cloud platforms.
- A. Nappi. HAProxy High Availability Setup. Databases at CERN blog. 2017. http://cern.ch/go/9vPf
- A. Nappi. HAProxy Canary Deployment. Databases at CERN blog. 2017. http://cern.ch/go/89ff
- A.Nappi, L.F. Rodriguez, WebLogic on Kubernetes( 17 January), Presented at CERN openlab meeting with Oracle in Geneva, Geneva, 2017. http://cern.ch/go/dW8J
- A.Nappi, L.F. Rodriguez, WebLogic on Kubernetes (15-17 August), Presented at Oracle Workshop Bristol, Bristol, 2017. http://cern.ch/go/dW8J
- S. A. Monsalve, Development of WebLogic 12c Management Tools (15 August), Presented at CERN openlab summer students’ lightning talks, Geneva 2017. http://cern.ch/go/V8pM
- A. Nappi, WebLogic on Kubernetes (21 September), Presented at CERN openlab Open Day, Geneva, 2017. http://cern.ch/go/dW8J
- A.Nappi, L.F. Rodriguez, Oracle Weblogic on Containers: Beyond the frontiers of your Data Centre Openday (21 September), Presented at CERN openlab Open Day, Geneva, 2017. http://cern.ch/go/nrh8
- A.Nappi, WebLogic on Kubernetes (20 October), Presented at Official Visit of Oracle PD Monica Ricelli in Geneva to discuss about WebLogic and Kubernetes, Geneva, 2017. http://cern.ch/go/N8LD