Commit 5a92b223 authored by jornh's avatar jornh Committed by Tao Feng

Architecture.md Enable deep links - point to Swagger etc. (#114)

* Enable deep links - point to Swagger etc.

* .com fix and Quickstart sample data mention
parent f008ce22
...@@ -3,17 +3,24 @@ ...@@ -3,17 +3,24 @@
The following diagram shows the overall architecture for Amundsen. The following diagram shows the overall architecture for Amundsen.
![](img/Amundsen_Architecture.png) ![](img/Amundsen_Architecture.png)
## Frontend
The frontend service serves as web UI portal for users interaction. The frontend service serves as web UI portal for users interaction.
It is Flask-based web app which representation layer is built with React with Redux, Bootstrap, Webpack, and Babel. It is Flask-based web app which representation layer is built with React with Redux, Bootstrap, Webpack, and Babel.
The search service leverages Elasticsearch's search functionality and ## Search
provides a RESTful API to serve search requests from the frontend service. The [search service](https://github.com/lyft/amundsensearchlibrary#amundsen-search-service) proxy leverages Elasticsearch's search functionality (or Apache Atlas's search API, if that's the backend you picked) and
provides a RESTful API to serve search requests from the frontend service. This [API is documented and live explorable]() through OpenAPI aka "Swagger".
Currently only [table resources](https://github.com/lyft/amundsendatabuilder/blob/master/databuilder/models/elasticsearch_document.py) are indexed and searchable. Currently only [table resources](https://github.com/lyft/amundsendatabuilder/blob/master/databuilder/models/elasticsearch_document.py) are indexed and searchable.
The search index is built with the [elasticsearch publisher](https://github.com/lyft/amundsendatabuilder/blob/master/databuilder/publisher/elasticsearch_publisher.py). The search index is built with the [databuilder elasticsearch publisher](https://github.com/lyft/amundsendatabuilder/blob/master/databuilder/publisher/elasticsearch_publisher.py).
The metadata service currently uses a Neo4j proxy to interact with Neo4j graph db and serves frontend service's metadata. ## Metadata
The [metadata service](https://github.com/lyft/amundsenmetadatalibrary#amundsen-metadata-service) currently uses a Neo4j proxy to interact with Neo4j graph db and serves frontend service's metadata.
The metadata is represented as a graph model: The metadata is represented as a graph model:
![](img/graph_model.png) ![](img/graph_model.png)
The above diagram shows how metadata is modeled in Amundsen. The above diagram shows how metadata is modeled in Amundsen.
## Databuilder
Amundsen provides a [data ingestion library](https://github.com/lyft/amundsendatabuilder) for building the metadata. At Lyft, we build the metadata once a day Amundsen provides a [data ingestion library](https://github.com/lyft/amundsendatabuilder) for building the metadata. At Lyft, we build the metadata once a day
using an Airflow DAG([example](https://github.com/lyft/amundsendatabuilder/blob/master/example/dags/sample_dag.py)). using an Airflow DAG ([example](https://github.com/lyft/amundsendatabuilder/blob/master/example/dags/sample_dag.py)).
\ No newline at end of file
In addition to "real use" the databuilder is also employed as a handy tool to ingest some ["pre-cooked" demo data](https://github.com/lyft/amundsendatabuilder/blob/master/example/sample_data/) used in the Quickstart guide. This allows you to have a supersmall sample of data to explore so many of the features in Amundsen are lit up without you even having to setup connection to databases etc. to ingest real data.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment