Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Partner Webcast – Running Oracle Weblogic Server in Kubernetes using WebLogic Operator

384 views

Published on

Oracle WebLogic application server is one of the most popular platforms for running and managing the classic JEE applications. Thanks to its flexible architecture it provides reliable and robust foundation for complex business applications, usually built as monolithic systems with all components (queues, business logic, UI etc.) packaged together. However, the IT market seems to be irreversibly shifting from monolithic applications towards distributed, highly available microservices with independent development lifecycles, very often running in the cloud. The platform for running such microservices is no longer classical JEE server, but rather a cloud native container orchestrator such as Kubernetes.

Read More @ https://blogs.oracle.com/imc/partner-webcast-running-oracle-weblogic-server-in-kubernetes-using-weblogic-operator

Presenter: Lukasz Romaszewski – EMEA Partner Innovation & Modernization Center – Cloud Transformation Consultant

Published in: Technology
  • Be the first to comment

Partner Webcast – Running Oracle Weblogic Server in Kubernetes using WebLogic Operator

  1. 1. Oracle Weblogic Server in Kubernetes (WebLogic Operator) Łukasz Romaszewski Cloud & Implementation Consultant Partner Innovation & Modernization Center Oracle Cloud Center of Excellence
  2. 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. Statements in this presentation relating to Oracle’s future plans, expectations, beliefs, intentions and prospects are “forward-looking statements” and are subject to material risks and uncertainties. A detailed discussion of these factors and other risks that affect our business is contained in Oracle’s Securities and Exchange Commission (SEC) filings, including our most recent reports on Form 10-K and Form 10-Q under the heading “Risk Factors.” These filings are available on the SEC’s website or on Oracle’s website at http://www.oracle.com/investor. All information in this presentation is current as of September 2019 and Oracle undertakes no duty to update any statement in light of new information or future events. Safe Harbor 3
  3. 3. Oracle WebLogic Server The present and the future
  4. 4. 5
  5. 5. 6
  6. 6. 7
  7. 7. 8
  8. 8. 9
  9. 9. 10
  10. 10. 11
  11. 11. 12
  12. 12. 13
  13. 13. 14
  14. 14. 15
  15. 15. WebLogic Kubernetes Operator - introduction 16
  16. 16. Kubernetes Custom Resources A custom resource (CR) allows you to define your own object that extends the Kubernetes API. A custom resource definition (CRD) file defines your own object kinds and lets the Kubernetes API server to begin serving the specified custom resource. The CRD is defined in a yaml file that represents the CR. To create the custom resource kubectl apply –f domain.yaml 17 domain.yaml
  17. 17. WebLogic Domain in Kubernetes 18 Domain Custom Resource Meta Data: Name of Resource, Namespace, Labels, … Admin Server: Node Ports to expose, Volumes, … Cluster: Number of Replicas (Managed Servers), … Domain: Image to base the Domain containers, Domain in PV or in Image, K8S secrets, Logs to pod Managed Servers: non-clustered MS Server Pod: Java Options, Start Policy (Lifecycle control) Events: Domain Custom Resource • We create a Kubernetes Resource Object for the WebLogic domain.  This is a data structure representation of the WebLogic domain in Kubernetes. • Domain Custom Resource allows you to declare or specify the desired state of the resource. • Allows the Kubernetes API server to begin serving the custom resource object. • The WebLogic Kubernetes Operator is a controller that is always looking at the Domain Custom Resource and tries to match the actual state to this desired state.
  18. 18. Why build the WebLogic Kubernetes Operator? • Contains built-in knowledge about how to perform lifecycle operations on a domain • Uses Kubernetes APIs to automate lifecycle operations: • Provisioning • Life cycle management • Updates • Scaling • Security • Creates Kubernetes services for the domain • Does not configure domain or replace Admin Server 1 9 POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster Kubernetes Cluster Manage Pods KubernetesOperator Orchestrate WebLogic DockerHub Oracle WebLogic OperatorGitHub WebLogic Kubernetes Operator
  19. 19. WebLogic Domain in Kubernetes Operator 2 0 Kubernetes Kubernetes Cluster Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Domain Home in Image
  20. 20. WebLogic Domain in Kubernetes Operator 2 1 Kubernetes Kubernetes Cluster Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Secrets
  21. 21. WebLogic Domain in Kubernetes Operator 2 2 Kubernetes Kubernetes Cluster Operator Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Secrets
  22. 22. WebLogic Domain in Kubernetes Operator 2 3 Kubernetes Kubernetes Cluster Operator Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Secrets
  23. 23. WebLogic Domain in Kubernetes Operator 2 4 Kubernetes Kubernetes Cluster Operator Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Secrets
  24. 24. WebLogic Domain in Kubernetes Operator 2 5 Kubernetes Kubernetes Cluster Operator Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Install Domain inputs (yaml) Secrets
  25. 25. WebLogic Domain in Kubernetes Operator 2 6 Kubernetes Kubernetes Cluster Operator Domain CR Customer Tenancy Kubernetes WLS Domain Image Repository Operator Image Install Domain inputs (yaml) kubectl apply … Secrets
  26. 26. WebLogic Domain in Kubernetes Operator 2 7 Kubernetes POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster Kubernetes Cluster Operator Domain CR Customer Tenancy WebLogic Domain(s) Kubernetes WLS Domain Image Repository Operator Image Logs Secrets
  27. 27. WebLogic Domain in Kubernetes Operator 2 8 Kubernetes POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster Kubernetes Cluster Customer Tenancy WebLogic Domain(s) Kubernetes WLS Domain Image Repository Operator Image Logs Domain CR Operator Secrets
  28. 28. WebLogic Domain in Kubernetes Operator 2 9 Kubernetes Kubernetes Cluster Operator Customer Tenancy Secrets Kubernetes WLS Install Image Repository Operator Image Domain CR Install Domain inputs (yaml) kubectl apply … POD 1 POD 2 AS MS POD 3 MS POD 4 POD 5 POD 6 MS MSMS WLS Cluster WebLogic Domain(s) PVLogs Domain Home Apps Domain Home in PV 1 2 3 4 5
  29. 29. Domain in PV/C vs Image 30 Options Domain in PV/C Domain in Image Domain Topology Changes • Apply to domain in PV • New Image Configuration Changes (tunables, credentials, ...) • Change configuration in domain in PV • Overrides only Patching • New Image • CI/CD (new image) Application Updates • Apply to domain in PV • CI/CD (new image) Management of PV/PVC • More complex (filesystem shared per domain) • Simple (not shared, per server) Administration Console • Supports Application Deployment, Configuration Changes, Monitoring, Diagnostics. • Lifecycle management not supported. • Supports Monitoring, Diagnostics. • Application Deployment, Configuration Changes, Lifecycle management not supported. Log Persistence • Supported (PV, Pod FS, Elastic Stack, Standard Out) • Supported (PV, Pod FS, Elastic Stack, Standard Out) HA Across Availability Domain • Limited (requirement for shared PV) • Supported (no requirement for shared PV) DR across Regions • Supported Active/Passive (like on premise, user responsible for maintaining domain configuration in sync across DC) • Supported Active/Passive (User takes image to the other region. User does not need to sync domain configuration across DC.)
  30. 30. Which model should I use? The key difference is how updates are handled Java updates WebLogic patching WebLogic configuration changes Application updates Are you fully embracing the CI/CD "DevOps" model and intend to manage change through that process? E.g. create new images every time there is an update. Are you making changes to configurations and deployments in running systems? E.g. run WLST online to dynamically change your domain configuration. 31
  31. 31. WebLogic K8s Architecture WLS Domain Shared State Admin Server Pod Container Persistent Volume / Claim MS Pod Container Clustered MS1 Pod Container Clustered MS2 Pod Container Clustered MS3 Pod Container MS NodePort Service ClusterIP Service ClusterIP Service ClusterIP Service MS T3 NodePort Service ClusterIP Service selecting all Pods in WebLogic cluster Ingress Admin Credentials Secret Created by Operator Created by Customer Operational spec and Status for Domain Domain AS NodePort Service AS T3 NodePort Service Domain Namespace 32
  32. 32. WebLogic K8s Architecture Operator and Load Balancer Operator Pod Container Operator Namespace NodePort Service ClusterIP Service Config Map Ingress Created by Ingress Controller Helm Created by Operator Helm Roles & Bindings Ingress Controller Pod Container Ingress Controller Namespace Services for IC Statistics Roles & Bindings Created by Customer 33
  33. 33. WebLogic Monitoring Exporter • Monitoring Exporter enables Prometheus monitoring of WebLogic • Standard monitoring tools can be used for monitoring WebLogic • Grafana Dashboards used for visualization • Prometheus auto-scaling of WebLogic cluster • Prometheus and Grafana example GitHub Sample 3 4 MS MS Kubernetes Kubernetes Operator WebLogic WebLogic WebLogic Monitor Scale WLS
  34. 34. WebLogic Logging Exporter • Logging Exporter enables exporting WebLogic server logs to the Elastic Stack • Store logs in the Elastic Stack • Search and analyze logs in Elastichsearch • Display logs in dashboards in Kibana • Integrate with FluentD (future) • GitHub weblogic-logging-exporter 3 5 MS MS Kubernetes Kubernetes Operator WebLogic WebLogic WebLogic
  35. 35. WebLogic Deploy Tooling • Introspect domains • WebLogic 10.3.6, 12.1.3, 12.2.1.X • Supports ADF domain introspection • Create a model (yaml) of the domain • Migrate existing domains and applications Upgrade (if required) to 12.2.1.X • Customize and Validate configuration to meet Kubernetes requirements. • Create domains in Docker image GitHub Sample 3 6 WebLogic WebLogic WebLogic WebLogic Deploy Tooling Domain Model
  36. 36. Patching WebLogic Image with WebLogic Image Tool 3 7 Kubernetes Repository Operator Image WLS 12.2.1.3 Binary Image WLS 12.2.1.3 JDK 8_u202 OL 7.5 p29135930 & p27117282 WLS 12.2.1.3 Binary Image from Repository p29135930 & p27117282 Download p29135930 & p27117282 My Oracle Support WLS 12.2.1.3 p29135930 & p27117282 Domain yaml model & Application binaries WLS Image Tool WLS 12.2.1.3 patched Binary Image WLS Domain Image Patched Inputs Pass in MOS credentials Oracle Linux 7 Server JRE 8u202 WebLogic 12.2.1.3 binaries Apply patches p29135930 & p27117282 Apply patches p29135930 & p27117282 WebLogic 12.2.1.3 binary image Apply patches p29135930 & p27117282 WebLogic 12.2.1.3 binary image Domain Customize image or update a lower layer and patch Patch the WebLogic binaries. E,g, Domain in PV/C use case. Patch the WebLogic binaries and build domain inside of the image. E.g. Domain in Image use case. Use Cases Pass in MOS credentials Pass in MOS credentials
  37. 37. Demo WebLogic Kubernetes Operator installation and configuration 38
  38. 38. Summary • Moving traditional JEE applications to the cloud native environment is anything but easy • Full rewrite to modern microservice based architecture is expensive and time consuming • WebLogic Operator for Kubernetes enables smooth transition from existing on-premise FMW installations to the cloud native world: • Preserves investments in tools and technologies • New features can be developed as modern microservices • Brings JEE applications to agile DevOps lifecycle 39
  39. 39. Next Steps • Get started with WebLogic Operator for Kubernetes: • https://oracle.github.io/weblogic-kubernetes- operator/userguide/introduction/introduction/ • Read the blog posts: • https://technology.amis.nl/2019/09/28/deploying-an-oracle-weblogic- domain-on-a-kubernetes-cluster-using-oracle-weblogic-server- kubernetes-operator/ • Try Oracle Cloud Infrastructure for free: • https://www.oracle.com/cloud/free 40
  40. 40. Partner Innovation & Modernization Center Partner.IMC@beehiveonline.oracle.com blogs.oracle.com/imc twitter.com/OracleIMC facebook.com/OracleIMC github.com/OracleIMC youtube.com/user/OracleIMCTeam linkedin.com/groups/4535240
  41. 41. Thank you 42 Łukasz Romaszewski
  42. 42. 43

×