SlideShare une entreprise Scribd logo
1  sur  32
1 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted
[Date]
Should I be building Microservices?
Paul Parkinson
Cloud Platform Dev
Lead
Microservices
Sanjay Goil
VP Product
Management
Database Server Tech
(microservices)
2 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted
[Date]
Sanjay Goil
VP Product Management
At Oracle for 2+ years
Messaging & Microservices; Previously Event
Hub Cloud Service (Kafka); AI Service
Past 20 years:
AdTech Startup: Social Media & TV Ads Platform
HP/Autonomy : Big Data platform (IDOL,
Vertica, Logger, and Hadoop)
Sun & Intel : Built HPC Systems and Developer
Tools for Converged Parallelism
About your presenters:
Paul Parkinson
Cloud Platform Dev Lead
Dev lead for Transaction Processing in the mid-
tier for 19 years at Oracle
Helidon Microservices Platform Dev Lead
Two incredible voices of Experience!
Copyright © 2019 Oracle and/or its affiliates.
Copyright © 2019 Oracle and/or its affiliates.
Sanjay
Paul
Rolando
Guido
WeWelcome to you all from around theWorld.
5
6: Should I Build Microservices?
Sanjay Goil Paul Parkinson
Copyright © 2019 Oracle and/or its affiliates.
Vice President, Product Management Tx Processing Dev Lead
Database Messaging and Microservices Microservices Cloud Platform
With Insights From GUIDO And ROLANDO, Oracle Aces
Agenda
• Introductions – 5 mins (All)
• What are Microservices – 5 mins (Sanjay)
• Recommendations from Guido – 10 mins
• Recommendations from Rolando – 10 mins
• Converged Database Simplicity (Sanjay) – 5 mins
• Building a Microservice Example (Paul) – 20 mins
• Quick walkthrough of the LiveLabs for Microservices
• Summary + Q&A – 5 mins
Copyright © 2019 Oracle and/or its affiliates.
Can we make Microservices SIMPLE ?
Help you build Microservices with open
interfaces
• Simplify data platform
• Simplify the code
• Simplify integration
Copyright © 2019 Oracle and/or its affiliates.
Data-driven Applications at Scale
What are Microservices?
“loosely coupled service oriented
architecture with bounded contexts.”
• Adrian Cockroft, while at Netflix
Copyright © 2019 Oracle and/or its affiliates.
If every service has to be updated at the same
time it’s not loosely coupled
If you know too much about the surrounding
services you don’t have a bounded context
Source: 12factor.net
Complexity of Lambda and Kappa
• Many technologies
• Multiple data stores
• Copy contagion
– Data copied many times
• Complex and difficult to
maintain
• Skill set is fragmented
9
Apache
Kafka
Web servers
Order service
API/Brokers
Mobile
IoT
Producers
Databases
Oracle
NoSQL
MySQL
GG Kafka
Connector
Mobile App1
Consumers
Search Portal
Ops Dashboards
Realtime
Analytics, Alerts
ML Model
Training
Analytic Reports
Adhoc
ExplorationHadoop data lake
Vertica/Hive
Event and data streams
Pub/Sub
AWS S3
Mobile Platform
ELK Platform
Apache Flink
Transactions
Hadoop Stream Everything
A move from DB + DW  Special purpose databases ; Event hub ; Streaming data
How do we think about Microservices?
• Application Platform
• Data Platform
• Simplicity of Development, Deployment, Upgrades, Maintenance, Scale,
Cost effectiveness,Agility, …
Oracle Restricted
Some (not so) simple
questions first !
• Is a separate database per
(micro)service recommended?
• How about REST APIs vs Event
sourcing for Microservices?
• Does expertise on a team
benefit from a Converged
approach?
Copyright © 2019 Oracle and/or its affiliates.
Microservice Approach
Tightly Scoped behind interfaces & highly
decoupled
Polyglot Programming/Persistence => Skills
Own their data != absolutely need their own
database instance!
Communication between services is complex
3 Mechanisms Service can interact: Command &
Query but also Event
Smart Endpoints and Dumb Pipes
Finding the right granularity of a service is
challenging
Really something new?Or just SOA done right?
Service 1
Service 2
Service 3
Service 4
Smart Endpoints and Dumb Pipes!
– no complex Integration in the middle!
Integration
X
Service Bus
Service
Orchestration
Service 1
Service 2
Service 3
Service 4
X
X
X
X
Modernizing SOA
• SOA is a similar paradigm
as Microservices
• Reasons to move from SOA
to Microservices
• 7 suggestions to get started
Copyright © 2019 Oracle and/or its affiliates.
First & foremost. SOA is a discipline and the Microservices
architecture shares some of its principles
• The first thing to understand is that if you are really doing
SOA & you are looking to implement microservices, then
the path is pretty much open for you
• Services Design Principles such as Abstraction, Loosely
Coupling, Autonomy, Composability, Standardized Service
Contract; applies perfectly for your Microservices
• As the title says, SOA is a discipline is not a technology.
• If you are really designing services, then you are in very
good position
Copyright © 2019 Oracle and/or its affiliates.
Microservices
SOA
But…what about Oracle SOA Suite?
• Now we are talking about technology
• Oracle SOA Suite is a great platform, no doubt about it. Personally, I’ve been
using it since the very beginning (Oracle BPEL in 2003)
• Sometimes people uses it as a Services platform and sometimes as an
Integration Platform
• But, if you are going into a direction where some of your services running on top
of Oracle Suite, needs to be moved to a microservices architecture, then we can
give you some suggestions.That architecture can be deployed on Oracle
Kubernetes Engine, for example.
Copyright © 2019 Oracle and/or its affiliates.
Reasons of doing this type of change
1. Business drivers and needs
2. Different consumers generation different dynamics for your services and you
need to respond accordingly with agility
3. If you are looking to isolate your services and reduce the dependencies (the
metadata DB for example)
4. Autoscaling for your services
5. Service Isolation
6. Service Performance
7. Service Containerization
8. Service isolation needs
Copyright © 2019 Oracle and/or its affiliates.
https://innovationmanagement.se/imtool-articles/improvement-is-not-innovation/
Seven (7) suggestions for you
1. This is a progressive change. Do not try to make a big bang plan
2. Identify services that really need microservices dynamics. If they are
OSB based (Proxy, Pipelines, Business), even better. Migrate your
pipeline code
3. Reuse your contracts, if you really have applied Standardized Service
Contracts
4. Do not try to migrate dependencies, that is exactly what you are trying
to avoid. Example: database dehydration store
5. If you are using JMS for communication among your services, you can
use similar approaches such as Oracle AQ/TEQ
6. Business Rules engine is a good candidate, since most of the times the
rules are stand alone and they do not depend on others
7. Cross cutting functionality, such as OWSM policies, can be expressed
like service proxies or sidecars, and depending on the dynamics you can
implement the service mesh pattern
Copyright © 2019 Oracle and/or its affiliates.
Multitenant for Efficient,Agile DatabaseClouds
In-Memory for DatabaseAcceleration
Sharding for Hyperscale and Geo Distribution
Native JSON for Document Data
In-Memory Ingest for Fastest IoT
Cloud SQL for integratingObject Store Data Lake
AutoML for simple integrated Machine Learning
Persistent Memory Store for Lowest Latency
BlockchainTables for Preventing Fraud
Spatial and Graph for Mapping and Social Networks
Events forTransactional Event-driven Microservices
And many more …
Oracle Autonomous Database
Converged Features In-Memory
Analytics
Hyperscale
Machine
Learning
Blockchain
Cloud
Integration
{ }
JSON In-Memory
IoT
Spatial Graph
Multitenant
Persistent
Memory
Events
Web servers
Order service
API/Brokers
Mobile
IoT
Producers Consumers
Mobile App1
Search Portal
Ops
Dashboards
Realtime
Analytics,
Alerts
ML Model
Training
Analytic
Reports
Adhoc
Exploration
Converged database
with
Event Queues
+
Managed
+
Cloud Scale
Transactions
20
• Microservices support
• Open interfaces
• Easy app building blocks & APIs
• Less to learn, manage, backup,
upgrade, secure
• Self-managing with Autonomous
Database
Database Convergence Simplicity
OCI Object Store
Converged DB
JSON
Converged Database Architecture
• Event Queues supports transactional
messaging - microservice state and
events can be persisted by the same
local transaction (not 2 phase commit)
• Simplify development of fault-tolerant
microservices
• Error recovery logic is typically 90% of the
code. And this code is often poorly tested
Confidential – Gartner SAS Day 7/18/2019
compatible
Multimodel PDBs withTransactional EventQueues
Order Inventory Delivery
JSON JSON
JSON
A Modern Mobile Food Delivery Application
Copyright © 2019 Oracle and/or its affiliates.
order
inventory
delivery
supplier
Transactions
Data
AI/ML
Source: Doordash
LiveLabs to get hands-on experience
Copyright © 2019 Oracle and/or its affiliates.
Lab3
Multitenant
TEQ
Multitenant
Lab1
Lab4 APP PLATFORM
Lab5 DATA PLATFORM
Lab6 Polyglot Coding in Java, Python, node.js
Lab2
OCI Registry
LiveLabs for
Microservices
• https://oracle.github.io/learning-library/developer-
library/microservices-with-converged-db/#Let'sGetStarted!
Copyright © 2019 Oracle and/or its affiliates.
Quick Walkthrough of
Microservices on Converged DB with
Helidon
Copyright © 2019 Oracle and/or its affiliates.
Copyright © 2019 Oracle and/or its affiliates.
Food order App – Microservices and message flow
Mobile App
Order μService
Helidon MP
Data type: JSON
Delivery μService
WebLogic
Data type: Spatial
Inventory μService
Helidon MP
Data type: relational
ATP PDBS with propagated AQ queues
add inventory call
over gRPC
Supplier μService
Helidon SE
Data type: relational
routing and
visualization API
over REST
place order and
show order call
over REST
Streaming Order
μService
Helidon SE
Data type: JSON
insert order (SODA API) +
send event
over AQ
OCI
Streaming
Service
produce/stream
orders
over Kakfa
consume/stream
orders
over Kakfa
receive inventory
status
and other events
over AQ receive order
event
over AQ
send inventory
status event
over AQ
stream orders call
over gRPC
OKE
cluster
OCI
Monitoring
Service
update inventory
(SQL – commutative
operation
over reactive)
OCIR
OCI
Object
Storage
Event sourcing
and
choreography
saga
Sagas | For Transactions across Microservices
Order
Service
Inventory
Service
Delivery
Service
Kafka or JMS
client API
Kafka or JMS
in DB
VeggieDash
App
HTTP
Begin Saga
1. Place order
(local commit)
2. Check Inventory
(local commit)
3. Delivery Service
(rollback)
4. If all 3 succeed
Commit Saga [Id];
Record overall
booking
Else
Abort Saga [Id]
(Compensation)
End Saga
Transparent TEQ message propagation cross PDBs and CDB
Saga pattern requires compensation code (~80%) | Can we make it simpler ?
Copyright © 2019 Oracle and/or its affiliates.
No Matter Where you Are? You can touch a Microservice?
build
Future Labs Ideas – Collaborate with us!
• Spatial Optimization for order delivery team. (Spatial data)
Step 1: Multiple routes planning for a deliverer picking up 5 orders
Step 2: Plot the routes on a map
Step 3: Optimize for all delivery persons for optimal delivery time
• Social Graph Recommendations (Graph data)
Step 1: Social graph for recommendations of restaurants
Step 2: Provide Top 3 recommendations for Thai food
• Ops Analytics (Analytics dashboards)
Step 1: Order analysis and prediction of delivery times
Step 2: Delivery Ops dashboard on spatial map in real time
Step 3: Compare predicted delivery times vs actual times with feedback learning
• Machine Learning (Machine Learning)
Step 1: Dynamic pricing algorithms based on demand and supply
Step 2: Profitability predictions with surge pricing
Step 3: Predicting models for bringing surge pricing to normal
• Performance, HA, and Scaling of Microservices Platform (Performance/HA)
Step 1: Adding capacity to the system
Step 2: 100 orders to 10,000 orders per minute horizontal scaling of platform
Step 3: App, Messaging, Data layer cost scaling
Step 4: HA best practices for always on service experience
Copyright © 2019 Oracle and/or its affiliates.
Copyright © 2019 Oracle and/or its affiliates.
For Microservices Build the App and the Data Platform together!
FINAL WORD
DATA PLATFORM
APP
Questions?
Guido.Schmutz@trivadis.com | Trivadis
rcarrasco@spsolutions.com.mx | S&P Solutions
Paul.Parkinson@oracle.com | Oracle
Sanjay.Goil@oracle.com | Oracle
Copyright © 2019 Oracle and/or its affiliates.
Microservices: Should I Build Them

