Java Cloud Service & WLS 12c · •Founded munz& more in 2007 •> 15 years Middleware, Cloud, and...

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

Transcript of Java Cloud Service & WLS 12c · •Founded munz& more in 2007 •> 15 years Middleware, Cloud, and...

Java Cloud Service & WLS 12c What You Should Know

OTN LatAm Tour / DOAG 2017 Dr. Frank Munz

munz & more

•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

#1

WebLogic 12c

New in WebLogic 12.2.1

1. JDK 82. Java EE 73. IDE 4. Console5. Deployment6. JMS7. Cluster8. WLST

9. WLDF10. REST11. Docker12. Multi Tenancy13. ZDT14. Java CloudService

@frankmunz

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

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

NO Vendor Lock-In with Docker

Supported by every major cloud provider:

@frankmunz

On premise -> all clouds

DockerRegistry

ContainerService

EC2ContainerService

GoogleContainerEngine

AzureContainerService

Bluemix Containers

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

Elastic Cluster

WebLogic 12.1.2: Dynamic Cluster configWebLogic 12.2.1: Elastic Cluster runtime

+ pre / post scalingcallout to scripts

@frankmunz

How to scale?• Console• WLST• REST• Policy/Action• Calendar based

ZDT: Rollout Oracle Home

https://community.oracle.com/docs/DOC-996731@frankmunz

#2

Oracle PaaS

Know The Essential Cloud Services

ACCS JCS OCCSDeploycompiledJava,Python,Rubycode.New:JavaEE,GoJSONfile:startcmd

DeployJavaEEmodule,JMS,JDBC,XA.+db andstorage

Deploy(stackof)Dockercontainers

Languagecontainerasservice

WebLogicasService

DockercontainerasService

OracleContainerCSJavaCSApplicationContainerCS

@frankmunz

#3

Prerequisites

for JCS

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

Prerequisites

JCS will never work, unless you …

1. Set replication policy for storage2. Create DB as a service for JCS3. Create JCS

@frankmunz

#4

(1) ReplicationPolicy

Go to Storage & Set Policy

@frankmunz

You will only see this screen only once!

Not setting the policy causes all kind of weird issues

Prereq: Set Replication Policy

Details:https://docs.oracle.com/en/cloud/iaas/storage-cloud/cssto/selecting-replication-policy-your-service-instance.html

Customer feedback:

Oracle should setreplication with working default

@frankmunz

#5

(2) DB

Prereq: Create DB as Service

A DB is mandatory for JCS

@frankmunz

DefineDB pwd Specify

Cloud log-in creadential

CreateStorageContainer

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

Identity Domain

Tip: Always save your Cloud Welcome Email

@frankmunz

ABCDomain

In the Same Email: Data Center

Most OPC links DC agnostic, but storage is not:

@frankmunz

Resend Welcome Email

@frankmunz

Wait Until DB is Created

@frankmunz

Customer feedback:

If JCS requires DB, why is it not automatically created?

#6

(3) JCS

@frankmunz

Create JCS

@frankmunz

DefineWLSpwd

SpecifyDB log-in details:‘sys’ +credentialDB create

NOT welcome1 !!

SpecifyStorage &log-in DetailsStorage admin

JCS is Created

@frankmunz

#7

Access Admin Console

When you create a JCS

@frankmunz

… you will likely forget the following:

@frankmunz

(Unfortunate)Default Setting:NO admin console but sample apps

#8

AccessRules

To the Rescue: Access Rules

@frankmunz

Re-enable Admin Console

#9

Deployments

Deployment

Done via WebLogic console.

@frankmunz

WebLogic Admin Console

@frankmunz

#10

Port Mappings

Port Mapping

Why you can access your deployment in most demos ‘without’ specifying the port

@frankmunz

#11

Elasticity

Elasticity

@frankmunz

Scale Out

@frankmunz

Auto Scaling

@frankmunz

#12

Patching

Patching

@frankmunz

#12

Backups

Backups

@frankmunz

#12

More Lessons Learned

There is more

• OTD as frontend recommended• JCS comes with default certificates

-> not suitable for production• Follow SOA CS Disaster Recovery Guide

@frankmunzhttp://www.oracle.com/technetwork/database/availability/maa-soacs-dr-3125213.pdf

#13

ACCS Alternative

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

#14

Spring Boot

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

#15

Developer CS

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

Developer CS

@frankmunz

@frankmunz

1

2

3

@frankmunz

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

3MembershipTiers• OracleACEDirector• OracleACE• OracleACEAssociate

bit.ly/OracleACEProgram

500+TechnicalExpertsHelpingPeersGlobally

Connect:

Nominateyourselforsomeoneyouknow:acenomination.oracle.com

@oracleace

Facebook.com/oracleaces

[email protected]

munzandmore.com/blog

@frankmunz

munzandmore.com/youtube