Prerequisite and setup considerations

FeatureRequirement
Operating SystemDocker-based deployment, Linux (Ubuntu, RedHat, Alpine, Suse), Windows, Mac-OSX
Memory footprint100 MB available for the AnyLog deployed without Docker
300 MB available for AnyLog deployed with Docker
DatabasesPostgreSQL installed (optional)
SQLite (default, no need to install)
MongoDB installed (Only if blob storage is needed)
CPUIntel, ARM and AMD are supported.
AnyLog can be deployed on a single CPU machine and up to the largest servers (can be deployed on gateways, Raspberry PI, and all the way to the largest multi-core machines).
StorageAnyLog supports horizontal scaling - nodes (and storage) are added dynamically as needed, therefore less complexity in scaling considerations. Requirements are based on expected volume and duration of data on each node. AnyLog supports automated archival and transfer to larger nodes (if needed).
NetworkRequired: a TCP based network (local TCP based networks, over the internet and combinations are supported)
An overlay network is recommended. Most overlay networks can be used transparently. Nebula used as a default overlay network.
Static IP and 3 ports open and accessible on each node (either via an Overlay Network, or without an Overlay).
Cloud IntegrationBuild in integration using REST, Pub-Sub, and Kafka.
Deployment optionsExecutable (can be deployed as a background process), or Docker or Kubernetes.

Comments:

  • For Mac OSX installation you may need to add envsubst command functionality via gettext.

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install envsubst
brew install gettext
  • Databases:
    • SQLite recommended for smaller nodes and in-memory data.
    • PostgreSQL recommended for larger nodes.
    • MongoDB used for blob storage.
    • Multiple databases can be deployed and used on the same node.
  • Network: An Overlay network is recommended for the following reasons:
    • Isolate the network for security considerations.
    • Manage IP and Ports availability. Without an overlay network, users needs to configure and manage availability of IP and Ports used.