Slide 1

Slide 1 text

Java Cloud Service & WLS 12c What You Should Know OTN LatAm Tour / DOAG 2017 Dr. Frank Munz munz & more

Slide 2

Slide 2 text

•Founded munz & more in 2007 •> 15 years Middleware, Cloud, and Distributed Computing •Consulting and High-End Training •Wrote two WebLogic and a Cloud book Dr. Frank Munz @frankmunz

Slide 3

Slide 3 text

#1 WebLogic 12c

Slide 4

Slide 4 text

New in WebLogic 12.2.1 1. JDK 8 2. Java EE 7 3. IDE 4. Console 5. Deployment 6. JMS 7. Cluster 8. WLST 9. WLDF 10. REST 11. Docker 12. Multi Tenancy 13. ZDT 14. Java CloudService @frankmunz

Slide 5

Slide 5 text

A Whirlwind Tour… More details in this WebLogic 12c presentation @frankmunz https://www.slideshare.net/FrankMunz1/12-things-you-should-know-about-weblogic-server-1221-oow2015

Slide 6

Slide 6 text

WebLogic Multi Tenancy: Isolation Tenants within a domain are isolated: • Runtime: JDK: heap, CPU • Security: realm, user • Admin: life cycle, roles • Data / traffic: JNDI, JDBC,Coherence, requests @frankmunz

Slide 7

Slide 7 text

NO Vendor Lock-In with Docker Supported by every major cloud provider: @frankmunz On premise -> all clouds Docker Registry Container Service EC2 Container Service Google Container Engine Azure Container Service Bluemix Containers

Slide 8

Slide 8 text

RESTful Admin Get server name and state of managed server with name surf1 via admin server GET (e.g. via web browser) http://localhost:7001/management/weblogic/latest /domainRuntime/serverLifeCycleRuntimes/ surf1?links=none&fields=name,state Response: { "name": "surf1", "state": "RUNNING" } @frankmunz

Slide 9

Slide 9 text

Elastic Cluster WebLogic 12.1.2: Dynamic Cluster config WebLogic 12.2.1: Elastic Cluster runtime + pre / post scaling callout to scripts @frankmunz How to scale? • Console • WLST • REST • Policy/Action • Calendar based

Slide 10

Slide 10 text

ZDT: Rollout Oracle Home https://community.oracle.com/docs/DOC-996731 @frankmunz

Slide 11

Slide 11 text

#2 Oracle PaaS

Slide 12

Slide 12 text

Know The Essential Cloud Services ACCS JCS OCCS Deploy compiled Java, Python, Ruby code. New: Java EE, Go JSON file: start cmd Deploy Java EE module, JMS, JDBC, XA. + db and storage Deploy (stack of) Docker containers Language container as service WebLogic as Service Docker container as Service Oracle Container CS Java CS Application Container CS @frankmunz

Slide 13

Slide 13 text

#3 Prerequisites for JCS

Slide 14

Slide 14 text

Prerequisites • Write down all the passwords (they have different requirements) • ID domain • Storage container name • Use lower case emails for user names Keep the first temp password: If you change from classic to bare metal you need it @frankmunz

Slide 15

Slide 15 text

Prerequisites JCS will never work, unless you … 1. Set replication policy for storage 2. Create DB as a service for JCS 3. Create JCS @frankmunz

Slide 16

Slide 16 text

#4 (1) Replication Policy

Slide 17

Slide 17 text

Go to Storage & Set Policy @frankmunz You will only see this screen only once! Not setting the policy causes all kind of weird issues

Slide 18

Slide 18 text

Prereq: Set Replication Policy Details: https://docs.oracle.com/en/cloud/iaas/stora ge-cloud/cssto/selecting-replication-policy- your-service-instance.html Customer feedback: Oracle should set replication with working default @frankmunz

Slide 19

Slide 19 text

#5 (2) DB

Slide 20

Slide 20 text

Prereq: Create DB as Service A DB is mandatory for JCS @frankmunz Define DB pwd Specify Cloud log-in creadential Create Storage Container

Slide 21

Slide 21 text

Storage Container Correct syntax / name of storage container: Storage-IDENDITYDOMAIN/yourContainerName @frankmunz You create it once (with the DB). Later specify it at JCS configuration

Slide 22

Slide 22 text

Identity Domain Tip: Always save your Cloud Welcome Email @frankmunz ABCDomain

Slide 23

Slide 23 text

