Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java Cloud Service: What You Should Know.

Frank Munz
September 01, 2017

Java Cloud Service: What You Should Know.

Get started with Java Cloud Service. Includes Spring Boot, Application Container Cloud Service and Java Cloud Service.

Frank Munz

September 01, 2017
Tweet

More Decks by Frank Munz

Other Decks in Technology

Transcript

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

    View Slide

  2. •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

    View Slide

  3. #1
    WebLogic 12c

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

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

    View Slide

  11. #2
    Oracle PaaS

    View Slide

  12. 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

    View Slide

  13. #3
    Prerequisites
    for JCS

    View Slide

  14. 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

    View Slide

  15. 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

    View Slide

  16. #4
    (1) Replication
    Policy

    View Slide

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

    View Slide

  18. 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

    View Slide

  19. #5
    (2) DB

    View Slide

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

    View Slide

  21. 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

    View Slide

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

    View Slide

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

    View Slide

  24. Resend Welcome Email
    @frankmunz

    View Slide

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

    View Slide

  26. #6
    (3) JCS

    View Slide

  27. @frankmunz

    View Slide

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

    View Slide

  29. JCS is Created
    @frankmunz

    View Slide

  30. #7
    Access
    Admin Console

    View Slide

  31. When you create a JCS
    @frankmunz

    View Slide

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

    View Slide

  33. #8
    Access
    Rules

    View Slide

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

    View Slide

  35. #9
    Deployments

    View Slide

  36. Deployment
    Done via WebLogic console.
    @frankmunz

    View Slide

  37. WebLogic Admin Console
    @frankmunz

    View Slide

  38. #10
    Port Mappings

    View Slide

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

    View Slide

  40. #11
    Elasticity

    View Slide

  41. Elasticity
    @frankmunz

    View Slide

  42. Scale Out
    @frankmunz

    View Slide

  43. Auto Scaling
    @frankmunz

    View Slide

  44. #12
    Patching

    View Slide

  45. Patching
    @frankmunz

    View Slide

  46. #12
    Backups

    View Slide

  47. Backups
    @frankmunz

    View Slide

  48. #12
    More Lessons
    Learned

    View Slide

  49. 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

    View Slide

  50. #13
    ACCS Alternative

    View Slide

  51. View Slide

  52. 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

    View Slide

  53. #14
    Spring Boot

    View Slide

  54. 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

    View Slide

  55. #15
    Developer CS

    View Slide

  56. 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

    View Slide

  57. Developer CS
    @frankmunz

    View Slide

  58. @frankmunz
    1
    2
    3

    View Slide

  59. @frankmunz

    View Slide

  60. 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

    View Slide

  61. 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
    [email protected]

    View Slide

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

    View Slide