SlideShare a Scribd company logo
1 of 35
Download to read offline
High Level
Plan and Design Documentation
Project name FlexBook Reservation Platform
State In progress
Lead architect David Pasek
Technical designers David Pasek (Software & Infrastructure Architecture)
Reviewers Petr Kos, Jan Redl
Investor Community project
Distributed Catalog & Reservation Platform
Conceptual Architecture
Reservation Platform
Project
Overview
GRRID Philosophy
Concept
Human civilization is moving from a materialistic (own resources) based society to resource 
sharing society.
GRRID (Global Resource and Reservation Information Database) is Global Distributed System 
(aka GDS) allowing resource providers to provide resources to resource consumers and 
helping them to find and reserve resources.
GRRID is providing online resource availability, ticketing, notifications, and payment 
methods.
GRRID is policy based system enforcing specific reservation policies, discount polices, 
and notification polices to achieve desired business goals.
GRRID can distribute and reserve any type of resource, event or service across distributed 
resource network allowing federation of resource providers leveraging the concept of super 
and sub providers.
GRRID prototype and pilot implementation is available as open-​
source software available at 
https://flexbook.info and via GitHub software hub repository.
Core
Global Resource and Reservation Information Database Overview
Concept - Metada Catalog Platform Overview
GRRID - Information Science Platform
FlexBook.Software
SPARQL
R
E
S
T
G
r
a
p
h
Q
L
jQuery
V
u
e
.
j
s
Community Driven - Open-​
source software
N
E
X
T
?
W
e
b
C
o
m
p
o
n
e
n
t
s
RDF Query Language
Web Components
A
P
I
A
P
I
N
e
x
t
I
n
t
e
r
f
a
c
e
?
GRRID Catalog
Core
Global Resource and Reservation Information Database Overview
Concept - Global Distribution System (GDS)
Resource
Consumer
Resource
Provider
Resource
POI (Point of Interest)
Event
Service
Resource Description Format (RDF)
Resource
Distributor
Resource
Availability
Resource
Condition
Polices
Global Resource Catalog
and Distributed Reservation Database
Notification
Polices
Ticketing
Polices
GRRID - Global Distributed System
Online Payment 
Gateway
Book
Resource
Objects
Reservation Platform
GRRID Objects
GRRID - Objects Ontology
Concept
Resource
Event Service
Is happening on Is provided on/by
GRRID - Objects Taxonomy - Facet Classification & Thesaurus
Concept
Specific Resource Attributes
(aka custom attributes)
Resource
Universal Resource Attributes
Tags
Thesaurus - Controlled Vocabulary
Tags synonyms, multi-​
language translations
Preferred Terms hierarchy
(broader terms, narrower terms)
Thesaurus Preferred Terms
Specific Event Attributes
(aka custom attributes)
Event
Universal Event Attributes
Tags Thesaurus Preferred Terms
GRRID - Objects Taxonomy - Object Types
Logical design
Object
Name
Description
Date-​
create
Date-​
modified
Local Identifier (id)
Global Identifier (uuid)
Tags / Thesaurus terms
Object_Type
Object_Type_ID
Object_Type_Name
N..1
Resource, Events and Services are core Objects in resource oriented database
Object type
Type
GRRID - Inter Provider Object Ontology (Custom Attributes)
Logical design
Object
Name
Description
Type
Date-​
create
Date-​
modified Element_Attribute_Types
Attribute_Category
Attribute_ID
Attribute_Name
Attribute_Type
Element_Attribute_Values
Element_ID
Element_Attribute_Type N..1
Local Identifier (id) N..1
Element_Attribute_Value
Global Identifier (uuid)
Tags / Thesaurus terms
Resource, Events and Services are core Elements in GRRID resource oriented database
Object custom attribute values
RDF Statement = subject → predicate → object
Subject
The element we are claiming 
something about
Object
The value of particular attribute
[Element_Attribute_Value]
Predicate
[Attribute_Type]
Object predicates
Reservation Platform
FlexBook
Single Node
Database
RDF SPARQL 
Endpoint
App Server
REST API Endpoint
GRRID Node API
Single Node GRRID - API Architecture
Concept
GRRID Node
Mobile App
End User
Web App
Information
Specialist
Resource Consumer 
(Customer)
Resource Provider
(BackOffice User)
RDF Query Language
SPARQL queries
Resource Catalog
& Reservation Database
Backup Store
Database
App Server
FlexBook REST API Endpoint
FlexBook GRDR API
Single Node GRRID - Multitenancy Architecture
Concept
FlexBook Node
Local Multi-​
Tenant
Reservation Database
FlexBook External 
Applications
FlexBook Web 
JavaScript Component
Operating System
Reservation Database
Provider A Provider B
Provider C Provider D
Reservation Back Office API
Web Page on External WebSites
JS Components
AJAX
HTML Component 
Composer
REST
REST
Mobile Apps Web Apps
Reservation Platform
FlexBook
Clustered GRRID
GRRID Cluster
Clustered Resource Catalog & Reservation Database
Clustered GRRID - API Architecture
Distributed Application Concept
GRRID Node GRRID Node GRRID Node
REST API Endpoint
GRRID Node API
Mobile App
End User
Web App
Resource Consumer 
(Customer)
Resource Provider
(BackOffice User)
RDF SPARQL 
Endpoint
Information
Specialist
RDF Query Language
SPARQL queries
Clustered GRRID - Multi-​
tenancy Architecture
Multi-​
tenancy Concept
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Node Provisioning
Node Inventory
FlexBook Cluster Manager A
Node Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Inc
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
Ingress Controller
Proxy Server
Internet
FlexBook Cluster A
Backup 
Store
A
Backup 
Store
B
Region
Internet
Gateway
Internet
Availability Zone
Network
Subnet:
 10.10.0.0/24