Contenu connexe

Tendances

#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...
#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...
#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...Tammy Bednar
 
Top 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseTop 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseSandesh Rao
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONMarkus Michalewicz
 
Database@Home - Maps and Spatial Analyses: How to use them
Database@Home - Maps and Spatial Analyses: How to use themDatabase@Home - Maps and Spatial Analyses: How to use them
Database@Home - Maps and Spatial Analyses: How to use themTammy Bednar
 
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support UpdateOracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support UpdateMarkus Michalewicz
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciMarketingArrowECS_CZ
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewDave Segleau
 
Hybrid Cloud Keynote
Hybrid Cloud Keynote Hybrid Cloud Keynote
Hybrid Cloud Keynote gcamarda
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesMarkus Michalewicz
 
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15Dave Segleau
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...Trivadis
 
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous DatabaseOracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous DatabaseMarkus Michalewicz
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
 
Oracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New FeaturesOracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New FeaturesMarkus Michalewicz
 
Understanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cUnderstanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cIT Help Desk Inc
 
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...Sandesh Rao
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014Anuj Sahni
 
Spotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesSpotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesTammy Bednar
 

Tendances (20)

#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...
#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...
#dbhouseparty - Using Oracle’s Converged “AI” Database to Pick a Good but Ine...
 
