Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Microservices und Container
Donnerstag | 15. Februar 2018 | 10:00 Uhr
Man braucht die richtigen Werkzeuge, wenn man agil entwickeln und
Microservices schnell und oft ausbringen will. Das Paketieren in Containern ist
heute oft Mittel der Wahl, unterstützt durch die breite Palette an offenen
Lifecycle-Management und Orchestrierungswerkzeugen. Die umfassenden
Möglichkeiten der Oracle Cloud für vollautomatisiertes, Container-basiertes CI/CD
werden vorgestellt.
Wolfgang
Weigend
Oacle
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Microservices und
Container
Wolfgang Weigend
Sen. Leitender Systemberater
Java Technology and Architecture
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
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, and timing of any
features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Disclaimer
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Container Native Enterprise Java/DB
Cloud Native PaaS Visual/Low Code
Entwicklungsmuster für Applikationen
Serverless
f(x)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Container Centric
User: DevOps / SRE
granular control
highly scriptable
deep introspection
open
PaaS
User: Web/Mobile Dev
limited control
prescriptive
limited introspection
short/efficient onramp
affixed to environment
Enterprise Java/DB
User: Operations
tightly controlled for
consistency
uniform tooling
designed for seamlessness
Visual/Low Code
User: Line of Business
no exposure to
controls
intuitive / UI based
integrated into a suite
low/no complexity
Anwenderspektrum und Anforderungen
Serverless
f(x)
High Control/Productivity vs Prescriptive/Productivity
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Container – Eine Reise in drei Phasen
Phase I
Developer Focus
Phase II
DevOps Focus
Phase III
Business Focus
Container Adoption Application Deployment Business Integration
SpeedEfficiencyAgility
Docker
Kubernetes
Container
DevOps
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
7
Microservices Architektur
Monolithische Architektur Microservice Architektur
Unabhängige Service-Kommunikation mit synchr. API’s oder
asynchr. Events
Microservice Microservice Microservice
Microservice
Microservice
UI
Single
Deployment
Entity
User Interface
Business Layer
Data Interface
Single
Deployment
Entity
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Docker
• Lightweight
– No HW Specification
• Portable
• Layering for Optimization
– UID’s for Each Layer
• Lives in a Registry
– wcr.io
• Easy to Deploy
– Consistent Environment
– All Dependencies Included
Application
WebTier
Binaries
Libraries
Application Image
Vendor Provided
Cached
Reused
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes
• Orchestrator
– Manages Lifecycle
• Eventual Consistency
• Declarative vs. Imperative
– Traceable, Reproducible Environment Changes
• Statelessness and Persistence
• Scales On Demand
– Smaller containers makes for more efficient
scaling operations
• Easy to Connect to Services
• Resiliency
– Makes sure your App is always running
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Cluster
Kubernetes Konstrukte
• Wie die Kubernetes Konstrukte untereinander verbunden sind
– Deployment
– Container
– Service
– Ingress
– Secret
– Node
– Namespace
Registry
ImageImage
ImageImage
ImageImage
ImageImage
Node
Pod
Container
ImageImage
Container
ImageImage
Pod
Container
ImageImage
Container
ImageImage
Node
Pod
Container
ImageImage
Container
ImageImage
Pod
Container
ImageImage
Container
ImageImage
Service
Ingress
Secret
Deployment
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Strategie für Container-Based-Infrastruktur
• Deliver a container based capabilities that are complete, integrated and open
– Orchestration/Scheduling, CI/CD, Management/Operations, Analytics/Introspection
– With application development platform for serverless and microservices
• Based on community driven open source technology
– Investing in open source communities and foundations (Kubernetes, Docker, CNCF) via
engineering resources, code contributions & sponsorship
• Differentiated on quality of service and operational excellence
– Full, transparent management
– Deployed to Oracle Cloud Infrastructure
– Enterprise grade security, HA and governance
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle & Open Source und Container-Community
• Oracle’s participation in open source community
– Active Participation – Cloud Native Compute
Foundation and Kubernetes
– No forked code – straight from the source
– Continue precedence of Java, MySQL, Linux
• Lead by example
– Oracle software on Docker Store
– Kubernetes engineering in CNCF
• Innovate in open source
– Utilities like K8S installer, smith, railcar, crashcart
• Sponsor & contribute to key conferences
– DockerCon, Kubecon, CoreOS Fest, others
fn
railcarsmith crashcart
Innovation in
Open Source
Active
Community
Participation
Un-forked
Open Source
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Ziel ist eine ganzheitliche Container Native Suite
Build, Deploy, Operate – Offene, Standards-basierte, Cloud neutrale AppDev Plattform
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes in der Oracle Cloud Infrastruktur (OCI)
Eigenverantwortlich, Pre-Built-Installer, Managed Service
Quickstart Experience
OSS Github Installer
OCI Oracle Container Engine
DIY Container
Management
Unmanaged
Kubernetes Service
Enterprise Class Managed
Kubernetes Service
IaaS CaaS
Copyright © 2018 Oracle and/or its affiliates. All rights reserved
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Container Engine und Container Registry
Managed Kubernetes
• Container Native
– Standard Kubernetes; Fully Managed Lifecycle; Integrated Registry
• Developer Friendly
– Simple, Streamlined User Interface; Rich API; Helm and DNS Built-in
• Enterprise Ready
– Bare Metal Performance; Highly Available; Secure with Access Controls
AD2
Secure, Highly Available,
Bare Metal Performance
AD1
AD3
Kubernetes with Lifecycle,
Integrated Registry
Developer Friendly:
REST API, Helm, DNS, UI
DNSDNSDNSDNS
APIREST
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Container Engine und Registry
An Open, Fully-Managed Kubernetes Platform & Private Registry
Oracle
Container
Pipelines
(CI/CD)
Oracle Container
Registry
AD 1 AD 3
Node Pool
K8S Cluster
Node Pool
BM
VM
VCN
PV
AD 2
Exposed
Kubernetes Service
• Container Native: Standard Kubernetes (1.7.4);
Fully Managed Lifecycle; Integrated Registry
• Developer Friendly: Simple, Streamlined User
Interface; Rich API; Helm, Dashboard and DNS
Built-in
• Enterprise Ready: Oracle Cloud Infrastructure
Performance; Highly Available; Secure with Access
Controls
Build
Test
Test
Test
Push
Oracle Container
Engine (Kubernetes)
Pods
LB
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Container Native Microservices
An open (CNCF and Istio based), cloud neutral, platform makes it easy to develop microservices applications
• Pre-integrated, Curated Platform
– Open Source, Cloud Native Computing Foundation stack using Istio
• Developer Friendly
– Opinionated but Open; API first platform
• Enterprise Class
– Built on Kubernetes with Service Mesh, Service Broker and API Registry; Ops Built In
Service
Broker
Enterprise Class:
Istio Service Mesh & Infrastructure
Service
Mesh
API Registry
Pre-Integrated, Curated Plaform
CNCF + Istio
Developer Friendly:
Opinionated But Open
APIREST
Ops
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Container Native Microservices Architektur
Managed Kubernetes
Open Service BrokerEvent ManagementAPI Registry
Foo1 Foo2
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Serverless bringt Veränderung
• Serverless als Compute-Einheit
• Functions-as-a-Service (FaaS) bestimmt das Anwendungsentwicklungs-
modell der Serverless-Architektur in Kombination mit den verwendeten
Daten-Services
• Skalierbare Services pro Funktion
Traditional
Infrastructure
Virtualized
Infrastructure
FaaS
Compute on demand
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Container Native Serverless - Functions as Service
Eine funktionsbasierte Plattform
• Polyglotte Funktionsplattform mit
Java Optimierungen
• Open Source
• Container Native mit lokaler
Entwicklerunterstützung
– On Premise & Cloud
• Cloud- und Scheduler-Neutral
Function
CI/CD
Local
Develop
Fn Flow
Polyglot Function Engine
fn fn fn fn
Managed Kubernetes
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Die bekannten Mechanismen mit DevOps benutzen
Build, deploy and publish services and APIs with your preferred tool chain
Oracle Container Native
REST API’s
Service API Catalog
Command Line tools or curl
>psm setup
>psm list services
>psm push app …
>curl -i -X GET -H
"Authorization:joe
@example.com:joePa
ssword"  -H ...
Automation Tools
Hashicorp
CI-CD/DevOps Pipelines
Developer
Cloud
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Bestenfalls mit einer führenden CI/CD & Container-Lifecycle-Lösung
Container Pipelines (Wercker) - easy to assemble and automated builds to registries and production-grade clusters
Git
Build Push to Registry
PushTest
Deploy to
Orchestration Scheduler
Deploy
Registry
OSS CLI Pipeline/Build Console
Workflow Automation
Oracle, Pivotal,
Amazon, Google …
Chatbot Integration
with Slack (Walterbot)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Container Native Oracle Cloud Demo
• Kubernetes Client aktivieren
• Git Source Code
• Commit changes
• Wercker
• Build
• Push to Registry
• Deploy to Orchestration Scheduler in Oracle Cloud Infrastructure
• Kubernetes Services
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Client aktivieren
http://127.0.0.1:8001/ui
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Namespaces (1)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Namespaces (2)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Discovery and Load Balancing - Services
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Config and Storage – Secrets
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Config and Storage – Secrets wercker
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes Config and Storage – Secrets default token
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Application access: https://129.213.76.133/wolfgangweigend/
C:k8> kubectl --namespace=wolfgangweigend get pods
NAME READY STATUS RESTARTS AGE
rest-jscreditscore-769817735-qbsh5 1/1 Running 0 1h
C:k8> kubectl --namespace=shared-ingress get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default-http-backend ClusterIP 10.96.147.81 <none> 80/TCP 22d
nginx-ingress-controller LoadBalancer 10.96.118.173 129.213.76.133 80:30021/TCP,443:30022/TCP 22d
Kubernetes liefert externe IP-Adresse der Anwendung (1)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Kubernetes liefert externe IP-Adresse der Anwendung (2)
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Github mit jscreditscore Anwendung - Editieren
https://github.com/wolfgang
weigend/jscreditscore/blob/
master/views/index.ejs
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Github mit jscreditscore Anwendung – Commit changes
https://github.com/wolfgang
weigend/jscreditscore/blob/
master/views/index.ejs
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Github Commit changes initiiert wercker Runs build pipeline
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker Runs push-to-releases
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker Runs deploy-to-oke
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker Runs deploy-to-oke .. get LB public IP adress
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker Runs deploy-to-oke .. fertig gestellt
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Anwendung jscreditscore mit Änderung aufrufen
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker mit Anwendung jscreditscore - Workflows
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker mit Anwendung jscreditscore - Access
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker mit Anwendung jscreditscore - Environment
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker mit Anwendung jscreditscore - Options
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle wercker und managed kubernetes
https://app.wercker.com/wolfgangweigend
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Container Native Plattform Architektur
Managed KubernetesContainer Registry
Container Development
SRE Workbench
Cluster Management K8S DashboardDocker Support
Engineering and Ops
Logging Tracing Debugging
API Registry
Service/Fn
Activation
Protocol
Support
Client
Libraries
APIsEvents StreamsCI/CD APIs
Infrastructure
Open Service Broker
Cloud
Services
3rd Party
Services
Unified Serverless and Service Mesh
Routing
Event
Mgmt
Circuit
Breaker
Service
Discovery
LB and
Health
fnfn…
Security
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud-Native-Application-Entwicklungs-Plattform
Integrierte Suite mit Container-Native-Fähigkeiten
Container
Functions
Open source, cloud
neutral, community
driven functions as a
Service for any
language, best of class
for Java
Container
Microservices
A collection of services,
frameworks and
libraries for the modern
cloud developer; based
on Cloud Native
Compute Foundation –
Istio/Envoy
Container
Pipelines
A market leading
solution for application
lifecycle management
with a Docker centric
product view
Container
Engine
Fully managed
container service based
on Kubernetes running
on Oracle Cloud
Infrastructure Bare
Metal
Container
Diagnostics
Unparalleled real-time
observability and
diagnostics for large
scale distributed Java
systems
fn
Build --- Deploy --- Operate
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Git
Build Push to Registry
PushTest
Deploy
to
Kubernetes
Container Pipelines
Wercker CI/CD Service
Container Registry - "Releases"
Private Registry Service
Container Engine - "Clusters"
Fully-Managed Kubernetes Service
Managed HA Control Plane
Bare Metal and VM Shapes
Kubernetes ClustersKubernetes Clusters
Orchestrate Your App
Enterprise Grade Performance & Security
Integrated Developer Experience UI
Kubernetes
Dashboard
Full REST
API
kubectl
CLI
Team
Access
Container-Native-Application-Entwicklungs-Plattform
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud Infrastruktur mit OCI-Container-Bausteinen
• OCI - Container Engine for Kubernetes
– Bezahlt werden nur die Ressourcen: Prozessoren, Storage, Netzwerk
• OCI - Container Registry
– Bezahlt werden nur die Ressourcen: Storage
• Container Pipelines
– Preis pro Entwickler
– Verfügbar seit 9. Februar 2018
– https://cloud.oracle.com/containers/pipelines/features
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Zusammenfassung – Oracle Container Native
• Open source, Cloud-neutral und von der Community getrieben
– Nicht proprietär, Cloud-neutral, unterschiedliche Service-Qualität
• Leistungsfähige und evolutionäre Weiterführung von IaaS
– Oracle-Cloud-Infrastruktur von der Basis konzipiert und aufgebaut für Performance,
Sicherheit & Hochverfügbarkeit
• Optimiert für Java-Workloads
– Tiefgreifende Diagnosemerkmale enthalten und eingebautes Performance-Tuning
• Container-Native-Entwickler-Umgebung
– Nahtlos vom lokalen Laptop zu CI/CD, zum vollständig integriertem Site-Reliability-
Engineering (SRE) in der Cloud
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. |
Danke!
Wolfgang Weigend
Sen. Leitender Systemberater
Java Technology and Architecture

