Difference between revisions of "Edge++: Deployment"
From Datonis
(Tag: Visual edit) |
(Tag: Visual edit) |
||
Line 4: | Line 4: | ||
Basic building blocks of the architecture in terms of dockers are as follows: | Basic building blocks of the architecture in terms of dockers are as follows: | ||
{| class="wikitable" | {| class="wikitable" | ||
+ | !Name | ||
!Docker Image | !Docker Image | ||
!Purpose | !Purpose | ||
|- | |- | ||
+ | |redis | ||
|redis:6.0.3-buster | |redis:6.0.3-buster | ||
|Redis server | |Redis server | ||
|- | |- | ||
+ | |mongo | ||
|mongo:4.2.7-bionic | |mongo:4.2.7-bionic | ||
|MongoDB for master data caching | |MongoDB for master data caching | ||
|- | |- | ||
+ | |factory-server | ||
|altizon/factory | |altizon/factory | ||
|Factory Server to provide operator screens using FaasInfra | |Factory Server to provide operator screens using FaasInfra | ||
|- | |- | ||
+ | |sidekiq | ||
|altizon/factory | |altizon/factory | ||
|Sidekiq running asynchronous tasks | |Sidekiq running asynchronous tasks | ||
|- | |- | ||
− | | | + | |factory-rake |
− | | | + | |altizon/factory |
+ | |There will be N no of instances of this kind listening to their respective input queues. | ||
+ | |- | ||
+ | |factory-function-cache | ||
+ | |altizon/factory | ||
+ | |Function Task schedular to start master data caching like account and user preferences to local MongoDB from production | ||
+ | |- | ||
+ | |update_number_of_queues | ||
+ | |altizon/factory | ||
+ | |Updating __number_of_input_queues__ in Redis on boot | ||
+ | |- | ||
+ | |wget_call | ||
+ | |altizon/factory | ||
+ | |Calling first API request to server initiating asset compilation | ||
|} | |} | ||
Revision as of 11:10, 12 June 2020
Contents
Edge++ Deployment on Rails setup:
The configuration Github repository can be found here [1] This repository is a bunch of shell scripts that will help you orchestrate dockerized environment. This environment is served using docker-compose.
Basic building blocks of the architecture in terms of dockers are as follows:
Name | Docker Image | Purpose |
---|---|---|
redis | redis:6.0.3-buster | Redis server |
mongo | mongo:4.2.7-bionic | MongoDB for master data caching |
factory-server | altizon/factory | Factory Server to provide operator screens using FaasInfra |
sidekiq | altizon/factory | Sidekiq running asynchronous tasks |
factory-rake | altizon/factory | There will be N no of instances of this kind listening to their respective input queues. |
factory-function-cache | altizon/factory | Function Task schedular to start master data caching like account and user preferences to local MongoDB from production |
update_number_of_queues | altizon/factory | Updating __number_of_input_queues__ in Redis on boot |
wget_call | altizon/factory | Calling first API request to server initiating asset compilation |
Data Persistance:
- The data being saved in MongoDB is a volume mounted on docker. Hence, it is safe to assume that your data will persist in MongoDB across boots of Edge++.
- For Redis we use Redis Persistance to ensure Redis maintains its state across boots. We use .aof files for saving our state.
FAQs for runnning Edge++ on Ubuntu VM using Oracle VirtualBox
- For starting virtualBox with SecureBoot hardware (Only if you have SecureBoot enabled in your machine)
- Password Based Encryption:
- VirtualBox Port forwarding from VM to the Host machine:
- Setting up redis container inside vm and accessing it via host.
- Configure and Run a Docker Container for Redis and Use it for Python
- Network type of vm - NAT
- Redis config - bind 0.0.0.0:port instead of 127.0.0.1
- Start the container and run Redis
- Port forwarding of vm- host: <redis-port> - guest: <redis-port>
- This will make redis available on localhost:port
- Ref - Cannot get or set to Redis on Vagrant guest from host due to "Error: Connection reset by peer"