Cluster
Private
Subnet:
1922.168.100.0/24
L7 Load Balancer
FlexBook 
Node 03
FlexBook 
Node 02
FlexBook 
Node 01
CIDR:10.10.0.0/23
FlexBook Cluster Manager
Web Portal
Ansible/etcd/DNS/REST API
NGINX
Appache, PHP-​
FPM, 
MySQL, CronBots,
FlexBook.Software
Clustered GRRID - FlexBook Cluster Infrastructure Design
Infrastructure Logical Design
FlexBook Cluster Proxy
Ingress Controller
NAT
Gateway
Reservation Platform
FlexBook
Federated GRRID
(GDS)
Federated GRRID - API Architecture
Conceptual view
GRRID Federation
Globally Distributed Resource Catalog & Reservation 
Database
GRRID Cluster
RDF SPARQL 
Endpoint
REST API Endpoint
GRRID Node API
Mobile App
End User
Web App
Information
Specialist
Resource Consumer 
(Customer)
Resource Provider
(BackOffice User)
RDF Query Language
SPARQL queries
GRRID Cluster GRRID Cluster
Federated GRRID - Global Distributed Resource Catalog
Conceptual View
Internet
Global Distributed Resource Catalog
WEBSEARCH FOR A PLANET: THE GOOGLE CLUSTER ARCHITECTURE
https://static.googleusercontent.com/media/research.google.com/en//archive/googlecluster-​
ieee.pdf
Catalog Server
Catalog Server
Catalog Server
Catalog Server
Catalog Cluster
GDS - Global Search
Hierarchical Search Topology
Global
Search Engine
Cluster 1
Search Engine
Cluster 2
Search Engine
Cluster Cn
Local Search Engine
Node 1
Search Helper
Node n
Search Helper
Node 1
Search Helper
Node n
Search Helper
Node 1
Search Helper
Node n
Search Helper
Conceptual View
Reservation Platform
FlexBook
GDS
GDS - Provider Graph Topology
Oriented (Loop Free) Graph Topology of sub & super providers
Provider A
Provider B1 Provider B2 Provider Bn
Provider C1-1 Provider C1-​
n Provider C2-1 Provider C2-​
n Provider C3-1 Provider C3-​
n
Provider D2-1-1 Provider D2-1-2 Provider D2-1-3
Conceptual View
GDS - Cross Provider Object Reference - External Ontology
Conceptual View
Resources, events and services are elementary objects in GRRID.
GRRID is the global content network of objects having inter object relations.
Objects (resources, events, services) can be federated across Global Federated Distribution Network.
Super/Sub Providers provide cross provider object reference
Provider A 
(Super Provider)
Provider B
(Sub Provider)
Resource Resource Resource
Event
External
Predicate
GDS
Global Distributed System
Resource Resource
External
Predicate
Resource Pool A
Resource Pool B
Provider C
(Sub Provider)
Resource
Resource Pool C
Event
Event
Internal
Predicate
E
x
t
e
r
n
a
l
P
r
e
d
i
c
a
t
e
Reservation Platform
Manageability
Monitoring
Observability
Manageability - FlexBook Cluster Manager - Management
Logical View
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Nodes Provisioning
Nodes Inventory
FlexBook Cluster Manager A
(REST API EndPoint)
Nodes Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Sync
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
FlexBook Cluster A
FlexBook Cluster Manager Client 
(REST API HTML5 Client)
Web Portal
(REST API proxy)
REST API REST API
REST API
Manageability - FlexBook Cluster Monitor - Monitoring
Logical View
Node Exporter localhost:9100
Prometheus Server localhost: 9090
FlexBook Node
FlexBook Cluster Monitor 
Provider A Provider B
FlexBook Cluster A
Database
OS
Monitoring Stack
Prometheus Aggregator
Log Management Stack
Loki
Metrics
Graphana
Apache
Manageability - FlexBook Cluster Monitor - Log Management
Logical View
FlexBook Node
FlexBook Cluster Monitor 
Provider A Provider B
FlexBook Cluster A
Database
OS
App
/mnt/data/log/app.log
FluentD
Monitoring Stack
Prometheus Aggregator
Log Management Stack
Loki
Log messages
Graphana
Apache
/var/log/apache2/www.flexbook.cz-​
access_log
PHP Error Log
/var/log/apache2/php_error.log
Reservation Platform
Recoverability
Recoverability - FlexBook Cluster Manager - Backup
Logical View
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Database
App Server
FlexBook Node
Nodes Provisioning
Nodes Inventory
FlexBook Cluster Manager A
(REST API EndPoint)
Nodes Monitoring
Provider DRS
Provider Initial Placement
Provider Backup Full/Inc
Provider Replication
Provider Restore Full/Sync
Provider Live Migration
Provider A Provider B Provider C Provider D Provider E
FlexBook Cluster A
Remote 
Backup 
Store
A
S3 Storage
FlexBook Cluster Manager Client 
(REST API HTML5 Client)
Web Portal
(REST API proxy)
REST API
REST API
Local Backup Store
File System
Remote 
Backup 
Store
B
S3 Storage
Reservation Platform
People & 
Processes
Architect
Architecture Design
David Pasek
App BackEnd Developer
Petr Kos
DevOps Engineer
Jan Redl
App FrontEnd Developer
Martin Edlman
10 FlexBook Core Team Members
Each member has 10% of shares and votes
UX Designer
Albert Edlman
End of
Conceptual
Design
Reservation Platform
Reservation Platform
Backup
Info
#2 - The Resource
Everything is about Resources.
Events and Services are related to resources.
FlexBook Common Rules :-)
#8 - Complexity
Keep max of Ten (10) components in every layer of complexity.
KISS, Divide and Conquer
The Power of Ten (10)
https://www.youtube.com/watch?​
v=0fKBhvDjuy0
#3 -​
Sharing
Sharing is as old as humankind itself; what is new are digital technologies
#4 - Booking
For optimal usage, the limited shared resources must be bookable.
Resource Management = Time Management
#1 - The Book
What is not written down, it doesn’t exist!
#10 - Openness
All software must be open with the most permissive open-​
source license.
We use the "Simplified BSD License"
#7 - Equality
We are all equal
https://en.wikipedia.org/wiki/Social_equality
Everybody reports to somebody else. Everybody need somebody.
#6 - Flexibility
Flexibility achieved by Abstraction and Generalization.
While abstraction reduces complexity by hiding irrelevant detail, 
generalization reduces complexity by replacing multiple entities which 
perform similar functions with a single construct.
#5 - Online
Information and knowledge in speed of light
299 792 458 metres per second
1 080 000 000 kilometres per hour
#9 Reliability by Responsibility
Every component is self manage and responsible for itself.
The system reliability depends on responsibility of each component. 

More Related Content

What's hot

Building materialised views for linked data systems using microservices
Building materialised views for linked data systems using microservicesBuilding materialised views for linked data systems using microservices
Building materialised views for linked data systems using microservicesConnected Data World
 
FIWARE Wednesday Webinars - Introduction to NGSI-LD
FIWARE Wednesday Webinars - Introduction to NGSI-LDFIWARE Wednesday Webinars - Introduction to NGSI-LD
FIWARE Wednesday Webinars - Introduction to NGSI-LDFIWARE
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
Single View of Well, Production and Assets
Single View of Well, Production and AssetsSingle View of Well, Production and Assets
Single View of Well, Production and AssetsJohn Archer
 
MongoDB Atlas Workshop - Singapore
MongoDB Atlas Workshop - SingaporeMongoDB Atlas Workshop - Singapore
MongoDB Atlas Workshop - SingaporeAshnikbiz
 
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT Agent
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT AgentFIWARE Global Summit - Lessons from Building FIWARE Environment with IoT Agent
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT AgentFIWARE
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerHannaHorppila
 
Querying a Complex Web-Based KB for Cultural Heritage Preservation
Querying a Complex Web-Based KB  for Cultural Heritage PreservationQuerying a Complex Web-Based KB  for Cultural Heritage Preservation
Querying a Complex Web-Based KB for Cultural Heritage PreservationEster Giallonardo
 
GRDDL: The Why, What, How, and Where
GRDDL: The Why, What, How, and WhereGRDDL: The Why, What, How, and Where
GRDDL: The Why, What, How, and WhereChimezie Ogbuji
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloudJeff Hung
 
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demandsMongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demandsMongoDB
 

What's hot (12)

Building materialised views for linked data systems using microservices
Building materialised views for linked data systems using microservicesBuilding materialised views for linked data systems using microservices
Building materialised views for linked data systems using microservices
 
FIWARE Wednesday Webinars - Introduction to NGSI-LD
FIWARE Wednesday Webinars - Introduction to NGSI-LDFIWARE Wednesday Webinars - Introduction to NGSI-LD
FIWARE Wednesday Webinars - Introduction to NGSI-LD
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
Analytics in the Cloud
Analytics in the CloudAnalytics in the Cloud
Analytics in the Cloud
 
Single View of Well, Production and Assets
Single View of Well, Production and AssetsSingle View of Well, Production and Assets
Single View of Well, Production and Assets
 
MongoDB Atlas Workshop - Singapore
MongoDB Atlas Workshop - SingaporeMongoDB Atlas Workshop - Singapore
MongoDB Atlas Workshop - Singapore
 
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT Agent
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT AgentFIWARE Global Summit - Lessons from Building FIWARE Environment with IoT Agent
FIWARE Global Summit - Lessons from Building FIWARE Environment with IoT Agent
 
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De LathouwerInspire Helsinki 2019 - Keynote Bart De Lathouwer
Inspire Helsinki 2019 - Keynote Bart De Lathouwer
 
Querying a Complex Web-Based KB for Cultural Heritage Preservation
Querying a Complex Web-Based KB  for Cultural Heritage PreservationQuerying a Complex Web-Based KB  for Cultural Heritage Preservation
Querying a Complex Web-Based KB for Cultural Heritage Preservation
 
GRDDL: The Why, What, How, and Where
GRDDL: The Why, What, How, and WhereGRDDL: The Why, What, How, and Where
GRDDL: The Why, What, How, and Where
 
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
[DataCon.TW 2017] Data Lake: centralize in on-prem vs. decentralize on cloud
 
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demandsMongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
 

Similar to FlexBook Software - Conceptual Architecture

FIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE
 
gLite Information System
gLite Information SystemgLite Information System
gLite Information SystemLeandro Ciuffo
 
Oracle 12c Multitenant architecture
Oracle 12c Multitenant architectureOracle 12c Multitenant architecture
Oracle 12c Multitenant architecturenaderattia
 
Building Linked Data Applications
Building Linked Data ApplicationsBuilding Linked Data Applications
Building Linked Data ApplicationsEUCLID project
 
Specification Scala DSL for Mobile Application
Specification Scala DSL for Mobile ApplicationSpecification Scala DSL for Mobile Application
Specification Scala DSL for Mobile ApplicationAlexander Evseenko
 
Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)Globus
 
Optimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphOptimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphNeo4j
 
CPaaS.io Y1 Review Meeting - Holistic Data Management
CPaaS.io Y1 Review Meeting - Holistic Data ManagementCPaaS.io Y1 Review Meeting - Holistic Data Management
CPaaS.io Y1 Review Meeting - Holistic Data ManagementStephan Haller
 
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Amazon Web Services
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataEUCLID project
 
The web of interlinked data and knowledge stripped
The web of interlinked data and knowledge strippedThe web of interlinked data and knowledge stripped
The web of interlinked data and knowledge strippedSören Auer
 
e-Infrastructure Integration-with gCube
e-Infrastructure Integration-with gCubee-Infrastructure Integration-with gCube
e-Infrastructure Integration-with gCubeFAO
 
Architecture as Linked Data
Architecture as Linked DataArchitecture as Linked Data
Architecture as Linked DataDanny Greefhorst
 
B2FIND Integration | www.eudat.eu |
B2FIND Integration | www.eudat.eu | B2FIND Integration | www.eudat.eu |
B2FIND Integration | www.eudat.eu | EUDAT
 

Similar to FlexBook Software - Conceptual Architecture (20)

FIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
 
gLite Information System
gLite Information SystemgLite Information System
gLite Information System
 
Oracle 12c Multitenant architecture
Oracle 12c Multitenant architectureOracle 12c Multitenant architecture
Oracle 12c Multitenant architecture
 
Grid.pdf
Grid.pdfGrid.pdf
Grid.pdf
 
Building Linked Data Applications
Building Linked Data ApplicationsBuilding Linked Data Applications
Building Linked Data Applications
 
Specification Scala DSL for Mobile Application
Specification Scala DSL for Mobile ApplicationSpecification Scala DSL for Mobile Application
Specification Scala DSL for Mobile Application
 
Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)Enabling Secure Data Discoverability (SC21 Tutorial)
Enabling Secure Data Discoverability (SC21 Tutorial)
 
Optimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphOptimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j Graph
 
CPaaS.io Y1 Review Meeting - Holistic Data Management
CPaaS.io Y1 Review Meeting - Holistic Data ManagementCPaaS.io Y1 Review Meeting - Holistic Data Management
CPaaS.io Y1 Review Meeting - Holistic Data Management
 
Timbuctoo 2 EASY
Timbuctoo 2 EASYTimbuctoo 2 EASY
Timbuctoo 2 EASY
 
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
 
Microtask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked DataMicrotask Crowdsourcing Applications for Linked Data
Microtask Crowdsourcing Applications for Linked Data
 
The web of interlinked data and knowledge stripped
The web of interlinked data and knowledge strippedThe web of interlinked data and knowledge stripped
The web of interlinked data and knowledge stripped
 
Ontology based metadata schema for digital library projects in China
Ontology based metadata schema for digital library projects in ChinaOntology based metadata schema for digital library projects in China
Ontology based metadata schema for digital library projects in China
 
Globus and Gridbus
Globus and GridbusGlobus and Gridbus
Globus and Gridbus
 
Globus ppt
Globus pptGlobus ppt
Globus ppt
 
e-Infrastructure Integration-with gCube
e-Infrastructure Integration-with gCubee-Infrastructure Integration-with gCube
e-Infrastructure Integration-with gCube
 
Gbrds Tech Issues Op
Gbrds Tech Issues OpGbrds Tech Issues Op
Gbrds Tech Issues Op
 
Architecture as Linked Data
Architecture as Linked DataArchitecture as Linked Data
Architecture as Linked Data
 
B2FIND Integration | www.eudat.eu |
B2FIND Integration | www.eudat.eu | B2FIND Integration | www.eudat.eu |
B2FIND Integration | www.eudat.eu |
 

More from David Pasek

Flex Cloud - Conceptual Design - ver 0.2
Flex Cloud - Conceptual Design - ver 0.2Flex Cloud - Conceptual Design - ver 0.2
Flex Cloud - Conceptual Design - ver 0.2David Pasek
 
E tourism v oblasti cestovního ruchu
E tourism v oblasti cestovního ruchuE tourism v oblasti cestovního ruchu
E tourism v oblasti cestovního ruchuDavid Pasek
 
Architektura a implementace digitálních knihoven v prostředí sítě Internet
Architektura a implementace digitálních knihoven v prostředí sítě InternetArchitektura a implementace digitálních knihoven v prostředí sítě Internet
Architektura a implementace digitálních knihoven v prostředí sítě InternetDavid Pasek
 
Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2David Pasek
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6David Pasek
 
Exchange office 3.0 - Stanovisko Státní banky československé
Exchange office 3.0 - Stanovisko Státní banky československéExchange office 3.0 - Stanovisko Státní banky československé
Exchange office 3.0 - Stanovisko Státní banky československéDavid Pasek
 
Network performance test plan_v0.3
Network performance test plan_v0.3Network performance test plan_v0.3
Network performance test plan_v0.3David Pasek
 
vSAN architecture components
vSAN architecture componentsvSAN architecture components
vSAN architecture componentsDavid Pasek
 
FlexBook overview - v2.4
FlexBook overview - v2.4FlexBook overview - v2.4
FlexBook overview - v2.4David Pasek
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16David Pasek
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILDavid Pasek
 
Private IaaS Cloud Provider
Private IaaS Cloud ProviderPrivate IaaS Cloud Provider
Private IaaS Cloud ProviderDavid Pasek
 
Spectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQSpectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQDavid Pasek
 
FlexBook Basic Overview - v2.0
FlexBook Basic Overview - v2.0FlexBook Basic Overview - v2.0
FlexBook Basic Overview - v2.0David Pasek
 
Spectre meltdown performance_tests - v0.3
Spectre meltdown performance_tests - v0.3Spectre meltdown performance_tests - v0.3
Spectre meltdown performance_tests - v0.3David Pasek
 
FlexBook basic overview v2.0
FlexBook basic overview v2.0FlexBook basic overview v2.0
FlexBook basic overview v2.0David Pasek
 
FlexBook - reservation system basic overview v1.1
FlexBook - reservation system basic overview v1.1FlexBook - reservation system basic overview v1.1
FlexBook - reservation system basic overview v1.1David Pasek
 
CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)David Pasek
 
Dell VLT reference architecture v2 0
Dell VLT reference architecture v2 0Dell VLT reference architecture v2 0
Dell VLT reference architecture v2 0David Pasek
 
Metro Cluster High Availability or SRM Disaster Recovery?
Metro Cluster High Availability or SRM Disaster Recovery?Metro Cluster High Availability or SRM Disaster Recovery?
Metro Cluster High Availability or SRM Disaster Recovery?David Pasek
 

More from David Pasek (20)

Flex Cloud - Conceptual Design - ver 0.2
Flex Cloud - Conceptual Design - ver 0.2Flex Cloud - Conceptual Design - ver 0.2
Flex Cloud - Conceptual Design - ver 0.2
 
E tourism v oblasti cestovního ruchu
E tourism v oblasti cestovního ruchuE tourism v oblasti cestovního ruchu
E tourism v oblasti cestovního ruchu
 
Architektura a implementace digitálních knihoven v prostředí sítě Internet
Architektura a implementace digitálních knihoven v prostředí sítě InternetArchitektura a implementace digitálních knihoven v prostředí sítě Internet
Architektura a implementace digitálních knihoven v prostředí sítě Internet
 
Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2Intel & QLogic NIC performance test results v0.2
Intel & QLogic NIC performance test results v0.2
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
 
Exchange office 3.0 - Stanovisko Státní banky československé
Exchange office 3.0 - Stanovisko Státní banky československéExchange office 3.0 - Stanovisko Státní banky československé
Exchange office 3.0 - Stanovisko Státní banky československé
 
Network performance test plan_v0.3
Network performance test plan_v0.3Network performance test plan_v0.3
Network performance test plan_v0.3
 
vSAN architecture components
vSAN architecture componentsvSAN architecture components
vSAN architecture components
 
FlexBook overview - v2.4
FlexBook overview - v2.4FlexBook overview - v2.4
FlexBook overview - v2.4
 
VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16VMware HCI solutions - 2020-01-16
VMware HCI solutions - 2020-01-16
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAIL
 
Private IaaS Cloud Provider
Private IaaS Cloud ProviderPrivate IaaS Cloud Provider
Private IaaS Cloud Provider
 
Spectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQSpectre/Meltdown security vulnerabilities FAQ
Spectre/Meltdown security vulnerabilities FAQ
 
FlexBook Basic Overview - v2.0
FlexBook Basic Overview - v2.0FlexBook Basic Overview - v2.0
FlexBook Basic Overview - v2.0
 
Spectre meltdown performance_tests - v0.3
Spectre meltdown performance_tests - v0.3Spectre meltdown performance_tests - v0.3
Spectre meltdown performance_tests - v0.3
 
FlexBook basic overview v2.0
FlexBook basic overview v2.0FlexBook basic overview v2.0
FlexBook basic overview v2.0
 
FlexBook - reservation system basic overview v1.1
FlexBook - reservation system basic overview v1.1FlexBook - reservation system basic overview v1.1
FlexBook - reservation system basic overview v1.1
 
CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)CLI for VMware Distributed Switch (Community project)
CLI for VMware Distributed Switch (Community project)
 
Dell VLT reference architecture v2 0
Dell VLT reference architecture v2 0Dell VLT reference architecture v2 0
Dell VLT reference architecture v2 0
 
Metro Cluster High Availability or SRM Disaster Recovery?
Metro Cluster High Availability or SRM Disaster Recovery?Metro Cluster High Availability or SRM Disaster Recovery?
Metro Cluster High Availability or SRM Disaster Recovery?
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