Top 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseTop 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous Database
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLON
 
Database@Home - Maps and Spatial Analyses: How to use them
Database@Home - Maps and Spatial Analyses: How to use themDatabase@Home - Maps and Spatial Analyses: How to use them
Database@Home - Maps and Spatial Analyses: How to use them
 
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support UpdateOracle RAC 19c with Standard Edition (SE) 2 - Support Update
Oracle RAC 19c with Standard Edition (SE) 2 - Support Update
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaci
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overview
 
Hybrid Cloud Keynote
Hybrid Cloud Keynote Hybrid Cloud Keynote
Hybrid Cloud Keynote
 
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c FeaturesBest Practices for the Most Impactful Oracle Database 18c and 19c Features
Best Practices for the Most Impactful Oracle Database 18c and 19c Features
 
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15
Oracle NoSQL Database -- Big Data Bellevue Meetup - 02-18-15
 
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
TechEvent 2019: Create a Private Database Cloud in the Public Cloud using the...
 
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous DatabaseOracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous Database
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 
Oracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New FeaturesOracle RAC - Roadmap for New Features
Oracle RAC - Roadmap for New Features
 
Understanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12cUnderstanding Oracle GoldenGate 12c
Understanding Oracle GoldenGate 12c
 
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...
LAD -GroundBreakers-Jul 2019 - The Machine Learning behind the Autonomous Dat...
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
 
Oracle GoldenGate
Oracle GoldenGate Oracle GoldenGate
Oracle GoldenGate
 
Spotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservicesSpotlight private dns-oraclecloudservices
Spotlight private dns-oraclecloudservices
 

Similaire à Microservices: Should I Build Them

Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Igor De Souza
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCapgemini
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGateJeffrey T. Pollock
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Vidyasagar Machupalli
 
Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Franco Ucci
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentHenry J. Kröger
 
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceScanSource, Inc.
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
Cloud Computing Architecture Primer
Cloud Computing Architecture PrimerCloud Computing Architecture Primer
Cloud Computing Architecture PrimerIlham Ahmed
 
Integroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaIntegroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaBilot
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRBWilliam Poos
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise appsSumit Sarkar
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 
Aw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymerAw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymerVMware Tanzu
 
01 oracle application integration overview
01 oracle application integration overview01 oracle application integration overview
01 oracle application integration overviewnksolanki
 

Similaire à Microservices: Should I Build Them (20)

Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
 
CWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der walCWIN17 Utrecht / cg u services - frank van der wal
CWIN17 Utrecht / cg u services - frank van der wal
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Cloud Made Easy - August 2017
Cloud Made Easy - August 2017
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
SaaS for Understanding
SaaS for UnderstandingSaaS for Understanding
SaaS for Understanding
 
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Cloud Computing Architecture Primer
Cloud Computing Architecture PrimerCloud Computing Architecture Primer
Cloud Computing Architecture Primer
 
Demistifying serverless on aws
Demistifying serverless on awsDemistifying serverless on aws
Demistifying serverless on aws
 
Integroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaIntegroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja Azurella
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise apps
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Aw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymerAw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymer
 