In the Same Email: Data Center Most OPC links DC agnostic, but storage is not: @frankmunz

Slide 24

Slide 24 text

Resend Welcome Email @frankmunz

Slide 25

Slide 25 text

Wait Until DB is Created @frankmunz Customer feedback: If JCS requires DB, why is it not automatically created?

Slide 26

Slide 26 text

#6 (3) JCS

Slide 27

Slide 27 text

@frankmunz

Slide 28

Slide 28 text

Create JCS @frankmunz Define WLS pwd Specify DB log-in details: ‘sys’ + credential DB create NOT welcome1 !! Specify Storage & log-in Details Storage admin

Slide 29

Slide 29 text

JCS is Created @frankmunz

Slide 30

Slide 30 text

#7 Access Admin Console

Slide 31

Slide 31 text

When you create a JCS @frankmunz

Slide 32

Slide 32 text

… you will likely forget the following: @frankmunz (Unfortunate) Default Setting: NO admin console but sample apps

Slide 33

Slide 33 text

#8 Access Rules

Slide 34

Slide 34 text

To the Rescue: Access Rules @frankmunz Re-enable Admin Console

Slide 35

Slide 35 text

#9 Deployments

Slide 36

Slide 36 text

Deployment Done via WebLogic console. @frankmunz

Slide 37

Slide 37 text

WebLogic Admin Console @frankmunz

Slide 38

Slide 38 text

#10 Port Mappings

Slide 39

Slide 39 text

Port Mapping Why you can access your deployment in most demos ‘without’ specifying the port @frankmunz

Slide 40

Slide 40 text

#11 Elasticity

Slide 41

Slide 41 text

Elasticity @frankmunz

Slide 42

Slide 42 text

Scale Out @frankmunz

Slide 43

Slide 43 text

Auto Scaling @frankmunz

Slide 44

Slide 44 text

#12 Patching

Slide 45

Slide 45 text

Patching @frankmunz

Slide 46

Slide 46 text

#12 Backups

Slide 47

Slide 47 text

Backups @frankmunz

Slide 48

Slide 48 text

#12 More Lessons Learned

Slide 49

Slide 49 text

There is more • OTD as frontend recommended • JCS comes with default certificates -> not suitable for production • Follow SOA CS Disaster Recovery Guide @frankmunz http://www.oracle.com/technetwork/database/availability/maa-soacs-dr-3125213.pdf

Slide 50

Slide 50 text

#13 ACCS Alternative

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

ACCS • Polyglot: Java, Java EE and node.js, PHP, Python, Go and Ruby • Java: Upload compiled zipped Java classes + JSON file with start command • Java EE option is WebLogic – No domains – No cluster – Single admin servers with LB frontend @frankmunz

Slide 53

Slide 53 text

#14 Spring Boot

Slide 54

Slide 54 text

Spring Boot • Not WebLogic or Java EE compatible • Not standard, but often used • It’s a fat jar • Runs in Oracle ACCS and AWS Beanstalk • Even with Kotlin @frankmunz http://www.munzandmore.com/2017/ora/kotlin-spring-boot-aws-beanstalk-oracle-cloud

Slide 55

Slide 55 text

#15 Developer CS

Slide 56

Slide 56 text

Developer CS Cloud native SDLC • Connects to github • Includes – maven – Hudson – Wiki pages – Jira like ticket system • Ready for testing • Deploys to JCS, ACCS, Mobile CS @frankmunz Free development tooling in cloud

Slide 57

Slide 57 text

Developer CS @frankmunz

Slide 58

Slide 58 text

@frankmunz 1 2 3

Slide 59

Slide 59 text

@frankmunz

Slide 60

Slide 60 text

Key Take-Aways Make sure to understand • JCS is WebLogic as a Service J • Dependencies with Storage and DB CS L • Storage Container name L • Little gotchas (admin console disabled) K • Port mappings • ACCS for polyglot, lightweight and Java EE J @frankmunz

Slide 61

Slide 61 text

3 Membership Tiers • Oracle ACE Director • Oracle ACE • Oracle ACE Associate bit.ly/OracleACEProgram 500+ Technical Experts Helping Peers Globally Connect: Nominate yourself or someone you know: acenomination.oracle.com @oracleace Facebook.com/oracleaces oracle-ace_ww@oracle.com

Slide 62

Slide 62 text

munzandmore.com/blog @frankmunz munzandmore.com/youtube