Deployment Architecture

Deploy OntoPop to the Amazon Web Services (AWS) cloud computing platform, integrated with AWS managed services including AWS Secrets Manager, Amazon S3, Amazon MQ, AWS Lambda and AWS Beanstalk.

Please note that the OntoPop backend open-source software project, which includes the event-driven data pipelines and APIs, is undergoing extensive redesign and refactoring as part of OntoPop Community 3.x in order to improve performance, security, extensibility and maintainability. As a result, the documentation on this page will be significantly updated. Please refer to the OntoPop Roadmap for further information.

Overview

The following diagram illustrates an example deployment architecture when deploying to the Amazon Web Services (AWS) cloud computing platform and integrated with AWS managed services including AWS Secrets Manager, Amazon S3, Amazon MQ, AWS Lambda and AWS Elastic Beanstalk.

OntoPop AWS deployment architecture
OntoPop AWS deployment architecture

AWS Managed Services

In the example AWS deployment architecture above, we deploy OntoPop's Spring Boot API applications to AWS Elastic Beanstalk, integrated with the following AWS managed services.

ServiceExample AWS managed service
Graph DatabaseAmazon Neptune is the native managed graph database service of the AWS cloud computing platform. However it is not currently supported by OntoPop as Amazon Neptune endpoints are not publicly available and instead are only accessible within private Amazon VPCs, thus violating one of OntoPop's design principles that every OntoPop service must be agnostic of the underlying deployment environment (i.e. to integrate with Amazon Neptune, the OntoPop data services are restricted to being deployed to AWS Lambda instances unless a proxy is configured). Future versions of OntoPop may support Amazon Neptune, but in the example AWS deployment architecture above, we integrate OntoPop's graph services with the open-source JanusGraph graph database engine (deployed either to an Amazon EC2 instance, Amazon Lightsail virtual machine or deployed as a Docker container).
MessagingAmazon MQ (RabbitMQ)
Object StorageAmazon S3
Relational DatabaseAmazon RDS (MySQL engine)
Search EngineAmazon CloudSearch is the native managed search service of the AWS cloud computing platform, however it is not currently supported by OntoPop. In the example AWS deployment architecture above, we integrate OntoPop's search services with an Elasticsearch cluster managed via Elastic Cloud.
SecretsAWS Secrets Manager
Serverless FunctionsAWS Lambda
TriplestoreAmazon Neptune is the native managed graph database service of the AWS cloud computing platform. Amazon Neptune also supports W3C RDF model graph databases and SPARQL queries via the Neptune SPARQL endpoint. However, as detailed above, Amazon Neptune is not currently supported by OntoPop. In the example AWS deployment architecture above, we integrate OntoPop's triplestore services with the open-source Apache Jena (Fuseki) triplestore (deployed either to an Amazon EC2 instance, Amazon Lightsail virtual machine or deployed as a Docker container).