SlideShare a Scribd company logo
From Monolith to
Microservices:
Why Building Smaller
Creates Opportunity for
Cleaner Code, Scalability
Thierry Danard,
INT VP of Core Platform Technologies
Steven Reynolds,
INT Senior Product Manager
2© 2018 Interactive Network Technologies, Inc.
Steven Reynolds
Senior Product Manager
Thierry Danard
VP Core Platform Technologies
Speakers
Passionate about engineering and dedicated to
creating software that truly helps and inspires
clients, Thierry Danard is the driving force behind
INTViewer and the architect of INT’s IVAAP
backend. Thierry obtained a computer science
engineering degree from ENSEEIHT and is an
active member of the NetBeans community.
Highly skilled at software development,
middleware, database software, and visualization
software, Steven Reynolds received his BSEE
from University of Texas at Austin and his PhD in
electrical engineering from Rice University. At
INT, Steven guides innovation in microservices
architecture, back end data access management,
and integration for major oil and gas companies
around the world.
3© 2018 Interactive Network Technologies, Inc.
80Software
Engineers,
fully dedicated to
the oil & gas
industry
110+leading E&P companies
use INT for complex
data visualization
25+years as an
established software
company
Expertise in E&P Visualization and Data
Access Libraries & Platforms in the Cloud
GRAPHIC & WIDGET
LIBRARIES
DATA VISUALIZATION
PLATFORM
Developer toolkit for G&G, E&P
2D and 3D visualization
Cloud and mobile-enabled (HTML5)
data visualization enterprise framework
Services
IVAAP
GeoToolkit
CUSTOM VISUALIZATION
DEVELOPMENT
About INT
Did you
know??
• INT offers interesting
jobs and
internships
• Many current and
former INT
employees are UH
alumni
• Our founder sits on
UH Dean’s Board
4© 2018 Interactive Network Technologies, Inc.
Why This Topic? Why Now?
The Oil and Gas industry (and many other industries) is using digital technology to transform how they
work.
Disparate System
(Apps, Files,
Data Silos
Move to
Cloud
Data
Service
Business Drivers
• Make data searchable and accessible across the enterprise
• Reduce decision times through Machine Learning, Artificial Intelligence
• Improve efficiency through continuous application delivery and modular and mobile-first architecture
strategy
App
s
ML
AI
Files
App
s
Visu
Real World
Modular Development
(in Java)
Thierry Danard
6© 2018 Interactive Network Technologies, Inc.
What Is Modular Programming?
Small pieces make a bigger whole
Code separation by functionality
Separation of implementation and declaration
Interchangeable implementations
Works well with Object-Oriented Programming.
7© 2018 Interactive Network Technologies, Inc.
Examples of Programs Using Modules
Eclipse IDE
NetBeans IDE
Linux Operating System
IVAAP Backend (Web application)
INTViewer (Desktop application)
IVAAP
INTViewer
8© 2018 Interactive Network Technologies, Inc.
INT is a software company with multiple, major clients.
All of these clients want to use IVAAP, but they all need
customizations to fit their business.
Business View of Modular =
Same Code/Same Build, Different Deployment Options
Why Is Modular Programming Useful?
9© 2018 Interactive Network Technologies, Inc.
Modular Programming: A Good Way to Implement Options
If each time you need to implement an option, you
add a checkbox to some preferences screen, you:
• Make the UI more complex for users who don’t
need these options
• Leak to one of your client competitors what your
client does
Solution: Use some lookup system.
10© 2018 Interactive Network Technologies, Inc.
Modular ProgrammingClassic Programming
Lookup System vs. Options
11© 2018 Interactive Network Technologies, Inc.
Declaration of the Functionality
12© 2018 Interactive Network Technologies, Inc.
Implementations of the Functionality
13© 2018 Interactive Network Technologies, Inc.
Aug 27, 2018 10:23:44 AM
com.interactive.ivaap.lookup.annotations.LookupRegistrat
ionLoader loadSelfRegistrations
INFO: Self registered instance of class
com.interactive.ivaap.sample.FormalGreeter for lookup
class com.interactive.ivaap.sample.AbstractGreeter
Aug 27, 2018 10:23:44 AM
com.interactive.ivaap.lookup.annotations.LookupRegistrat
ionLoader loadSelfRegistrations
INFO: Self registered instance of class
com.interactive.ivaap.sample.CasualGreeter for lookup
class com.interactive.ivaap.sample.AbstractGreeter
@SelfRegistration(lookupClass =
AbstractGreeter.class, position = 200)
public class FormalGreeter extends
AbstractGreeter
@SelfRegistration(lookupClass =
AbstractGreeter.class, position = 100)
public class CasualGreeter extends
AbstractGreeter {
Lookup Implementation
14© 2018 Interactive Network Technologies, Inc.
• More code to write
• More CPU consumed
• Slower startup
• Inspecting binaries for annotations
requires specific Java libraries
• Easy to add more options (for INT and its
customers): no code to change.
• Clean separation of functionality and options:
easy to maintain.
• Deliverables are the options. Options become a
“DevOps” concern, not a programmer concern.
• Developers can be productive with annotations.
• Refactoring class name doesn’t affect behavior.
Benefits vs. Drawbacks
Technical Architecture
Steven Reynolds
16© 2018 Interactive Network Technologies, Inc.
Digital E&P Platform: Enterprise Data Visualization
Digital Oilfield Platform (Exploration, Drilling, Production)
Application Services Integration
Cloud Infrastructure / On-Premise
Basin
Modeling
Enterprise Cloud Viewer (IVAAP)
User Interface
Dashboard-Centric Map-Centric Well-Centric
API/SDK Services
• Custom Data Connector
• Back-End SDK
• Front-End SDK
• Math Engine
• Alarms
Data Aggregation
• WITSML
• SQL
• LAS, DLIS, SEG-Y
• MongoDB
• PPDM
• Peloton Wellview
• P2 Procount
• OSIsoft
Domain Visualization
• WellLog
• Seismic
• Real-Time Monitoring
• Production Monitoring
• Schematics
• Rig Activities
• Drilling
Management
• User-Managed
Dashboard
• Templates
• Admin
• Security
• Auditing
• Dashboard Publishing
• Data Lake Ingestion
• Machine Learning
• Artificial Intelligence
• Analytics
• Workflows
Microservice
s
Architecture
17© 2018 Interactive Network Technologies, Inc.
IVAAP Architecture
JavaScript/HTML5
Client
Play
Akka
Microservices Data
Sources
Node.JS
External Auth Systems
Geoscience
data
User
data
18© 2018 Interactive Network Technologies, Inc.
IVAAP Node.js Architecture
DAL Passport
Basic SAML Cognito
Users Access Control Files
…Postgres
19© 2018 Interactive Network Technologies, Inc.
IVAAP Client Architecture
20© 2018 Interactive Network Technologies, Inc.
IVAAP Geoscience Backend
Play
admin
S3
GIS
Akka
Microservices
http
REST API
AWS S3
SQLSQL
Mongo
SQL db
Mongo
…
21© 2018 Interactive Network Technologies, Inc.
Akka Actors
• Messaging independent of route
• Can go across machines
• Natural mapping to what’s possible
• Built-in load-balancing, clusters, …
Play Framework
• Modern dynamic web server
• Asynchronous I/O
• Not thread per request
• Easy Integration with Akka
IVAAP Geoscience Backend
22© 2018 Interactive Network Technologies, Inc.
Akka Actors
• Messaging independent of route
• Can go across machines
• Natural mapping to what’s possible
• Built-in load-balancing, clusters, …
Play Framework
• Modern dynamic web server
• Asynchronous I/O
• Not thread per request
• Easy Integration with Akka
IVAAP Geoscience Backend
Benefits
• Horizontal scaling
• Simpler errors
• Easy robustness and fault tolerance
Thank You

More Related Content

What's hot

Developing Digital Twins
Developing Digital TwinsDeveloping Digital Twins
Developing Digital Twins
Elizabeth Steiner
 
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
Robb Boyd
 
Migite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platformMigite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platform
GejamuganLatsoomanan2
 
Running Data Platforms Like Products
Running Data Platforms Like ProductsRunning Data Platforms Like Products
Running Data Platforms Like Products
VMware Tanzu
 
IBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformationIBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformation
Jawad Jari, Enterprise Architect
 
IBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformationIBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformation
Jawad Jari, Enterprise Architect
 
Encanvas digital transformation data sheet
Encanvas digital transformation data sheetEncanvas digital transformation data sheet
Encanvas digital transformation data sheet
Newton Day Uploads
 
EdgeX Foundry - Open Interop Platform for the IoT Edge.
EdgeX  Foundry - Open Interop Platform for the IoT Edge. EdgeX  Foundry - Open Interop Platform for the IoT Edge.
EdgeX Foundry - Open Interop Platform for the IoT Edge.
Barton George
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
Inductive Automation
 
What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy? What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy?
Kellton Tech Solutions Ltd
 
Cross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE PredixCross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE Predix
Altoros
 
Cloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and HowCloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and How
VMware Tanzu
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Dell World
 
Mobile Enterprise Application Platform
Mobile Enterprise Application PlatformMobile Enterprise Application Platform
Mobile Enterprise Application Platform
Nugroho Gito
 
[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation
WSO2
 
Design, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future ProblemsDesign, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future Problems
Cisco DevNet
 
How to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud EcosystemsHow to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud Ecosystems
eG Innovations
 
The Evolution of Integration
The Evolution of IntegrationThe Evolution of Integration
The Evolution of Integration
Software AG
 
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
WSO2
 

What's hot (20)

Developing Digital Twins
Developing Digital TwinsDeveloping Digital Twins
Developing Digital Twins
 
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
 
Migite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platformMigite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platform
 
Mendix Factsheet
Mendix  FactsheetMendix  Factsheet
Mendix Factsheet
 
Running Data Platforms Like Products
Running Data Platforms Like ProductsRunning Data Platforms Like Products
Running Data Platforms Like Products
 
IBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformationIBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformation
 
IBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformationIBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformation
 
Encanvas digital transformation data sheet
Encanvas digital transformation data sheetEncanvas digital transformation data sheet
Encanvas digital transformation data sheet
 
EdgeX Foundry - Open Interop Platform for the IoT Edge.
EdgeX  Foundry - Open Interop Platform for the IoT Edge. EdgeX  Foundry - Open Interop Platform for the IoT Edge.
EdgeX Foundry - Open Interop Platform for the IoT Edge.
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
 
What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy? What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy?
 
Cross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE PredixCross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE Predix
 
Cloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and HowCloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and How
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
Mobile Enterprise Application Platform
Mobile Enterprise Application PlatformMobile Enterprise Application Platform
Mobile Enterprise Application Platform
 
[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation
 
Design, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future ProblemsDesign, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future Problems
 
How to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud EcosystemsHow to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud Ecosystems
 
The Evolution of Integration
The Evolution of IntegrationThe Evolution of Integration
The Evolution of Integration
 
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
 

Similar to INT Inc | Benefits of a Microservices Architecture

Mindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for IndustryMindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for Industry
IIoTWorld
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
William Poos
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
WSO2
 
Veritas + MongoDB
Veritas + MongoDBVeritas + MongoDB
Veritas + MongoDB
MongoDB
 
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
JessiRyan1
 
Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019
domenico di mola
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
DevOps.com
 
How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...
eG Innovations
 
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
SnapLogic
 
New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11
Dileep Bhandarkar
 
LeanIX TBM Conference 2018
LeanIX TBM Conference 2018LeanIX TBM Conference 2018
LeanIX TBM Conference 2018
LeanIX GmbH
 
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
Denodo
 
Getting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" ProjectGetting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" Project
TIBCO Jaspersoft
 
Managing the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered InsightsManaging the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered Insights
eG Innovations
 
Cubitic: Predictive Analytics
Cubitic: Predictive AnalyticsCubitic: Predictive Analytics
Cubitic: Predictive Analytics
huguk
 
CloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTCloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoT
Benjamin Chodroff
 
Webinar VB6 apps to html5
Webinar VB6 apps to html5Webinar VB6 apps to html5
Webinar VB6 apps to html5
Gizmox
 
Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?
LeanIX GmbH
 
Software panel
Software panelSoftware panel
Software panelMassTLC
 
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDatenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Denodo
 

Similar to INT Inc | Benefits of a Microservices Architecture (20)

Mindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for IndustryMindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for Industry
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
Veritas + MongoDB
Veritas + MongoDBVeritas + MongoDB
Veritas + MongoDB
 
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
 
Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...
 
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
 
New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11
 
LeanIX TBM Conference 2018
LeanIX TBM Conference 2018LeanIX TBM Conference 2018
LeanIX TBM Conference 2018
 
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
 
Getting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" ProjectGetting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" Project
 
Managing the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered InsightsManaging the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered Insights
 
Cubitic: Predictive Analytics
Cubitic: Predictive AnalyticsCubitic: Predictive Analytics
Cubitic: Predictive Analytics
 
CloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTCloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoT
 
Webinar VB6 apps to html5
Webinar VB6 apps to html5Webinar VB6 apps to html5
Webinar VB6 apps to html5
 
Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?
 
Software panel
Software panelSoftware panel
Software panel
 
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDatenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
 

Recently uploaded

How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 

Recently uploaded (20)

How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 

INT Inc | Benefits of a Microservices Architecture

  • 1. From Monolith to Microservices: Why Building Smaller Creates Opportunity for Cleaner Code, Scalability Thierry Danard, INT VP of Core Platform Technologies Steven Reynolds, INT Senior Product Manager
  • 2. 2© 2018 Interactive Network Technologies, Inc. Steven Reynolds Senior Product Manager Thierry Danard VP Core Platform Technologies Speakers Passionate about engineering and dedicated to creating software that truly helps and inspires clients, Thierry Danard is the driving force behind INTViewer and the architect of INT’s IVAAP backend. Thierry obtained a computer science engineering degree from ENSEEIHT and is an active member of the NetBeans community. Highly skilled at software development, middleware, database software, and visualization software, Steven Reynolds received his BSEE from University of Texas at Austin and his PhD in electrical engineering from Rice University. At INT, Steven guides innovation in microservices architecture, back end data access management, and integration for major oil and gas companies around the world.
  • 3. 3© 2018 Interactive Network Technologies, Inc. 80Software Engineers, fully dedicated to the oil & gas industry 110+leading E&P companies use INT for complex data visualization 25+years as an established software company Expertise in E&P Visualization and Data Access Libraries & Platforms in the Cloud GRAPHIC & WIDGET LIBRARIES DATA VISUALIZATION PLATFORM Developer toolkit for G&G, E&P 2D and 3D visualization Cloud and mobile-enabled (HTML5) data visualization enterprise framework Services IVAAP GeoToolkit CUSTOM VISUALIZATION DEVELOPMENT About INT Did you know?? • INT offers interesting jobs and internships • Many current and former INT employees are UH alumni • Our founder sits on UH Dean’s Board
  • 4. 4© 2018 Interactive Network Technologies, Inc. Why This Topic? Why Now? The Oil and Gas industry (and many other industries) is using digital technology to transform how they work. Disparate System (Apps, Files, Data Silos Move to Cloud Data Service Business Drivers • Make data searchable and accessible across the enterprise • Reduce decision times through Machine Learning, Artificial Intelligence • Improve efficiency through continuous application delivery and modular and mobile-first architecture strategy App s ML AI Files App s Visu
  • 5. Real World Modular Development (in Java) Thierry Danard
  • 6. 6© 2018 Interactive Network Technologies, Inc. What Is Modular Programming? Small pieces make a bigger whole Code separation by functionality Separation of implementation and declaration Interchangeable implementations Works well with Object-Oriented Programming.
  • 7. 7© 2018 Interactive Network Technologies, Inc. Examples of Programs Using Modules Eclipse IDE NetBeans IDE Linux Operating System IVAAP Backend (Web application) INTViewer (Desktop application) IVAAP INTViewer
  • 8. 8© 2018 Interactive Network Technologies, Inc. INT is a software company with multiple, major clients. All of these clients want to use IVAAP, but they all need customizations to fit their business. Business View of Modular = Same Code/Same Build, Different Deployment Options Why Is Modular Programming Useful?
  • 9. 9© 2018 Interactive Network Technologies, Inc. Modular Programming: A Good Way to Implement Options If each time you need to implement an option, you add a checkbox to some preferences screen, you: • Make the UI more complex for users who don’t need these options • Leak to one of your client competitors what your client does Solution: Use some lookup system.
  • 10. 10© 2018 Interactive Network Technologies, Inc. Modular ProgrammingClassic Programming Lookup System vs. Options
  • 11. 11© 2018 Interactive Network Technologies, Inc. Declaration of the Functionality
  • 12. 12© 2018 Interactive Network Technologies, Inc. Implementations of the Functionality
  • 13. 13© 2018 Interactive Network Technologies, Inc. Aug 27, 2018 10:23:44 AM com.interactive.ivaap.lookup.annotations.LookupRegistrat ionLoader loadSelfRegistrations INFO: Self registered instance of class com.interactive.ivaap.sample.FormalGreeter for lookup class com.interactive.ivaap.sample.AbstractGreeter Aug 27, 2018 10:23:44 AM com.interactive.ivaap.lookup.annotations.LookupRegistrat ionLoader loadSelfRegistrations INFO: Self registered instance of class com.interactive.ivaap.sample.CasualGreeter for lookup class com.interactive.ivaap.sample.AbstractGreeter @SelfRegistration(lookupClass = AbstractGreeter.class, position = 200) public class FormalGreeter extends AbstractGreeter @SelfRegistration(lookupClass = AbstractGreeter.class, position = 100) public class CasualGreeter extends AbstractGreeter { Lookup Implementation
  • 14. 14© 2018 Interactive Network Technologies, Inc. • More code to write • More CPU consumed • Slower startup • Inspecting binaries for annotations requires specific Java libraries • Easy to add more options (for INT and its customers): no code to change. • Clean separation of functionality and options: easy to maintain. • Deliverables are the options. Options become a “DevOps” concern, not a programmer concern. • Developers can be productive with annotations. • Refactoring class name doesn’t affect behavior. Benefits vs. Drawbacks
  • 16. 16© 2018 Interactive Network Technologies, Inc. Digital E&P Platform: Enterprise Data Visualization Digital Oilfield Platform (Exploration, Drilling, Production) Application Services Integration Cloud Infrastructure / On-Premise Basin Modeling Enterprise Cloud Viewer (IVAAP) User Interface Dashboard-Centric Map-Centric Well-Centric API/SDK Services • Custom Data Connector • Back-End SDK • Front-End SDK • Math Engine • Alarms Data Aggregation • WITSML • SQL • LAS, DLIS, SEG-Y • MongoDB • PPDM • Peloton Wellview • P2 Procount • OSIsoft Domain Visualization • WellLog • Seismic • Real-Time Monitoring • Production Monitoring • Schematics • Rig Activities • Drilling Management • User-Managed Dashboard • Templates • Admin • Security • Auditing • Dashboard Publishing • Data Lake Ingestion • Machine Learning • Artificial Intelligence • Analytics • Workflows Microservice s Architecture
  • 17. 17© 2018 Interactive Network Technologies, Inc. IVAAP Architecture JavaScript/HTML5 Client Play Akka Microservices Data Sources Node.JS External Auth Systems Geoscience data User data
  • 18. 18© 2018 Interactive Network Technologies, Inc. IVAAP Node.js Architecture DAL Passport Basic SAML Cognito Users Access Control Files …Postgres
  • 19. 19© 2018 Interactive Network Technologies, Inc. IVAAP Client Architecture
  • 20. 20© 2018 Interactive Network Technologies, Inc. IVAAP Geoscience Backend Play admin S3 GIS Akka Microservices http REST API AWS S3 SQLSQL Mongo SQL db Mongo …
  • 21. 21© 2018 Interactive Network Technologies, Inc. Akka Actors • Messaging independent of route • Can go across machines • Natural mapping to what’s possible • Built-in load-balancing, clusters, … Play Framework • Modern dynamic web server • Asynchronous I/O • Not thread per request • Easy Integration with Akka IVAAP Geoscience Backend
  • 22. 22© 2018 Interactive Network Technologies, Inc. Akka Actors • Messaging independent of route • Can go across machines • Natural mapping to what’s possible • Built-in load-balancing, clusters, … Play Framework • Modern dynamic web server • Asynchronous I/O • Not thread per request • Easy Integration with Akka IVAAP Geoscience Backend Benefits • Horizontal scaling • Simpler errors • Easy robustness and fault tolerance