SlideShare a Scribd company logo
Cloud Native
Application
Development
- build fast, cheap,
scalable and agile
software
on Oracle Cloud
Infrastructure
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Oracle Groundbreakers Tour 2020 LATAM
Lucas Jellema, CTO & Architect AMIS | Conclusion
NoSQL
Database
Vault
Sources and slides:
bit.ly/cloud-native-latam2020
Lucas Jellema
CTO for AMIS | Conclusion
Cloud Solution Architect
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
Lucas Jellema
CTO for AMIS | Conclusion
Cloud Solution Architect
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
A traditional application
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
WebApp
Database
(RDBMS?)JVM
Java EE
Operating System
Hardware
3rd party libraries
& frameworks
Monolith,
Microservice,
Module
Platform & Language
runtime features
(transaction
management, HTTP
request handling, state
management & in
memory caching, IAM,
…
Custom Code
IaaS
PaaS
Cloud Native Application
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Event
Hub
Vault
Function
IAM
Container
Engine
Web
App
Function
Cache
Mail
Monitor
ScalingAlert &
Notify
• Managed
• Quick Provision &
Decommission
• Distributed
• Automated
• Pay per use/TCO
• Vendor takes runtime
responsibility
• Enterprise grade platform
accessible to startups
• Rapid Innovation
• Security & Availability
• Scale
Logging
Characteristics of Cloud Native Applications
• Modern – born in the cloud (era)
• Emphasis on interaction (and decoupling) points:
• Between custom components: APIs, Events/ message format
• From custom to PaaS Services: Service APIs, Formats and Protocols
• Less emphasis on [and insulation from?] implementation of PaaS (platform) services
• MongoDB API – implemented by Azure Cosmos DB, MongoDB, Minimongo and AWS Document DB and soon
Oracle Autonomous JSON
• Kafka API – Azure Event Hub, OCI Streaming, AWS Managed Streaming
• JDBC/SQL – Relational Database (Oracle, SQL Server, PostgreSQL, MySQL) and even NoSQL (Oracle
NoSQL, Cassandra, Hadoop)
• No explicit Infrastructure (serverless, software defined) & managed Platform components
• Stateless and Dynamically Scalable (Elastic) – expand and contract
• Pay per Use
• Automation – no hands on ACC and Production (speed, repeatability, dynamic adjustment)
• Infrastructure/Platform as Code & Application CI/CD [pipelines]
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Some (PaaS) Cloud Capabilities
for Cloud Native development
• Functions (serverless application code)
• API Gateway
• Events / Queued Messages
• Data Persistence
• Cache
• Security
• Network access
• Web Application Firewall (DDOS & more)
• Authentication & Authorization
• Credentials & Key Management, En|Decrypt
• Automation – CI/CD & DevOps Pipelines
• Monitoring
• Metrics, notification, logging
• Auditing
• Cost Control
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
API
Gateway
Function
Event Topic
Data
Persistence Cache
Monitoring
Security(WAF,Network,Authorization
CI/CD & DevOps Pipelines
Introducing Oracle Cloud Infrastructure
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Oracle Cloud Gen2
• First generation is now called Classic Cloud
• Mainly On Premises software, running in
Oracle’s data centers – with some (small)
degree of operational management (mainly
provisioning and patching)
• Not Cloud Native
• Gen2
• (largely) Designed from the ground up for the
cloud
• Applying lessons learned – from classic cloud as
well as AWS and Azure
• Some focused acquisitions (Dyn, Corente,
Palerra, Wercker, DataScience.com)
Oracle Cloud
Infrastructure
• Generation 2 Cloud
• Main themes:
• Competitive Pricing
• Secure by Design
• Open
• Enterprise (Technology)
• Trials – 30 days, $300 credits
• An always-free tier
• With Autonomous Database and
Autonomous Data Warehouse
Introducing Oracle Cloud Infrastructure
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Functions
API
Gate
way
Object
Storage
NoSQL
Database
Streaming
OCI Services for Cloud Native Application Development
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Functions
API
Gate
way
Object
Storage
NoSQL
Database
Streaming
Digital
Assistant
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Visual
Builder
OKE – Managed Kubernetes
Functions
API
Gate
way
Object
Storage
NoSQL
Database
Streaming
Container
Container
Compute
OCIR
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Digital
Assistant
Visual
Builder
OKE – Managed Kubernetes
Functions
API
Gate
way
Object
Storage
NoSQL
Database
Streaming
Container
Container
ID & Access
Management
Compartments API/ServiceTagging
Search
Resource
Manager
Compute
Events
OCIR
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
Digital
Assistant
Visual
Builder
OKE – Managed Kubernetes
Functions
API
Gate
way
Object
Storage
NoSQL
Database
Streaming
Health
Check
Monitoring Alarms
Notifi-
cations
Container
Container
Logging
Compute
OCIR
Notifications
Alarming
Logging
Telemetry/
Monitoring
Healthcheck
Virtual
Machine
Container
Container
Streaming
Object
Storage
ID & Access
Management
Compartments API/ServiceTagging
Search
Resource
Manager
Events
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
Digital
Assistant
Visual
Builder
Tools
• OCI Console – browser based GUI
• OCI CLI
• OCI SDKs – Java, Python, Ruby, Go, TypeScript
• OCI REST APIs
• Tools & Plugins
• Ansible Modules
• Terraform Provider
• Chef Knife Plugin
• Oracle Developer Tools for Visual Studio Code
• Toolkit for Eclipse
• HDFS Connector
OCI Cloud Tenancy
Oracle Groundbreakers Tour 2020 LATAM | Oracle
Cloud Native Application Development
Cloud Shell OCI Cloud
Tenancy
Oracle Groundbreakers Tour 2020 LATAM | Oracle
Cloud Native Application Development
Demonstration of Cloud Native Application on OCI:
Tweets to NoSQL, Streaming & Email
Streaming
NoSQL
Database
#groundbreakerstour
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Tweets to NoSQL,
Streaming & Email
Healthcheck
Streaming
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Write JSON
document with
Tweets
Retrieve X
minutes worth
of tweets
Store JSON
file with all
tweets in time
period Trigger
function with
event
Create
Tweet
Records
in NoSQL
Send
Tweet
Report as
email
Invoke Tweet
Aggregator every
X minutes
Cloud Event
for new
JSON file
Publish
each
Tweet to
Stream
Compartments
API/Service
Logging
Monitoring
OCIR
Expose
function to
external callers
Publish to
Notification
Topic
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Get Twitter
credentials in
secure way
from vault
Decoupling
Streaming
Events
Object
Storage
Notification
Topic
API
Gate
way
NoSQL
Database
Function
Function
Compartments
API/Service
Logging
Monitoring
OCIR
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
• Encapsulation (of
implementation)
• Run time availability
independence
• Independent release /
reconfigure
• Independence of scaling
• Volume Load
Throttling/Absorption
• Security Boundary
• Failure isolation
Platform Preparation – Infrastructure as Code
using Resource Manager & Terraform plan
Object
Storage
Object
Storage
Bucket
Compartments
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
Secure Vault
with Keys for
Twitter
credentials
Compartment
for Application
resources
Logging
Configuration
of Logging
Service for
Functions
Virtual Cloud
Network
Internet
Gateway
Route Table
Security
Lists
Virtual Cloud Network
with private and public
subnet and access from
and to public internet
API
Gate
way
Skeleton API
Gateway for
deploying API
routing rules to
Groups
Dynamic
Groups for API
Gateway and
for Functions
Streaming
Stream for
publishing
messages to
NoSQL Databas
Table for
persisting record
Resource
Manager
Serverless Function
& Object Storage
Object
Storage
Function
Write JSON
document with
Tweets
Store JSON
file with all
tweets in time
period
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Get Twitter
credentials in
secure way
from vault
Retrieve X
minutes worth
of tweets
Logging
OCIR
Container
Image Registry
Central Logging
Service
Function
Tweet
Summarizer
Introducing Serverless Functions
• The Container Native Serverless Framwork
• Project Fn is an open source FaaS platform
that you can run anywhere -- any cloud or
on-premise.
• It implements serverless Functions through
Docker containers
• Out of the box support for many runtimes
•
• also support for custom Docker
Container (white box)
• Project Fn is the foundation for Serverless
Functions on OCI
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Fn Functions – request handling
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Function
Implementation
(Node, Java, Go,
Python, custom
Docker, …)
FDK
Function as a Service framework
HTTP Request
With method, headers, query
parameters, url path, body
input – derived from body
ctx – raw HTTP request components
Oracle Functions
• Functions on OCI – based on Fn
• Function Container Images are stored
in OCI Container Registry
• Triggers can be:
• HTTP Requests
• OCI Events
• API Gateway calls
• OCI gathers logs and metrics
• A function instance (i.e. a container) will be removed after 5-10 minutes of inactivity
• Note: an instance can handle multiple requests
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Function tweet-summarizer in application lab1
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Function tweet-summarizer – source code in GitHub
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Sources: bit.ly/cloud-native-latam2020
Configuration Settings for Function tweet-summarizer
result in environment variables accessible within the function
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
Object Storage – Bucket for twitter reports
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Serverless Function
& Object Storage
Object
Storage
Function
Tweet
Summarizer
Write JSON
document with
Tweets
Store JSON
file with all
tweets in time
period
Logging
OCIR
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Get Twitter
credentials in
secure way
from vault
Retrieve X
minutes worth
of tweets
Public and Managed
Access to Function Tweet Summarizer
Object
Storage
API
Gate
way
Function
Logging
OCIR
Expose
function to
external callers
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Function
Tweet
Summarizer
API Gateway
• Handle HTTP calls:
• Authorize
• Route
• Map
• Monitor/ Audit
• GA was
Mid December 2019
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
API
Gateway
Oracle Cloud Infrastructure
Any 3rd party
HTTP endpoint
Function
Stock
Any HTTP
Endpoint
on OCI
OIC
OKE
VM
…
Any
Service
Invoker
Expose private endpoints publicly
Stable (public) endpoints
Routing (verb & wildcard based)
Parameter and Header mapping
Request Policies
Rate limiting (per client & general)
CORS (for direct web client access)
Metrics Monitoring & Logging
Authentication & Validation
API Gateway Configuration for public access to Function
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Public and Managed
Access to Function Tweet Summarizer
Object
Storage
API
Gate
way
Function
Expose
function to
external callers
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Function
Tweet
Summarizer
Produce CloudEvent,
Publish Notification & Send Mail
Events
Object
Storage
Notifications
API
Gate
way
Function
#groundbreakerstour
Send
Tweet
Report as
email
Cloud Event for
new JSON file
on Object
Storage
Publish to
Notification
Topic
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
EVENTS and NOTIFICATIONS SERVICES
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
OCI
Resource
Cloud
Event
Notifi
catio
ns
Notification
Topic
EventRules
Email
Functions
Streaming
Functi
ons
Strea
ming
Ev
ent Ev
ent
Ev
ent
Ev
ent
Events identified and turned to Notification Events to be
Published and Routed
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Subscriptions
Cloud
Event
Configure Event Rule Notification triplet
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
OCI
Resour
ce
Cloud
Event
EventRules
Notifi
catio
ns
Notification
Topic
Send email upon Notification
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Email Subscription is Pending until confirmed
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
When confirmed, the subscription is active
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
When the Tweet Summarizer is invoked…
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Events
Object
Storage
Notification
API
Gate
way
Function
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
… the email informs of the new file
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Events
Object
Storage
Notification
API
Gate
way
Function
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Vault
Produce CloudEvent &
Publish Notification
Events
Object
Storage
Notifications
API
Gate
way
Function
Send
Tweet
Report as
email
Cloud Event
for new
JSON file
Publish to
Notification
Topic
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Trigger Function &
Store NoSQL Records
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Create
Tweet
Records
in NoSQL
Trigger
function with
event
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Retrieve
Tweet
Report
Introducing NoSQL Database Cloud Service
• Launched in February 2020 – a fully managed cloud service
• Based on Oracle NoSQL Database
• Which itself is based on Berkeley DB as storage engine
• Schemaless JSON and SQL enabled on relational data
• ACID, consistent, relational, structured, joins
• Partial JSON Updates
• Server-side updates to JSON documents
• Time-To-Live – auto-expire on records
• Built-in Data Redundancy
• Multi-region architecture
• read-anywhere/write-anywhere in “WAN” cluster
• REST APIs, OCI CLI and SDKs in Java, Python, Node and Go
• NoSQL Database Cloud Simulator for local development and testing
• Note: August 13th 2020 – announcement of “Autonomous JSON Database
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
NoSQL Database Table TWEETS_TABLE
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Tweet Records in TWEETS_TABLE
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Trigger Function &
Store NoSQL Records
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Create
Tweet
Records
in NoSQLTrigger
function with
event
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Retrieve
Tweet
Report
Stream records
Streaming
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Publish
each
Tweet to
Stream
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
OCI Streaming Service
• Kafka Like – Event Queue
• Support for partitions and consumer groups
• Events are Published and Consumed through
REST API calls
• Java SDK available
• No Push to Consumer!
• Consumer has to poll
Oracle Cloud Infrastructure
Listener
OCI
Streaming
Stream
Publisher
On prem
Listener
Listener
3rd Party
Cloud
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Stream records
Streaming
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Publish
each
Tweet to
Stream
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
#groundbreakerstour
Vault
Tweet Messages Published by Function
consumed from the Stream
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Monitoring | Health Checks
• Verify through the eyes of an external client
if endpoints are available
and respond quick and well
• Periodic or Adhoc call to an endpoint
• HTTP(S) or Ping
• Specify Headers
• Specify Interval
• From selected Vantage Points
• 3rd party clouds, geographic location
• Health Check results can be inspected through the Monitor in the Console
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Monitoring – Health Checks
• OCI does not currently have a way to schedule jobs
• Health Checks are scheduled HTTP(S) requests
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Healthcheck API
Gate
way
Function
Invoke Tweet
Aggregator every
X minutes
Summary
Healthcheck
Streaming
Events
Object
Storage
Notifications
API
Gate
way
NoSQL
Database
Function
Function
Compartments
OCIR
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
Telemetry/
Monitoring
Logging
Email Delivery
#groundbreakerstour
Vault
Cloud Native:
Platform Services
Managed
Quick Provision & Decommission
Distributed
Automated
Pay per use/TCO
Vendor takes runtime responsibility
Enterprise grade platform for all
Security & Availability
Scale
Ops facilities (monitor, log, failover)
Rapid Innovation (new services, new
features, new pricing)
Thank you
for your attention
I hope
this was
useful
Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
lucas.jellema@amis.nl | technology.amis.nl | @lucasjellema | lucas-jellema
Sources and slides: bit.ly/cloud-native-latam2020

More Related Content

What's hot (19)

PDF
用Serverless技術快速開發line聊天機器人
Kevin Luo
 
PDF
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Gavin Pickin
 
PPTX
Oracle Developer Meetup March 2018
Phil Wilkins
 
PDF
Design and Develop Serverless Applications as Set-Pieces
SheenBrisals
 
PDF
20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems
Craeg Strong
 
PPTX
API Description Languages: Which is the Right One for Me?
Akana
 
PDF
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
PDF
Design & Deploy a data-driven Web API in 2 hours
Restlet
 
PPTX
Artificial Intelligence & Machine learning foundation topic in AWS
Varun Manik
 
PDF
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Haufe-Lexware GmbH & Co KG
 
PDF
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
PDF
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
PPTX
AWS DevDay Cologne - CI/CD for modern applications
Cobus Bernard
 
PDF
Declaring Server App Components in Pure Java
Atlassian
 
PDF
Serverless Meetup - 12 gennaio 2017
Luca Bianchi
 
PDF
E fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcs
Mohamedcpcbma
 
PPTX
API Platform Cloud Service best practice - OOW17
Phil Wilkins
 
PDF
Implementing Enterprise Identity and Access Management in a microservices wor...
Judy Breedlove
 
PDF
Build a serverless web app for a theme park
James Beswick
 
用Serverless技術快速開發line聊天機器人
Kevin Luo
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Gavin Pickin
 
Oracle Developer Meetup March 2018
Phil Wilkins
 
Design and Develop Serverless Applications as Set-Pieces
SheenBrisals
 
20150623 IEEE ASQ Conf Teaching An Old Dog New Tricks: Agile For Legacy Systems
Craeg Strong
 
API Description Languages: Which is the Right One for Me?
Akana
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
Design & Deploy a data-driven Web API in 2 hours
Restlet
 
Artificial Intelligence & Machine learning foundation topic in AWS
Varun Manik
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Haufe-Lexware GmbH & Co KG
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
Crafting ColdFusion Applications like an Architect
ColdFusionConference
 
AWS DevDay Cologne - CI/CD for modern applications
Cobus Bernard
 
Declaring Server App Components in Pure Java
Atlassian
 
Serverless Meetup - 12 gennaio 2017
Luca Bianchi
 
E fw b4rbr62uiizvvipyb_cannell_lowcodelowdown_apex_vbcs
Mohamedcpcbma
 
API Platform Cloud Service best practice - OOW17
Phil Wilkins
 
Implementing Enterprise Identity and Access Management in a microservices wor...
Judy Breedlove
 
Build a serverless web app for a theme park
James Beswick
 

Similar to Cloud Native Application Development - build fast, cheap, scalable and agile software on Oracle Cloud Infrastructure - Oracle Groundbreaker Tour Latin America 2020 (20)

PPTX
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Lucas Jellema
 
PPTX
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 
PPTX
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Lucas Jellema
 
PPTX
Cloud Native Application Development - build fast, cheap, scalable and agile ...
Lucas Jellema
 
PPTX
Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Lucas Jellema
 
PDF
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
 
PPTX
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 
PPTX
Getting started with containers on Azure
Microsoft Tech Community
 
PPTX
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
Lucas Jellema
 
PDF
Oracle Cloud Native
Neagu Alexandru Cristian
 
PPTX
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Lucas Jellema
 
PPTX
Making sense of containers, docker and Kubernetes on Azure.
Nills Franssens
 
PPTX
Azure app service to create web and mobile apps
Ken Cenerelli
 
PDF
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Yoichi Kawasaki
 
PPTX
Introduction to DevOps on AWS
Shiva Narayanaswamy
 
PDF
Kaleido Platform Overview and Full-stack Blockchain Services
Peter Broadhurst
 
PDF
56k.cloud training
Brian Christner
 
PPTX
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Lucas Jellema
 
PPTX
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
Getting value from IoT, Integration and Data Analytics
 
PDF
Automate the operation of your Oracle Cloud infrastructure v2.0
Nelson Calero
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Lucas Jellema
 
Cloud Native Application Development - build fast, cheap, scalable and agile ...
Lucas Jellema
 
Make your Cloud Applications Function for real – A Complete Overview of Oracl...
Lucas Jellema
 
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
 
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa791
 
Getting started with containers on Azure
Microsoft Tech Community
 
What is the Oracle PaaS Cloud for Developers (Oracle Cloud Day, The Netherlan...
Lucas Jellema
 
Oracle Cloud Native
Neagu Alexandru Cristian
 
Dutch Oracle Architects Platform - Reviewing Oracle OpenWorld 2017 and New Tr...
Lucas Jellema
 
Making sense of containers, docker and Kubernetes on Azure.
Nills Franssens
 
Azure app service to create web and mobile apps
Ken Cenerelli
 
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Yoichi Kawasaki
 
Introduction to DevOps on AWS
Shiva Narayanaswamy
 
Kaleido Platform Overview and Full-stack Blockchain Services
Peter Broadhurst
 
56k.cloud training
Brian Christner
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Lucas Jellema
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
Getting value from IoT, Integration and Data Analytics
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Nelson Calero
 
Ad

More from Lucas Jellema (20)

PPTX
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
PPTX
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
PPTX
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
PPTX
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
PPTX
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
PPTX
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
PPTX
Op je vingers tellen... tot 1000!
Lucas Jellema
 
PPTX
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
PPTX
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
PPTX
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
PPTX
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
PPTX
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
PPTX
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
PPTX
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
PPTX
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
PPTX
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
PPTX
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
PPTX
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
PPTX
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
PPTX
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Lucas Jellema
 
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Op je vingers tellen... tot 1000!
Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Lucas Jellema
 
Ad

Recently uploaded (20)

PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PDF
Troubleshooting Virtual Threads in Java!
Tier1 app
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
Troubleshooting Virtual Threads in Java!
Tier1 app
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Brief History of Python by Learning Python in three hours
adanechb21
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 

Cloud Native Application Development - build fast, cheap, scalable and agile software on Oracle Cloud Infrastructure - Oracle Groundbreaker Tour Latin America 2020

  • 1. Cloud Native Application Development - build fast, cheap, scalable and agile software on Oracle Cloud Infrastructure Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Oracle Groundbreakers Tour 2020 LATAM Lucas Jellema, CTO & Architect AMIS | Conclusion NoSQL Database Vault Sources and slides: bit.ly/cloud-native-latam2020
  • 2. Lucas Jellema CTO for AMIS | Conclusion Cloud Solution Architect Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development [email protected] | technology.amis.nl | @lucasjellema | lucas-jellema
  • 3. Lucas Jellema CTO for AMIS | Conclusion Cloud Solution Architect Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development [email protected] | technology.amis.nl | @lucasjellema | lucas-jellema
  • 4. A traditional application Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development WebApp Database (RDBMS?)JVM Java EE Operating System Hardware 3rd party libraries & frameworks Monolith, Microservice, Module Platform & Language runtime features (transaction management, HTTP request handling, state management & in memory caching, IAM, … Custom Code
  • 5. IaaS PaaS Cloud Native Application Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Event Hub Vault Function IAM Container Engine Web App Function Cache Mail Monitor ScalingAlert & Notify • Managed • Quick Provision & Decommission • Distributed • Automated • Pay per use/TCO • Vendor takes runtime responsibility • Enterprise grade platform accessible to startups • Rapid Innovation • Security & Availability • Scale Logging
  • 6. Characteristics of Cloud Native Applications • Modern – born in the cloud (era) • Emphasis on interaction (and decoupling) points: • Between custom components: APIs, Events/ message format • From custom to PaaS Services: Service APIs, Formats and Protocols • Less emphasis on [and insulation from?] implementation of PaaS (platform) services • MongoDB API – implemented by Azure Cosmos DB, MongoDB, Minimongo and AWS Document DB and soon Oracle Autonomous JSON • Kafka API – Azure Event Hub, OCI Streaming, AWS Managed Streaming • JDBC/SQL – Relational Database (Oracle, SQL Server, PostgreSQL, MySQL) and even NoSQL (Oracle NoSQL, Cassandra, Hadoop) • No explicit Infrastructure (serverless, software defined) & managed Platform components • Stateless and Dynamically Scalable (Elastic) – expand and contract • Pay per Use • Automation – no hands on ACC and Production (speed, repeatability, dynamic adjustment) • Infrastructure/Platform as Code & Application CI/CD [pipelines] Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 7. Some (PaaS) Cloud Capabilities for Cloud Native development • Functions (serverless application code) • API Gateway • Events / Queued Messages • Data Persistence • Cache • Security • Network access • Web Application Firewall (DDOS & more) • Authentication & Authorization • Credentials & Key Management, En|Decrypt • Automation – CI/CD & DevOps Pipelines • Monitoring • Metrics, notification, logging • Auditing • Cost Control Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development API Gateway Function Event Topic Data Persistence Cache Monitoring Security(WAF,Network,Authorization CI/CD & DevOps Pipelines
  • 8. Introducing Oracle Cloud Infrastructure Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 9. Oracle Cloud Gen2 • First generation is now called Classic Cloud • Mainly On Premises software, running in Oracle’s data centers – with some (small) degree of operational management (mainly provisioning and patching) • Not Cloud Native • Gen2 • (largely) Designed from the ground up for the cloud • Applying lessons learned – from classic cloud as well as AWS and Azure • Some focused acquisitions (Dyn, Corente, Palerra, Wercker, DataScience.com)
  • 10. Oracle Cloud Infrastructure • Generation 2 Cloud • Main themes: • Competitive Pricing • Secure by Design • Open • Enterprise (Technology) • Trials – 30 days, $300 credits • An always-free tier • With Autonomous Database and Autonomous Data Warehouse
  • 11. Introducing Oracle Cloud Infrastructure Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 12. Functions API Gate way Object Storage NoSQL Database Streaming OCI Services for Cloud Native Application Development Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 13. Functions API Gate way Object Storage NoSQL Database Streaming Digital Assistant Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Visual Builder
  • 14. OKE – Managed Kubernetes Functions API Gate way Object Storage NoSQL Database Streaming Container Container Compute OCIR Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Digital Assistant Visual Builder
  • 15. OKE – Managed Kubernetes Functions API Gate way Object Storage NoSQL Database Streaming Container Container ID & Access Management Compartments API/ServiceTagging Search Resource Manager Compute Events OCIR Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault Digital Assistant Visual Builder
  • 16. OKE – Managed Kubernetes Functions API Gate way Object Storage NoSQL Database Streaming Health Check Monitoring Alarms Notifi- cations Container Container Logging Compute OCIR Notifications Alarming Logging Telemetry/ Monitoring Healthcheck Virtual Machine Container Container Streaming Object Storage ID & Access Management Compartments API/ServiceTagging Search Resource Manager Events Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault Digital Assistant Visual Builder
  • 17. Tools • OCI Console – browser based GUI • OCI CLI • OCI SDKs – Java, Python, Ruby, Go, TypeScript • OCI REST APIs • Tools & Plugins • Ansible Modules • Terraform Provider • Chef Knife Plugin • Oracle Developer Tools for Visual Studio Code • Toolkit for Eclipse • HDFS Connector OCI Cloud Tenancy Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 18. Cloud Shell OCI Cloud Tenancy Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 19. Demonstration of Cloud Native Application on OCI: Tweets to NoSQL, Streaming & Email Streaming NoSQL Database #groundbreakerstour Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 20. Tweets to NoSQL, Streaming & Email Healthcheck Streaming Events Object Storage Notifications API Gate way NoSQL Database Function Function Write JSON document with Tweets Retrieve X minutes worth of tweets Store JSON file with all tweets in time period Trigger function with event Create Tweet Records in NoSQL Send Tweet Report as email Invoke Tweet Aggregator every X minutes Cloud Event for new JSON file Publish each Tweet to Stream Compartments API/Service Logging Monitoring OCIR Expose function to external callers Publish to Notification Topic Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Get Twitter credentials in secure way from vault
  • 21. Decoupling Streaming Events Object Storage Notification Topic API Gate way NoSQL Database Function Function Compartments API/Service Logging Monitoring OCIR Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault • Encapsulation (of implementation) • Run time availability independence • Independent release / reconfigure • Independence of scaling • Volume Load Throttling/Absorption • Security Boundary • Failure isolation
  • 22. Platform Preparation – Infrastructure as Code using Resource Manager & Terraform plan Object Storage Object Storage Bucket Compartments Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault Secure Vault with Keys for Twitter credentials Compartment for Application resources Logging Configuration of Logging Service for Functions Virtual Cloud Network Internet Gateway Route Table Security Lists Virtual Cloud Network with private and public subnet and access from and to public internet API Gate way Skeleton API Gateway for deploying API routing rules to Groups Dynamic Groups for API Gateway and for Functions Streaming Stream for publishing messages to NoSQL Databas Table for persisting record Resource Manager
  • 23. Serverless Function & Object Storage Object Storage Function Write JSON document with Tweets Store JSON file with all tweets in time period Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Get Twitter credentials in secure way from vault Retrieve X minutes worth of tweets Logging OCIR Container Image Registry Central Logging Service Function Tweet Summarizer
  • 24. Introducing Serverless Functions • The Container Native Serverless Framwork • Project Fn is an open source FaaS platform that you can run anywhere -- any cloud or on-premise. • It implements serverless Functions through Docker containers • Out of the box support for many runtimes • • also support for custom Docker Container (white box) • Project Fn is the foundation for Serverless Functions on OCI Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 25. Fn Functions – request handling Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Function Implementation (Node, Java, Go, Python, custom Docker, …) FDK Function as a Service framework HTTP Request With method, headers, query parameters, url path, body input – derived from body ctx – raw HTTP request components
  • 26. Oracle Functions • Functions on OCI – based on Fn • Function Container Images are stored in OCI Container Registry • Triggers can be: • HTTP Requests • OCI Events • API Gateway calls • OCI gathers logs and metrics • A function instance (i.e. a container) will be removed after 5-10 minutes of inactivity • Note: an instance can handle multiple requests Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 27. Function tweet-summarizer in application lab1 Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 28. Function tweet-summarizer – source code in GitHub Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Sources: bit.ly/cloud-native-latam2020
  • 29. Configuration Settings for Function tweet-summarizer result in environment variables accessible within the function Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault
  • 30. Object Storage – Bucket for twitter reports Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 31. Serverless Function & Object Storage Object Storage Function Tweet Summarizer Write JSON document with Tweets Store JSON file with all tweets in time period Logging OCIR Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Get Twitter credentials in secure way from vault Retrieve X minutes worth of tweets
  • 32. Public and Managed Access to Function Tweet Summarizer Object Storage API Gate way Function Logging OCIR Expose function to external callers Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Function Tweet Summarizer
  • 33. API Gateway • Handle HTTP calls: • Authorize • Route • Map • Monitor/ Audit • GA was Mid December 2019 Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development API Gateway Oracle Cloud Infrastructure Any 3rd party HTTP endpoint Function Stock Any HTTP Endpoint on OCI OIC OKE VM … Any Service Invoker Expose private endpoints publicly Stable (public) endpoints Routing (verb & wildcard based) Parameter and Header mapping Request Policies Rate limiting (per client & general) CORS (for direct web client access) Metrics Monitoring & Logging Authentication & Validation
  • 34. API Gateway Configuration for public access to Function Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 35. Public and Managed Access to Function Tweet Summarizer Object Storage API Gate way Function Expose function to external callers Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Function Tweet Summarizer
  • 36. Produce CloudEvent, Publish Notification & Send Mail Events Object Storage Notifications API Gate way Function #groundbreakerstour Send Tweet Report as email Cloud Event for new JSON file on Object Storage Publish to Notification Topic Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault
  • 37. EVENTS and NOTIFICATIONS SERVICES Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 38. OCI Resource Cloud Event Notifi catio ns Notification Topic EventRules Email Functions Streaming Functi ons Strea ming Ev ent Ev ent Ev ent Ev ent Events identified and turned to Notification Events to be Published and Routed Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Subscriptions Cloud Event
  • 39. Configure Event Rule Notification triplet Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development OCI Resour ce Cloud Event EventRules Notifi catio ns Notification Topic
  • 40. Send email upon Notification Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 41. Email Subscription is Pending until confirmed Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 42. When confirmed, the subscription is active Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 43. When the Tweet Summarizer is invoked… Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Events Object Storage Notification API Gate way Function Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault
  • 44. … the email informs of the new file Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Events Object Storage Notification API Gate way Function Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Vault
  • 45. Produce CloudEvent & Publish Notification Events Object Storage Notifications API Gate way Function Send Tweet Report as email Cloud Event for new JSON file Publish to Notification Topic Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault
  • 46. Trigger Function & Store NoSQL Records Events Object Storage Notifications API Gate way NoSQL Database Function Function Create Tweet Records in NoSQL Trigger function with event Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Retrieve Tweet Report
  • 47. Introducing NoSQL Database Cloud Service • Launched in February 2020 – a fully managed cloud service • Based on Oracle NoSQL Database • Which itself is based on Berkeley DB as storage engine • Schemaless JSON and SQL enabled on relational data • ACID, consistent, relational, structured, joins • Partial JSON Updates • Server-side updates to JSON documents • Time-To-Live – auto-expire on records • Built-in Data Redundancy • Multi-region architecture • read-anywhere/write-anywhere in “WAN” cluster • REST APIs, OCI CLI and SDKs in Java, Python, Node and Go • NoSQL Database Cloud Simulator for local development and testing • Note: August 13th 2020 – announcement of “Autonomous JSON Database Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 48. NoSQL Database Table TWEETS_TABLE Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 49. Tweet Records in TWEETS_TABLE Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 50. Trigger Function & Store NoSQL Records Events Object Storage Notifications API Gate way NoSQL Database Function Function Create Tweet Records in NoSQLTrigger function with event Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault Retrieve Tweet Report
  • 51. Stream records Streaming Events Object Storage Notifications API Gate way NoSQL Database Function Function Publish each Tweet to Stream Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault
  • 52. OCI Streaming Service • Kafka Like – Event Queue • Support for partitions and consumer groups • Events are Published and Consumed through REST API calls • Java SDK available • No Push to Consumer! • Consumer has to poll Oracle Cloud Infrastructure Listener OCI Streaming Stream Publisher On prem Listener Listener 3rd Party Cloud Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 53. Stream records Streaming Events Object Storage Notifications API Gate way NoSQL Database Function Function Publish each Tweet to Stream Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development #groundbreakerstour Vault
  • 54. Tweet Messages Published by Function consumed from the Stream Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 55. Monitoring | Health Checks • Verify through the eyes of an external client if endpoints are available and respond quick and well • Periodic or Adhoc call to an endpoint • HTTP(S) or Ping • Specify Headers • Specify Interval • From selected Vantage Points • 3rd party clouds, geographic location • Health Check results can be inspected through the Monitor in the Console Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development
  • 56. Monitoring – Health Checks • OCI does not currently have a way to schedule jobs • Health Checks are scheduled HTTP(S) requests Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Healthcheck API Gate way Function Invoke Tweet Aggregator every X minutes
  • 57. Summary Healthcheck Streaming Events Object Storage Notifications API Gate way NoSQL Database Function Function Compartments OCIR Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development Telemetry/ Monitoring Logging Email Delivery #groundbreakerstour Vault Cloud Native: Platform Services Managed Quick Provision & Decommission Distributed Automated Pay per use/TCO Vendor takes runtime responsibility Enterprise grade platform for all Security & Availability Scale Ops facilities (monitor, log, failover) Rapid Innovation (new services, new features, new pricing)
  • 58. Thank you for your attention I hope this was useful Oracle Groundbreakers Tour 2020 LATAM | Oracle Cloud Native Application Development [email protected] | technology.amis.nl | @lucasjellema | lucas-jellema Sources and slides: bit.ly/cloud-native-latam2020

Editor's Notes

  • #7: Out of the box PaaS services and facilities persistence, routing/throttling/buffer/queue/retry IDM, key mgt, encryption/decryption Distribution, CDN, regional failover Monitor, log, alert/notification Scalability (up & down) Quick Rampup Emphasis on interaction points: APIs, Events/ message format Less emphasis on implementation of PaaS (platform) services MongoDB API – implemented by Azure Cosmos DB, MongoDB, Minimongo and AWS Document DB and soon Oracle Autonomous JSON Kafka API – Azure Event Hub, OCI Streaming, AWS Managed Streaming JDBC/SQL – Relational Database (Oracle, SQL Server, PostgreSQL, MySQL) and even NoSQL (Oracle NoSQL, Cassandra, Hadoop)