Slide 1

Slide 1 text

#ougn17 scale weblogic, the k8s way Jorge Quilcate Otoya @jeqo89

Slide 2

Slide 2 text

#ougn17 About me Jorge Quilcate Otoya Back-end/Integration Developer at Sysco Middleware @jeqo89 | github.com/jeqo | jeqo.github.io

Slide 3

Slide 3 text

#ougn17 goals ➔ Analyze the impact of containers and cloud strategies in the Oracle Fusion Middleware #FMW world. ➔ Evaluate how a popular container (or data center) orchestrator, as Kubernetes #k8s, can manage WebLogic clusters.

Slide 4

Slide 4 text

#ougn17 Containers and Immutability “Designs are driving towards immutability. We need immutability to coordinate at ever increasing distances.” - Pat Helland Immutability Changes Everything - Pat Helland http://cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf

Slide 5

Slide 5 text

#ougn17 container abstractions* ➔ Images ➔ Process ➔ Network ➔ Storage *that make sense

Slide 6

Slide 6 text

#ougn17 Mutability is bad!!! “...Hosted applications need to be upgraded regularly. Configuration changes are regularly needed to tweak the environment so that it runs efficiently and communicates properly with other systems. This requires some mix of command-line invocations, jumping between GUI screens, and editing text files. The result is a unique snowflake - good for a ski resort, bad for a data center.” Snowflake Server - Martin Fowler http://martinfowler.com/bliki/SnowflakeServer.html

Slide 7

Slide 7 text

#ougn17 Remember: The WebLogic Admin Console is like a bank, not a friend... It will borrow configurations that will have to be payed putting them in WLST and a CVS Use it with caution. Basically is how you achieve *Snowflake Servers*

Slide 8

Slide 8 text

#ougn17 “If you’re using containers today, and you can’t rebuild everything with the push of a button, you’re not really using containers. You’re running a custom Linux distribution. Don’t roll your own crypto, don’t roll your own distro. ” Looks like you have a bad case of embedded libraries - @joshbressers http://sobersecurity.blogspot.no/2017/01/looks-like-you-have-bad-case-of.html

Slide 9

Slide 9 text

#ougn17 demo: intro to docker and containers

Slide 10

Slide 10 text

#ougn17 … so let’s focus on the application https://twitter.com/kelseyhightower/status/795357251833737216

Slide 11

Slide 11 text

#ougn17 Oracle WebLogic Application Server

Slide 12

Slide 12 text

#ougn17 container’s polysemy from Greek: πολυ-, poly-, "many" and σῆμα, sêma, "sign" ➔ Linux Containers ➔ Java EE Containers: Servlet/EJB ➔ OSGi Containers (OSB?) ➔ Corba Containers ➔ WebLogic Multi-Tenancy Partitions ➔ … K8S Docker Container WLS Domain WLS Cluster WLS Server My app???

Slide 13

Slide 13 text

#ougn17 weblogic deployment architecture In 2 min 1 Domain → 1 Admin Server 1 Domain → * Managed Servers * Managed Servers → 1 Cluster 1 Domain → * Clusters * Applications → 1 Managed Server * Applications → 1 Cluster 1 Domain → * Machines 1 Machine → * Servers 1 System → * Applications (+ Libs) 1 System → 1 Domain/1 Cluster/1 Server

Slide 14

Slide 14 text

#ougn17 scaling weblogic 1. Configured Cluster 2. Dynamic (Template) Cluster 3. Multi-Tenancy/Partitions (aka “micro-domains”) 4. JCS*

Slide 15

Slide 15 text

#ougn17 demo: breaking down a weblogic domain into containers

Slide 16

Slide 16 text

#ougn17 … so let’s the database outside of the equation https://twitter.com/kelseyhightower/status/822488055709712384 https://twitter.com/waxzce/status/829420329177083904

Slide 17

Slide 17 text

#ougn17 Orchestrate Containers using Kubernetes

Slide 18

Slide 18 text

#ougn17 “we must treat the datacenter itself as one massive warehouse-scale computer” The Datacenter as a Computer - Luiz Andre Barroso, Urs Hoelzle Kubernetes for Sysadmins - Kelsey Hightower… playing tetris :) https://www.youtube.com/watch?v=HlAXp0-M6SY

Slide 19

Slide 19 text

#ougn17 ➔ Cluster, Nodes and Namespaces ➔ Pods and Containers ➔ Deployments and Services kubernetes concepts basic

Slide 20

Slide 20 text

#ougn17 … so let’s use it :) https://twitter.com/kelseyhightower/status/822488055709712384

Slide 21

Slide 21 text

#ougn17 demo: autoscaling weblogic “stateless” application with kubernetes

Slide 22

Slide 22 text

#ougn17 ➔ ConfigMaps and Secrets ➔ StatefulSets and PersistentVolumes kubernetes concepts Configuration and Stateful apps

Slide 23

Slide 23 text

#ougn17 demo: scale a stateful weblogic domain with kubernetes

Slide 24

Slide 24 text

#ougn17 Thanks! Twitter: @jeqo89 GitHub: /jeqo Blog: jeqo.github.io Code: github.com/jeqo/talk-scale-wls-k8s-way