FlexBook Software - Conceptual Architecture

  • 1. High Level Plan and Design Documentation Project name FlexBook Reservation Platform State In progress Lead architect David Pasek Technical designers David Pasek (Software & Infrastructure Architecture) Reviewers Petr Kos, Jan Redl Investor Community project Distributed Catalog & Reservation Platform Conceptual Architecture
  • 3. GRRID Philosophy Concept Human civilization is moving from a materialistic (own resources) based society to resource  sharing society. GRRID (Global Resource and Reservation Information Database) is Global Distributed System  (aka GDS) allowing resource providers to provide resources to resource consumers and  helping them to find and reserve resources. GRRID is providing online resource availability, ticketing, notifications, and payment  methods. GRRID is policy based system enforcing specific reservation policies, discount polices,  and notification polices to achieve desired business goals. GRRID can distribute and reserve any type of resource, event or service across distributed  resource network allowing federation of resource providers leveraging the concept of super  and sub providers. GRRID prototype and pilot implementation is available as open-​ source software available at  https://flexbook.info and via GitHub software hub repository.
  • 4. Core Global Resource and Reservation Information Database Overview Concept - Metada Catalog Platform Overview GRRID - Information Science Platform FlexBook.Software SPARQL R E S T G r a p h Q L jQuery V u e . j s Community Driven - Open-​ source software N E X T ? W e b C o m p o n e n t s RDF Query Language Web Components A P I A P I N e x t I n t e r f a c e ? GRRID Catalog Core
  • 5. Global Resource and Reservation Information Database Overview Concept - Global Distribution System (GDS) Resource Consumer Resource Provider Resource POI (Point of Interest) Event Service Resource Description Format (RDF) Resource Distributor Resource Availability Resource Condition Polices Global Resource Catalog and Distributed Reservation Database Notification Polices Ticketing Polices GRRID - Global Distributed System Online Payment  Gateway Book Resource Objects
  • 7. GRRID - Objects Ontology Concept Resource Event Service Is happening on Is provided on/by
  • 8. GRRID - Objects Taxonomy - Facet Classification & Thesaurus Concept Specific Resource Attributes (aka custom attributes) Resource Universal Resource Attributes Tags Thesaurus - Controlled Vocabulary Tags synonyms, multi-​ language translations Preferred Terms hierarchy (broader terms, narrower terms) Thesaurus Preferred Terms Specific Event Attributes (aka custom attributes) Event Universal Event Attributes Tags Thesaurus Preferred Terms
  • 9. GRRID - Objects Taxonomy - Object Types Logical design Object Name Description Date-​ create Date-​ modified Local Identifier (id) Global Identifier (uuid) Tags / Thesaurus terms Object_Type Object_Type_ID Object_Type_Name N..1 Resource, Events and Services are core Objects in resource oriented database Object type Type
  • 10. GRRID - Inter Provider Object Ontology (Custom Attributes) Logical design Object Name Description Type Date-​ create Date-​ modified Element_Attribute_Types Attribute_Category Attribute_ID Attribute_Name Attribute_Type Element_Attribute_Values Element_ID Element_Attribute_Type N..1 Local Identifier (id) N..1 Element_Attribute_Value Global Identifier (uuid) Tags / Thesaurus terms Resource, Events and Services are core Elements in GRRID resource oriented database Object custom attribute values RDF Statement = subject → predicate → object Subject The element we are claiming  something about Object The value of particular attribute [Element_Attribute_Value] Predicate [Attribute_Type] Object predicates
  • 12. Database RDF SPARQL  Endpoint App Server REST API Endpoint GRRID Node API Single Node GRRID - API Architecture Concept GRRID Node Mobile App End User Web App Information Specialist Resource Consumer  (Customer) Resource Provider (BackOffice User) RDF Query Language SPARQL queries Resource Catalog & Reservation Database Backup Store
  • 13. Database App Server FlexBook REST API Endpoint FlexBook GRDR API Single Node GRRID - Multitenancy Architecture Concept FlexBook Node Local Multi-​ Tenant Reservation Database FlexBook External  Applications FlexBook Web  JavaScript Component Operating System Reservation Database Provider A Provider B Provider C Provider D Reservation Back Office API Web Page on External WebSites JS Components AJAX HTML Component  Composer REST REST Mobile Apps Web Apps
  • 15. GRRID Cluster Clustered Resource Catalog & Reservation Database Clustered GRRID - API Architecture Distributed Application Concept GRRID Node GRRID Node GRRID Node REST API Endpoint GRRID Node API Mobile App End User Web App Resource Consumer  (Customer) Resource Provider (BackOffice User) RDF SPARQL  Endpoint Information Specialist RDF Query Language SPARQL queries
  • 16. Clustered GRRID - Multi-​ tenancy Architecture Multi-​ tenancy Concept Database App Server FlexBook Node Database App Server FlexBook Node Database App Server FlexBook Node Node Provisioning Node Inventory FlexBook Cluster Manager A Node Monitoring Provider DRS Provider Initial Placement Provider Backup Full/Inc Provider Replication Provider Restore Full/Inc Provider Live Migration Provider A Provider B Provider C Provider D Provider E Ingress Controller Proxy Server Internet FlexBook Cluster A Backup  Store A Backup  Store B
  • 17. Region Internet Gateway Internet Availability Zone Network Subnet:  10.10.0.0/24 Cluster Private Subnet: 1922.168.100.0/24 L7 Load Balancer FlexBook  Node 03 FlexBook  Node 02 FlexBook  Node 01 CIDR:10.10.0.0/23 FlexBook Cluster Manager Web Portal Ansible/etcd/DNS/REST API NGINX Appache, PHP-​ FPM,  MySQL, CronBots, FlexBook.Software Clustered GRRID - FlexBook Cluster Infrastructure Design Infrastructure Logical Design FlexBook Cluster Proxy Ingress Controller NAT Gateway
  • 19. Federated GRRID - API Architecture Conceptual view GRRID Federation Globally Distributed Resource Catalog & Reservation  Database GRRID Cluster RDF SPARQL  Endpoint REST API Endpoint GRRID Node API Mobile App End User Web App Information Specialist Resource Consumer  (Customer) Resource Provider (BackOffice User) RDF Query Language SPARQL queries GRRID Cluster GRRID Cluster
  • 20. Federated GRRID - Global Distributed Resource Catalog Conceptual View Internet Global Distributed Resource Catalog WEBSEARCH FOR A PLANET: THE GOOGLE CLUSTER ARCHITECTURE https://static.googleusercontent.com/media/research.google.com/en//archive/googlecluster-​ ieee.pdf Catalog Server Catalog Server Catalog Server Catalog Server Catalog Cluster
  • 21. GDS - Global Search Hierarchical Search Topology Global Search Engine Cluster 1 Search Engine Cluster 2 Search Engine Cluster Cn Local Search Engine Node 1 Search Helper Node n Search Helper Node 1 Search Helper Node n Search Helper Node 1 Search Helper Node n Search Helper Conceptual View
  • 23. GDS - Provider Graph Topology Oriented (Loop Free) Graph Topology of sub & super providers Provider A Provider B1 Provider B2 Provider Bn Provider C1-1 Provider C1-​ n Provider C2-1 Provider C2-​ n Provider C3-1 Provider C3-​ n Provider D2-1-1 Provider D2-1-2 Provider D2-1-3 Conceptual View
  • 24. GDS - Cross Provider Object Reference - External Ontology Conceptual View Resources, events and services are elementary objects in GRRID. GRRID is the global content network of objects having inter object relations. Objects (resources, events, services) can be federated across Global Federated Distribution Network. Super/Sub Providers provide cross provider object reference Provider A  (Super Provider) Provider B (Sub Provider) Resource Resource Resource Event External Predicate GDS Global Distributed System Resource Resource External Predicate Resource Pool A Resource Pool B Provider C (Sub Provider) Resource Resource Pool C Event Event Internal Predicate E x t e r n a l P r e d i c a t e
  • 26. Manageability - FlexBook Cluster Manager - Management Logical View Database App Server FlexBook Node Database App Server FlexBook Node Database App Server FlexBook Node Nodes Provisioning Nodes Inventory FlexBook Cluster Manager A (REST API EndPoint) Nodes Monitoring Provider DRS Provider Initial Placement Provider Backup Full/Inc Provider Replication Provider Restore Full/Sync Provider Live Migration Provider A Provider B Provider C Provider D Provider E FlexBook Cluster A FlexBook Cluster Manager Client  (REST API HTML5 Client) Web Portal (REST API proxy) REST API REST API REST API
  • 27. Manageability - FlexBook Cluster Monitor - Monitoring Logical View Node Exporter localhost:9100 Prometheus Server localhost: 9090 FlexBook Node FlexBook Cluster Monitor  Provider A Provider B FlexBook Cluster A Database OS Monitoring Stack Prometheus Aggregator Log Management Stack Loki Metrics Graphana Apache
  • 28. Manageability - FlexBook Cluster Monitor - Log Management Logical View FlexBook Node FlexBook Cluster Monitor  Provider A Provider B FlexBook Cluster A Database OS App /mnt/data/log/app.log FluentD Monitoring Stack Prometheus Aggregator Log Management Stack Loki Log messages Graphana Apache /var/log/apache2/www.flexbook.cz-​ access_log PHP Error Log /var/log/apache2/php_error.log
  • 30. Recoverability - FlexBook Cluster Manager - Backup Logical View Database App Server FlexBook Node Database App Server FlexBook Node Database App Server FlexBook Node Nodes Provisioning Nodes Inventory FlexBook Cluster Manager A (REST API EndPoint) Nodes Monitoring Provider DRS Provider Initial Placement Provider Backup Full/Inc Provider Replication Provider Restore Full/Sync Provider Live Migration Provider A Provider B Provider C Provider D Provider E FlexBook Cluster A Remote  Backup  Store A S3 Storage FlexBook Cluster Manager Client  (REST API HTML5 Client) Web Portal (REST API proxy) REST API REST API Local Backup Store File System Remote  Backup  Store B S3 Storage
  • 32. Architect Architecture Design David Pasek App BackEnd Developer Petr Kos DevOps Engineer Jan Redl App FrontEnd Developer Martin Edlman 10 FlexBook Core Team Members Each member has 10% of shares and votes UX Designer Albert Edlman
  • 35. #2 - The Resource Everything is about Resources. Events and Services are related to resources. FlexBook Common Rules :-) #8 - Complexity Keep max of Ten (10) components in every layer of complexity. KISS, Divide and Conquer The Power of Ten (10) https://www.youtube.com/watch?​ v=0fKBhvDjuy0 #3 -​ Sharing Sharing is as old as humankind itself; what is new are digital technologies #4 - Booking For optimal usage, the limited shared resources must be bookable. Resource Management = Time Management #1 - The Book What is not written down, it doesn’t exist! #10 - Openness All software must be open with the most permissive open-​ source license. We use the "Simplified BSD License" #7 - Equality We are all equal https://en.wikipedia.org/wiki/Social_equality Everybody reports to somebody else. Everybody need somebody. #6 - Flexibility Flexibility achieved by Abstraction and Generalization. While abstraction reduces complexity by hiding irrelevant detail,  generalization reduces complexity by replacing multiple entities which  perform similar functions with a single construct. #5 - Online Information and knowledge in speed of light 299 792 458 metres per second 1 080 000 000 kilometres per hour #9 Reliability by Responsibility Every component is self manage and responsible for itself. The system reliability depends on responsibility of each component.