01 oracle application integration overview
01 oracle application integration overview01 oracle application integration overview
01 oracle application integration overview
 

Dernier

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Microservices: Should I Build Them

  • 1. 1 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted [Date] Should I be building Microservices? Paul Parkinson Cloud Platform Dev Lead Microservices Sanjay Goil VP Product Management Database Server Tech (microservices)
  • 2. 2 Copyright © 2020, Oracle and/or its affiliates | Confidential: Internal/Restricted/Highly Restricted [Date] Sanjay Goil VP Product Management At Oracle for 2+ years Messaging & Microservices; Previously Event Hub Cloud Service (Kafka); AI Service Past 20 years: AdTech Startup: Social Media & TV Ads Platform HP/Autonomy : Big Data platform (IDOL, Vertica, Logger, and Hadoop) Sun & Intel : Built HPC Systems and Developer Tools for Converged Parallelism About your presenters: Paul Parkinson Cloud Platform Dev Lead Dev lead for Transaction Processing in the mid- tier for 19 years at Oracle Helidon Microservices Platform Dev Lead
  • 3. Two incredible voices of Experience! Copyright © 2019 Oracle and/or its affiliates.
  • 4. Copyright © 2019 Oracle and/or its affiliates. Sanjay Paul Rolando Guido WeWelcome to you all from around theWorld.
  • 5. 5 6: Should I Build Microservices? Sanjay Goil Paul Parkinson Copyright © 2019 Oracle and/or its affiliates. Vice President, Product Management Tx Processing Dev Lead Database Messaging and Microservices Microservices Cloud Platform With Insights From GUIDO And ROLANDO, Oracle Aces
  • 6. Agenda • Introductions – 5 mins (All) • What are Microservices – 5 mins (Sanjay) • Recommendations from Guido – 10 mins • Recommendations from Rolando – 10 mins • Converged Database Simplicity (Sanjay) – 5 mins • Building a Microservice Example (Paul) – 20 mins • Quick walkthrough of the LiveLabs for Microservices • Summary + Q&A – 5 mins Copyright © 2019 Oracle and/or its affiliates.
  • 7. Can we make Microservices SIMPLE ? Help you build Microservices with open interfaces • Simplify data platform • Simplify the code • Simplify integration Copyright © 2019 Oracle and/or its affiliates. Data-driven Applications at Scale
  • 8. What are Microservices? “loosely coupled service oriented architecture with bounded contexts.” • Adrian Cockroft, while at Netflix Copyright © 2019 Oracle and/or its affiliates. If every service has to be updated at the same time it’s not loosely coupled If you know too much about the surrounding services you don’t have a bounded context Source: 12factor.net
  • 9. Complexity of Lambda and Kappa • Many technologies • Multiple data stores • Copy contagion – Data copied many times • Complex and difficult to maintain • Skill set is fragmented 9 Apache Kafka Web servers Order service API/Brokers Mobile IoT Producers Databases Oracle NoSQL MySQL GG Kafka Connector Mobile App1 Consumers Search Portal Ops Dashboards Realtime Analytics, Alerts ML Model Training Analytic Reports Adhoc ExplorationHadoop data lake Vertica/Hive Event and data streams Pub/Sub AWS S3 Mobile Platform ELK Platform Apache Flink Transactions Hadoop Stream Everything A move from DB + DW  Special purpose databases ; Event hub ; Streaming data
  • 10. How do we think about Microservices? • Application Platform • Data Platform • Simplicity of Development, Deployment, Upgrades, Maintenance, Scale, Cost effectiveness,Agility, … Oracle Restricted
  • 11. Some (not so) simple questions first ! • Is a separate database per (micro)service recommended? • How about REST APIs vs Event sourcing for Microservices? • Does expertise on a team benefit from a Converged approach? Copyright © 2019 Oracle and/or its affiliates.
  • 12. Microservice Approach Tightly Scoped behind interfaces & highly decoupled Polyglot Programming/Persistence => Skills Own their data != absolutely need their own database instance! Communication between services is complex 3 Mechanisms Service can interact: Command & Query but also Event Smart Endpoints and Dumb Pipes Finding the right granularity of a service is challenging Really something new?Or just SOA done right?
  • 13. Service 1 Service 2 Service 3 Service 4 Smart Endpoints and Dumb Pipes! – no complex Integration in the middle! Integration X Service Bus Service Orchestration Service 1 Service 2 Service 3 Service 4 X X X X
  • 14. Modernizing SOA • SOA is a similar paradigm as Microservices • Reasons to move from SOA to Microservices • 7 suggestions to get started Copyright © 2019 Oracle and/or its affiliates.
  • 15. First & foremost. SOA is a discipline and the Microservices architecture shares some of its principles • The first thing to understand is that if you are really doing SOA & you are looking to implement microservices, then the path is pretty much open for you • Services Design Principles such as Abstraction, Loosely Coupling, Autonomy, Composability, Standardized Service Contract; applies perfectly for your Microservices • As the title says, SOA is a discipline is not a technology. • If you are really designing services, then you are in very good position Copyright © 2019 Oracle and/or its affiliates. Microservices SOA
  • 16. But…what about Oracle SOA Suite? • Now we are talking about technology • Oracle SOA Suite is a great platform, no doubt about it. Personally, I’ve been using it since the very beginning (Oracle BPEL in 2003) • Sometimes people uses it as a Services platform and sometimes as an Integration Platform • But, if you are going into a direction where some of your services running on top of Oracle Suite, needs to be moved to a microservices architecture, then we can give you some suggestions.That architecture can be deployed on Oracle Kubernetes Engine, for example. Copyright © 2019 Oracle and/or its affiliates.
  • 17. Reasons of doing this type of change 1. Business drivers and needs 2. Different consumers generation different dynamics for your services and you need to respond accordingly with agility 3. If you are looking to isolate your services and reduce the dependencies (the metadata DB for example) 4. Autoscaling for your services 5. Service Isolation 6. Service Performance 7. Service Containerization 8. Service isolation needs Copyright © 2019 Oracle and/or its affiliates. https://innovationmanagement.se/imtool-articles/improvement-is-not-innovation/
  • 18. Seven (7) suggestions for you 1. This is a progressive change. Do not try to make a big bang plan 2. Identify services that really need microservices dynamics. If they are OSB based (Proxy, Pipelines, Business), even better. Migrate your pipeline code 3. Reuse your contracts, if you really have applied Standardized Service Contracts 4. Do not try to migrate dependencies, that is exactly what you are trying to avoid. Example: database dehydration store 5. If you are using JMS for communication among your services, you can use similar approaches such as Oracle AQ/TEQ 6. Business Rules engine is a good candidate, since most of the times the rules are stand alone and they do not depend on others 7. Cross cutting functionality, such as OWSM policies, can be expressed like service proxies or sidecars, and depending on the dynamics you can implement the service mesh pattern Copyright © 2019 Oracle and/or its affiliates.
  • 19. Multitenant for Efficient,Agile DatabaseClouds In-Memory for DatabaseAcceleration Sharding for Hyperscale and Geo Distribution Native JSON for Document Data In-Memory Ingest for Fastest IoT Cloud SQL for integratingObject Store Data Lake AutoML for simple integrated Machine Learning Persistent Memory Store for Lowest Latency BlockchainTables for Preventing Fraud Spatial and Graph for Mapping and Social Networks Events forTransactional Event-driven Microservices And many more … Oracle Autonomous Database Converged Features In-Memory Analytics Hyperscale Machine Learning Blockchain Cloud Integration { } JSON In-Memory IoT Spatial Graph Multitenant Persistent Memory Events
  • 20. Web servers Order service API/Brokers Mobile IoT Producers Consumers Mobile App1 Search Portal Ops Dashboards Realtime Analytics, Alerts ML Model Training Analytic Reports Adhoc Exploration Converged database with Event Queues + Managed + Cloud Scale Transactions 20 • Microservices support • Open interfaces • Easy app building blocks & APIs • Less to learn, manage, backup, upgrade, secure • Self-managing with Autonomous Database Database Convergence Simplicity OCI Object Store Converged DB JSON
  • 21. Converged Database Architecture • Event Queues supports transactional messaging - microservice state and events can be persisted by the same local transaction (not 2 phase commit) • Simplify development of fault-tolerant microservices • Error recovery logic is typically 90% of the code. And this code is often poorly tested Confidential – Gartner SAS Day 7/18/2019 compatible Multimodel PDBs withTransactional EventQueues Order Inventory Delivery JSON JSON JSON
  • 22. A Modern Mobile Food Delivery Application Copyright © 2019 Oracle and/or its affiliates. order inventory delivery supplier Transactions Data AI/ML Source: Doordash
  • 23. LiveLabs to get hands-on experience Copyright © 2019 Oracle and/or its affiliates. Lab3 Multitenant TEQ Multitenant Lab1 Lab4 APP PLATFORM Lab5 DATA PLATFORM Lab6 Polyglot Coding in Java, Python, node.js Lab2 OCI Registry
  • 25. Quick Walkthrough of Microservices on Converged DB with Helidon Copyright © 2019 Oracle and/or its affiliates.
  • 26. Copyright © 2019 Oracle and/or its affiliates. Food order App – Microservices and message flow Mobile App Order μService Helidon MP Data type: JSON Delivery μService WebLogic Data type: Spatial Inventory μService Helidon MP Data type: relational ATP PDBS with propagated AQ queues add inventory call over gRPC Supplier μService Helidon SE Data type: relational routing and visualization API over REST place order and show order call over REST Streaming Order μService Helidon SE Data type: JSON insert order (SODA API) + send event over AQ OCI Streaming Service produce/stream orders over Kakfa consume/stream orders over Kakfa receive inventory status and other events over AQ receive order event over AQ send inventory status event over AQ stream orders call over gRPC OKE cluster OCI Monitoring Service update inventory (SQL – commutative operation over reactive) OCIR OCI Object Storage Event sourcing and choreography saga
  • 27. Sagas | For Transactions across Microservices Order Service Inventory Service Delivery Service Kafka or JMS client API Kafka or JMS in DB VeggieDash App HTTP Begin Saga 1. Place order (local commit) 2. Check Inventory (local commit) 3. Delivery Service (rollback) 4. If all 3 succeed Commit Saga [Id]; Record overall booking Else Abort Saga [Id] (Compensation) End Saga Transparent TEQ message propagation cross PDBs and CDB Saga pattern requires compensation code (~80%) | Can we make it simpler ?
  • 28. Copyright © 2019 Oracle and/or its affiliates. No Matter Where you Are? You can touch a Microservice? build
  • 29. Future Labs Ideas – Collaborate with us! • Spatial Optimization for order delivery team. (Spatial data) Step 1: Multiple routes planning for a deliverer picking up 5 orders Step 2: Plot the routes on a map Step 3: Optimize for all delivery persons for optimal delivery time • Social Graph Recommendations (Graph data) Step 1: Social graph for recommendations of restaurants Step 2: Provide Top 3 recommendations for Thai food • Ops Analytics (Analytics dashboards) Step 1: Order analysis and prediction of delivery times Step 2: Delivery Ops dashboard on spatial map in real time Step 3: Compare predicted delivery times vs actual times with feedback learning • Machine Learning (Machine Learning) Step 1: Dynamic pricing algorithms based on demand and supply Step 2: Profitability predictions with surge pricing Step 3: Predicting models for bringing surge pricing to normal • Performance, HA, and Scaling of Microservices Platform (Performance/HA) Step 1: Adding capacity to the system Step 2: 100 orders to 10,000 orders per minute horizontal scaling of platform Step 3: App, Messaging, Data layer cost scaling Step 4: HA best practices for always on service experience Copyright © 2019 Oracle and/or its affiliates.
  • 30. Copyright © 2019 Oracle and/or its affiliates. For Microservices Build the App and the Data Platform together! FINAL WORD DATA PLATFORM APP
  • 31. Questions? Guido.Schmutz@trivadis.com | Trivadis rcarrasco@spsolutions.com.mx | S&P Solutions Paul.Parkinson@oracle.com | Oracle Sanjay.Goil@oracle.com | Oracle Copyright © 2019 Oracle and/or its affiliates.

Notes de l'éditeur

  1. We see a proliferation of data streams being generated by applications, devices, web, processes, etc. which need to be processed, stored, analyzed securely and at scale. There are many technologies to address these event streams, but the key is to recognize that event-driven action is the end goal of these event streams. Once can think of event-driven workflows in ERP, CRM, HCM that have event flows, traditionally using JMS messaging or streaming news, sensor data, social media posts to a varied set of subscribers with Apache Kafka. Often there are tough architecture choices for setting up the infrastructure, operating it, tuning it, upgrading it, scaling it. In this talk we present the simplicity of setting up Transactional Event Queues in the Oracle database which brings the best of JMS messaging and Kafka produce/consume with transactions that combine data and events delivered with notifications, ideal to build scalable microservices with a multi-model, multi-tenant architecture