Microservices and Container

  • 1.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Microservices und Container Donnerstag | 15. Februar 2018 | 10:00 Uhr Man braucht die richtigen Werkzeuge, wenn man agil entwickeln und Microservices schnell und oft ausbringen will. Das Paketieren in Containern ist heute oft Mittel der Wahl, unterstützt durch die breite Palette an offenen Lifecycle-Management und Orchestrierungswerkzeugen. Die umfassenden Möglichkeiten der Oracle Cloud für vollautomatisiertes, Container-basiertes CI/CD werden vorgestellt. Wolfgang Weigend Oacle
  • 2.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Microservices und Container Wolfgang Weigend Sen. Leitender Systemberater Java Technology and Architecture
  • 3.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | 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, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Disclaimer
  • 4.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Container Native Enterprise Java/DB Cloud Native PaaS Visual/Low Code Entwicklungsmuster für Applikationen Serverless f(x)
  • 5.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Container Centric User: DevOps / SRE granular control highly scriptable deep introspection open PaaS User: Web/Mobile Dev limited control prescriptive limited introspection short/efficient onramp affixed to environment Enterprise Java/DB User: Operations tightly controlled for consistency uniform tooling designed for seamlessness Visual/Low Code User: Line of Business no exposure to controls intuitive / UI based integrated into a suite low/no complexity Anwenderspektrum und Anforderungen Serverless f(x) High Control/Productivity vs Prescriptive/Productivity
  • 6.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. Container – Eine Reise in drei Phasen Phase I Developer Focus Phase II DevOps Focus Phase III Business Focus Container Adoption Application Deployment Business Integration SpeedEfficiencyAgility Docker Kubernetes Container DevOps
  • 7.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | 7 Microservices Architektur Monolithische Architektur Microservice Architektur Unabhängige Service-Kommunikation mit synchr. API’s oder asynchr. Events Microservice Microservice Microservice Microservice Microservice UI Single Deployment Entity User Interface Business Layer Data Interface Single Deployment Entity
  • 8.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Docker • Lightweight – No HW Specification • Portable • Layering for Optimization – UID’s for Each Layer • Lives in a Registry – wcr.io • Easy to Deploy – Consistent Environment – All Dependencies Included Application WebTier Binaries Libraries Application Image Vendor Provided Cached Reused
  • 9.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes • Orchestrator – Manages Lifecycle • Eventual Consistency • Declarative vs. Imperative – Traceable, Reproducible Environment Changes • Statelessness and Persistence • Scales On Demand – Smaller containers makes for more efficient scaling operations • Easy to Connect to Services • Resiliency – Makes sure your App is always running
  • 10.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Cluster Kubernetes Konstrukte • Wie die Kubernetes Konstrukte untereinander verbunden sind – Deployment – Container – Service – Ingress – Secret – Node – Namespace Registry ImageImage ImageImage ImageImage ImageImage Node Pod Container ImageImage Container ImageImage Pod Container ImageImage Container ImageImage Node Pod Container ImageImage Container ImageImage Pod Container ImageImage Container ImageImage Service Ingress Secret Deployment
  • 11.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Strategie für Container-Based-Infrastruktur • Deliver a container based capabilities that are complete, integrated and open – Orchestration/Scheduling, CI/CD, Management/Operations, Analytics/Introspection – With application development platform for serverless and microservices • Based on community driven open source technology – Investing in open source communities and foundations (Kubernetes, Docker, CNCF) via engineering resources, code contributions & sponsorship • Differentiated on quality of service and operational excellence – Full, transparent management – Deployed to Oracle Cloud Infrastructure – Enterprise grade security, HA and governance
  • 12.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle & Open Source und Container-Community • Oracle’s participation in open source community – Active Participation – Cloud Native Compute Foundation and Kubernetes – No forked code – straight from the source – Continue precedence of Java, MySQL, Linux • Lead by example – Oracle software on Docker Store – Kubernetes engineering in CNCF • Innovate in open source – Utilities like K8S installer, smith, railcar, crashcart • Sponsor & contribute to key conferences – DockerCon, Kubecon, CoreOS Fest, others fn railcarsmith crashcart Innovation in Open Source Active Community Participation Un-forked Open Source
  • 13.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Ziel ist eine ganzheitliche Container Native Suite Build, Deploy, Operate – Offene, Standards-basierte, Cloud neutrale AppDev Plattform
  • 14.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes in der Oracle Cloud Infrastruktur (OCI) Eigenverantwortlich, Pre-Built-Installer, Managed Service Quickstart Experience OSS Github Installer OCI Oracle Container Engine DIY Container Management Unmanaged Kubernetes Service Enterprise Class Managed Kubernetes Service IaaS CaaS Copyright © 2018 Oracle and/or its affiliates. All rights reserved
  • 15.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Container Engine und Container Registry Managed Kubernetes • Container Native – Standard Kubernetes; Fully Managed Lifecycle; Integrated Registry • Developer Friendly – Simple, Streamlined User Interface; Rich API; Helm and DNS Built-in • Enterprise Ready – Bare Metal Performance; Highly Available; Secure with Access Controls AD2 Secure, Highly Available, Bare Metal Performance AD1 AD3 Kubernetes with Lifecycle, Integrated Registry Developer Friendly: REST API, Helm, DNS, UI DNSDNSDNSDNS APIREST
  • 16.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Container Engine und Registry An Open, Fully-Managed Kubernetes Platform & Private Registry Oracle Container Pipelines (CI/CD) Oracle Container Registry AD 1 AD 3 Node Pool K8S Cluster Node Pool BM VM VCN PV AD 2 Exposed Kubernetes Service • Container Native: Standard Kubernetes (1.7.4); Fully Managed Lifecycle; Integrated Registry • Developer Friendly: Simple, Streamlined User Interface; Rich API; Helm, Dashboard and DNS Built-in • Enterprise Ready: Oracle Cloud Infrastructure Performance; Highly Available; Secure with Access Controls Build Test Test Test Push Oracle Container Engine (Kubernetes) Pods LB
  • 17.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Container Native Microservices An open (CNCF and Istio based), cloud neutral, platform makes it easy to develop microservices applications • Pre-integrated, Curated Platform – Open Source, Cloud Native Computing Foundation stack using Istio • Developer Friendly – Opinionated but Open; API first platform • Enterprise Class – Built on Kubernetes with Service Mesh, Service Broker and API Registry; Ops Built In Service Broker Enterprise Class: Istio Service Mesh & Infrastructure Service Mesh API Registry Pre-Integrated, Curated Plaform CNCF + Istio Developer Friendly: Opinionated But Open APIREST Ops
  • 18.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Container Native Microservices Architektur Managed Kubernetes Open Service BrokerEvent ManagementAPI Registry Foo1 Foo2
  • 19.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Serverless bringt Veränderung • Serverless als Compute-Einheit • Functions-as-a-Service (FaaS) bestimmt das Anwendungsentwicklungs- modell der Serverless-Architektur in Kombination mit den verwendeten Daten-Services • Skalierbare Services pro Funktion Traditional Infrastructure Virtualized Infrastructure FaaS Compute on demand
  • 20.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Container Native Serverless - Functions as Service Eine funktionsbasierte Plattform • Polyglotte Funktionsplattform mit Java Optimierungen • Open Source • Container Native mit lokaler Entwicklerunterstützung – On Premise & Cloud • Cloud- und Scheduler-Neutral Function CI/CD Local Develop Fn Flow Polyglot Function Engine fn fn fn fn Managed Kubernetes
  • 21.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Die bekannten Mechanismen mit DevOps benutzen Build, deploy and publish services and APIs with your preferred tool chain Oracle Container Native REST API’s Service API Catalog Command Line tools or curl >psm setup >psm list services >psm push app … >curl -i -X GET -H "Authorization:joe @example.com:joePa ssword" -H ... Automation Tools Hashicorp CI-CD/DevOps Pipelines Developer Cloud
  • 22.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Bestenfalls mit einer führenden CI/CD & Container-Lifecycle-Lösung Container Pipelines (Wercker) - easy to assemble and automated builds to registries and production-grade clusters Git Build Push to Registry PushTest Deploy to Orchestration Scheduler Deploy Registry OSS CLI Pipeline/Build Console Workflow Automation Oracle, Pivotal, Amazon, Google … Chatbot Integration with Slack (Walterbot)
  • 23.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Container Native Oracle Cloud Demo • Kubernetes Client aktivieren • Git Source Code • Commit changes • Wercker • Build • Push to Registry • Deploy to Orchestration Scheduler in Oracle Cloud Infrastructure • Kubernetes Services
  • 24.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Client aktivieren http://127.0.0.1:8001/ui
  • 25.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Namespaces (1)
  • 26.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Namespaces (2)
  • 27.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Discovery and Load Balancing - Services
  • 28.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Config and Storage – Secrets
  • 29.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Config and Storage – Secrets wercker
  • 30.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes Config and Storage – Secrets default token
  • 31.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Application access: https://129.213.76.133/wolfgangweigend/ C:k8> kubectl --namespace=wolfgangweigend get pods NAME READY STATUS RESTARTS AGE rest-jscreditscore-769817735-qbsh5 1/1 Running 0 1h C:k8> kubectl --namespace=shared-ingress get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default-http-backend ClusterIP 10.96.147.81 <none> 80/TCP 22d nginx-ingress-controller LoadBalancer 10.96.118.173 129.213.76.133 80:30021/TCP,443:30022/TCP 22d Kubernetes liefert externe IP-Adresse der Anwendung (1)
  • 32.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Kubernetes liefert externe IP-Adresse der Anwendung (2)
  • 33.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Github mit jscreditscore Anwendung - Editieren https://github.com/wolfgang weigend/jscreditscore/blob/ master/views/index.ejs
  • 34.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Github mit jscreditscore Anwendung – Commit changes https://github.com/wolfgang weigend/jscreditscore/blob/ master/views/index.ejs
  • 35.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Github Commit changes initiiert wercker Runs build pipeline
  • 36.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker Runs push-to-releases
  • 37.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker Runs deploy-to-oke
  • 38.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker Runs deploy-to-oke .. get LB public IP adress
  • 39.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker Runs deploy-to-oke .. fertig gestellt
  • 40.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Anwendung jscreditscore mit Änderung aufrufen
  • 41.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker mit Anwendung jscreditscore - Workflows
  • 42.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker mit Anwendung jscreditscore - Access
  • 43.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker mit Anwendung jscreditscore - Environment
  • 44.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker mit Anwendung jscreditscore - Options
  • 45.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle wercker und managed kubernetes https://app.wercker.com/wolfgangweigend
  • 46.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Container Native Plattform Architektur Managed KubernetesContainer Registry Container Development SRE Workbench Cluster Management K8S DashboardDocker Support Engineering and Ops Logging Tracing Debugging API Registry Service/Fn Activation Protocol Support Client Libraries APIsEvents StreamsCI/CD APIs Infrastructure Open Service Broker Cloud Services 3rd Party Services Unified Serverless and Service Mesh Routing Event Mgmt Circuit Breaker Service Discovery LB and Health fnfn… Security
  • 47.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Cloud-Native-Application-Entwicklungs-Plattform Integrierte Suite mit Container-Native-Fähigkeiten Container Functions Open source, cloud neutral, community driven functions as a Service for any language, best of class for Java Container Microservices A collection of services, frameworks and libraries for the modern cloud developer; based on Cloud Native Compute Foundation – Istio/Envoy Container Pipelines A market leading solution for application lifecycle management with a Docker centric product view Container Engine Fully managed container service based on Kubernetes running on Oracle Cloud Infrastructure Bare Metal Container Diagnostics Unparalleled real-time observability and diagnostics for large scale distributed Java systems fn Build --- Deploy --- Operate
  • 48.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Git Build Push to Registry PushTest Deploy to Kubernetes Container Pipelines Wercker CI/CD Service Container Registry - "Releases" Private Registry Service Container Engine - "Clusters" Fully-Managed Kubernetes Service Managed HA Control Plane Bare Metal and VM Shapes Kubernetes ClustersKubernetes Clusters Orchestrate Your App Enterprise Grade Performance & Security Integrated Developer Experience UI Kubernetes Dashboard Full REST API kubectl CLI Team Access Container-Native-Application-Entwicklungs-Plattform
  • 49.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Oracle Cloud Infrastruktur mit OCI-Container-Bausteinen • OCI - Container Engine for Kubernetes – Bezahlt werden nur die Ressourcen: Prozessoren, Storage, Netzwerk • OCI - Container Registry – Bezahlt werden nur die Ressourcen: Storage • Container Pipelines – Preis pro Entwickler – Verfügbar seit 9. Februar 2018 – https://cloud.oracle.com/containers/pipelines/features
  • 50.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Zusammenfassung – Oracle Container Native • Open source, Cloud-neutral und von der Community getrieben – Nicht proprietär, Cloud-neutral, unterschiedliche Service-Qualität • Leistungsfähige und evolutionäre Weiterführung von IaaS – Oracle-Cloud-Infrastruktur von der Basis konzipiert und aufgebaut für Performance, Sicherheit & Hochverfügbarkeit • Optimiert für Java-Workloads – Tiefgreifende Diagnosemerkmale enthalten und eingebautes Performance-Tuning • Container-Native-Entwickler-Umgebung – Nahtlos vom lokalen Laptop zu CI/CD, zum vollständig integriertem Site-Reliability- Engineering (SRE) in der Cloud
  • 51.
    Copyright © 2018Oracle and/or its affiliates. All rights reserved. | Danke! Wolfgang Weigend Sen. Leitender Systemberater Java Technology and Architecture