53
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Java Microservices on Oracle Cloud 1 Marek Kratky Cloud Solution Architect, Oracle May, 2019

Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Java Microservices on Oracle Cloud

1

Marek Kratky

Cloud Solution Architect, Oracle

May, 2019

Page 2: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

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.

Page 3: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Agenda

• Concepts: Monolithic vs. Microservices, Containers, Kubernetes

• Trends: Automation, APIs, Cloud

• Building Java apps on Oracle Developer Cloud

• Running Java apps on OCI Container Clusters

• Demo

4

Page 4: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Source: https://cloud.google.com/kubernetes-engine/kubernetes-comic/

Page 5: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Horizontally Tiered Enterprises == Horizontally Tiered Apps

6

Conway’s Law: Software reflects the structure of the organization that produced it

User Interface

Application

Datastore

Infrastructure

Resulting SoftwareTypical Enterprise Organization Structure

Head of IT

Head of Operations

Head of DBAsHead of

InfrastructureHead of App

DevHead of UI

Head of Development

Multitier (Monolith) Architecture

Page 6: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Source: https://cloud.google.com/kubernetes-engine/kubernetes-comic/

Page 7: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Re-structure Your Organization – Put Conway’s Law to Work

8

Build small product-focused teams – strict one team to one service mapping

Resulting SoftwareDevOps Organization Structure

(Micro)Services Architecture

API

Application

Datastore

Infrastructure

API

Application

Datastore

Infrastructure

API

Application

Datastore

Infrastructure

API

Application

Datastore

Infrastructure

Product Lead

Project Manager

Sys Admin DBAJavaScript Developer

Developer

Developer

Sys Admin

Storage Admin

Graphic ArtistNoSQL Admin

Product Lead

Project Manager

Sys Admin DBAJavaScript Developer

Developer

Developer

Sys Admin

Storage Admin

Graphic ArtistNoSQL Admin

Product Lead

Project Manager

Sys Admin DBAJavaScript Developer

Developer

Developer

Sys Admin

Storage Admin

Graphic ArtistNoSQL Admin

Product Lead

Project Manager

Sys Admin DBAJavaScript Developer

Developer

Developer

Sys Admin

Storage Admin

Graphic ArtistNoSQL Admin

Page 8: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Monolith vs. Microservices

Page 9: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Example:

A Core BankingApplication

10Oracle Confidential

• 276 vCPUs/1496 GB of (Linux) virtual machines

• 128 vCPUs of Oracle DB

Is it Monolithic or (Micro)services?

Page 10: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Modern Development in ContextThe Last 15 Years has been about driving increased development velocity

Release

Infra

App

Yearly/Quarterly Monthly/Weekly Daily/Hourly

Few servers VM’S

Delivery

Simple deployment model.

Waterfall DevOps Continuous

Containers

.NetJava

Single app Microservices

AB

C

Multi t ier

2xDB APP

2008+ 2016+2000

Page 11: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 13

Cattle vs Pets

How do we treat the application infrastructure

Page 12: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Virtual Machines vs. Containers

Virtual Machines● Each virtual machine (VM)

includes the app, the necessary binaries and libraries and an entire guest operating system

Containers● Containers include the app & all of its dependencies,

but share the kernel with other containers. ● Run as an isolated process in userspace on the host OS● Not tied to any specific infrastructure – containers run

on any computer, infrastructure and cloud.

VMs

Containers

14

Page 13: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

How do you manage all these running containers on a single host, and, more importantly, across your whole infrastructure?

Orchestrator FeaturesProvision hostsInstantiate containers on a hostRestart failing containersExpose required containers as services outside the clusterScale up or down the cluster

Page 14: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Kubernetes

Page 15: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Worker Node

Worker Node

Worker NodeControl Plane [Master Node(s)]

kube-apiserver

Kubernetes – In Motion

deployCheddar.YAML

----------------

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

name: cheddar

labels:

app: cheese

cheese: cheddar

spec:

replicas: 3

selector:

matchLabels:

app: cheese

task: cheddar

template:

metadata:

labels:

app: cheese

task: cheddar

version: v0.0.1

spec:

containers:

- name: cheese

image: errm/cheese:cheddar

ports:

- containerPort: 80

pod

container

container

pod

container

container

pod

container

container

pod

container

container

deployCheddar.YAML

----------------

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

name: cheddar

labels:

app: cheese

cheese: cheddar

spec:

replicas: 2

selector:

matchLabels:

app: cheese

task: cheddar

template:

metadata:

labels:

app: cheese

task: cheddar

version: v0.0.1

spec:

containers:

- name: cheese

image: errm/cheese:cheddar

ports:

- containerPort: 80

Kubernetes Cluster

Page 16: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

What are Container Native Applications?

Create a VM

I need to run a

container Create a VM

No…I need to run a

container Create a VM

Actually…I need to run a

container

Enable Enterprise IT to manage containers, not just VMs

@ContainerXinc www.containerx.io

6

• Software that treats the container as the first-class unit of infrastructure

• Software that does not just “happen to work” in, on or around containers, but rather is purposefully designed for containers

• Represents a paradigm shift that enables microservices and serverlessarchitectures

Page 17: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Helidon.io

JAX-RS

Helidon SE

Helidon MP

CDI JSON-P

SecurityConfigWeb Server

Netty

Cloud

Integrations

Page 18: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Landscape

Copyright © 2018, 2019 Oracle. All rights reserved.

Page 19: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |Copyright © 2018, 2019 Oracle. All rights reserved.

● Microframework

● Functional style

● Reactive

● Transparent

● MicroProfile

● Declarative style

● CDI, JAX-RS, JSON-P

Page 20: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Helidon SE

Copyright © 2018, 2019 Oracle. All rights reserved.

Routing routing = Routing.builder()

.get("/hello", (req, res) -> res.send("Hello World"))

.build();

WebServer.create(routing)

.start();

Page 21: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Helidon MP

Copyright © 2018, 2019 Oracle. All rights reserved.

@Path("hello")

@ApplicationScoped

public class HelloWorld {

@GET

public String hello() {

return "Hello World";

}

}

java -cp ... io.helidon.microprofile.server.Main

Page 22: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 26

mvn archetype:generate

-DinteractiveMode=false \

-DarchetypeGroupId=io.helidon.archetypes \

-DarchetypeArtifactId=helidon-quickstart-mp \

-DarchetypeVersion=1.0.3 \

-DgroupId=io.helidon.examples \

-DartifactId=helidon-quickstart-mp \

-Dpackage=io.helidon.examples.quickstart.mp

Generate The Project

Page 23: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Microservices• Minimal Function• Service Discovery• API-first

3 • Polyglot• Choreography• Loose Coupling

DevOps• Automated Provisioning• Automated Setup• Continuous Integration

1 • Continuous Delivery• Automated Testing• Agile• Culture Change

* as a Service• Consume Infrastructure and

Software as a Service• Fault Tolerant by Definition

2 • Auto-scaling• Infinite Elasticity

Cloud NativeA new style of architecture

Distributed Computing• Multi-master• Many Data Centers• Many Fault Domains

4 • Many Regions• Global Server Load Balancing• Replication

Co

mp

eten

cy

31

Page 24: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Cloud

34

Network

Storage

Compute

Hypervisor

Operating System

Container

Runtime

Application

PaaSIaaS

Past: Ops manually provisioned each layer

Today: Developers can provision entire stacks of hardware + software through REST API

REST API

Page 25: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Page 26: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Off-BoxVirt

Off-BoxVirt

Off-BoxVirt

Off-BoxVirt

Engineered Systems

Rest

API/ Console/CLI

ContainersVirtual MachinesBare Metal

RegionAvailability Domain 1 Availability Domain 2 Availability Domain 3

POD#1 POD#2 POD#nPOD#3...POD#1 POD#2 POD#nPOD#3...POD#1 POD#2 POD#nPOD#3...

Off-BoxVirt

Any Middle-box IPS/IDS

?

PhysicalNetwork

• Non-oversubscription CPU and

network

• Single or multi-tenant with same

set of APIs

• NVMe flash drives and super-fast

SSD block volumes

• IOPS that scale linearly

• Easier governance with

Compartments capabilities

• First Enterprise SLAs (Availability,

Manageability, Performance)

Billing

/ Metering

/ Auditing

Identity

and Access Management

Dedicated resources and Performance-first approach

VirtualNetwork

Oracle Cloud Infrastructure

Government Compartment CompartmentCompartment

Page 27: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

OCI Container Engine for Kubernetes and RegistryAn Open, Fully-Managed Kubernetes Platform & Private Registry

CI/CD system of choice - ieJenkins, Wercker,

Oracle DeveloperCloud etc.

OCI Registry

AD 1 AD 3

Node Pool

K8S Cluster

Node Pool

BM

VM

VCN

PV

AD 2

Exposed Kubernetes Service

Build

Test

Test

Test

Push

OCI Container Engine for Kubernetes

Pods

LB

37

Page 28: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploy to any orchestration tool on any IaaS

CI/CD with Oracle Wercker

{Code}Test PushBuild Deploy

Page 29: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Wercker Architecture

Build farm

CommunityPipelines

PrivatePipelines

ContainerRegistry

KubernetesCLI

web

Page 30: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Wercker features

Isolated bash script or compiled binary for accomplishing specific automation tasks.They can be created from scratch or consumed from our open steps marketplace.

Pipelines are a series of steps that are triggered on a git push or the completion of another pipeline. Pipelines result in an artefact and are executed inside containers.

Workflows is a set of chained and branched pipelines that allow you to form multi-stage, multi-branch complex ci/cd flows that take your project from code to production.

Steps (pipelines consists of steps)

Pipelines

BUILD

Workflows (workflows consists of pipelines)

BUILD DEPLOY

TEST

Page 31: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 41

Page 32: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 42

Page 33: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 43

Page 34: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Plan

Code

Build

Test

Package

Deploy

Operate

Monitor

CI/CD with Oracle Developer Cloud Service• Track Issues

• Agile Project Management

• Wikis

• Git Repositories

• Code Review

• Build Frameworks

• Orchestration and Dependencies

• Build Reports and Notifications

• Junit, Selenium, FindBugs

• QA Deployments

• Create packages

• Push to Docker Registry

Page 35: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Demo

45

Page 36: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Sample TODO application with Helidon

Frontend – Helidon SE

Backend – Helidon MP

Casandra

web

Zipkin

Page 37: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 52

Page 38: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 53

Page 39: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 56

Page 40: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 57

Page 41: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 58

Page 42: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 59

Page 43: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 60

Page 44: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Restricted 61

Page 45: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Plan

Code

Build

Test

Package

Deploy

Operate

Monitor

Oracle Cloud Dashboard/APIs

• (Auto)Scaling

• Patching/Upgrade

• Auditing

• Logging

66

Page 46: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Plan

Code

Build

Test

Package

Deploy

Operate

Monitor

Oracle Management Cloud

67

01100100 01100001 01110100 01100001 0110010001100001 01110100 0100 0110000101100100 01100001 01110100 01100001 0110010001100001 01011 01110100110000101100100 01100001 01110100 110000101100100 01100001 01110100 011000010110010001100001 01110100 110000101100100 0100111 01100001 01110100110000101100100 01100001 01110100 01100001 011010 0110010001100001 0111010001100001 0110010001100001 01110100 01001 01100001 0110010001100001 0111010001100001 0110010001100001 01001 01110100 01100001 0110010001100001 0111010001100001 0100101001 001 0110010001100001 01110100 01100001 011001000110000101110100 010011 01100001 0110010001100001 01110100 01100001 01100100 0110000101001 01110100 01100001 0110010001100001 01110100 01100001 01100100 0100 0110000101110100 01100001 0110010001100001 01110100 01000100 0100 11000010110010001100001 01110100 110000101100100 01100001 01110100 01100001 011001000110000101110100 110000101100100 01100001 010001 01110100 110000101100100 0110000101110100 01100001 01000100 010011 0110010001100001 01110100 011000010110010001100001 01110100 01000 01110100 110000101100100 01100001 0111010001100001 01000100 010011 0110010001100001 01110100 01100001 011001000110000101110100 010011

END USER EXPERIENCE

APPLICATION

MIDDLE TIER

DATA TIER

VIRTUALIZATION TIER

VM CONTAINER

INFRASTRUCTURE TIER

VM CONTAINER

Real UsersSynthetic Users

Unified Platform

App metricsTransactions

Server metricsDiagnosticsLogs

Host metricsVM metricsContainer metrics

CMDBTicketsAlerts

INTELLIGENT, UNIFIED PLATFORM…

POWERED BY MACHINE LEARNING

COMPLETE, INTEGRATED SUITE

HETEROGENEOUS AND OPEN

ANOMALY DETECTION CLUSTERING

PREDICTION CORRELATION

Page 47: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Normal application behavior and expected component and transaction performance are automatically learned by Oracle Management Cloud, ensuring intelligent alerting.

68

Application topologies and cross-tier dependencies are automatically learned and kept up to date by Oracle Management Cloud, ensuring rapid troubleshooting.

APM - Troubleshooting Across The Stack

Page 48: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 69

Java Flight Recorder & Mission Control

Page 49: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Java applications on Oracle Cloud

Container Native App Development

• Born-in-the-cloud apps• Broad technology choice• Light-weight, microservices

Migrate Existing Apps to Cloud

• “rehosting” of existing apps to cloud

• Cloud benefits• Connect to other Cloud

services

Page 50: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

WebLogic Docker/Kubernetes Support

– Docker images, Dockerfiles, examples

– Helm charts to install the Operator

– Operator WebLogic best practices are followed

– Create overall WebLogic environment through Kubernetes APIs

– Manage a WebLogic domain in Docker image or PV/PVC

– Monitoring (MBean) metrics in Prometheus and Grafana

– Logs managed in the Elasticsearch and interacting with them in Kibana

71

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 WebLogicMonitorWebLogic

https://blogs.oracle.com/weblogicserver/updated-weblogic-kubernetes-support-with-operator-20

Page 51: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Evolution of Computing Abstractions

• Virtual Machines• Abstract the hardware

• Containers• Abstract the OS

• Serverless Functions• Abstract the language runtime

Page 52: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 76

Fn—An open source Functions Platform

www.fnproject.io

Functions are packaged as containers—so any container can be deployed as a function

Page 53: Oracle Cloud Visualizations...•Concepts: Monolithic vs. Microservices, Containers, Kubernetes •Trends: Automation, APIs, Cloud •Building Java apps on Oracle Developer Cloud •Running

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |