Skip to main content

Intelligent On-Premise to AWS Cloud Connector โ€” secure bidirectional sync between on-prem databases and DynamoDB

Project description

๐Ÿ”— IntelliHybrid โ€” Intelligent On-Premise โ†” AWS Cloud Connector

DOI License: MIT Python 3.9+ AWS AI Powered GitHub Stars Downloads

IntelliHybrid is a production-ready, AI-powered framework that enables secure, seamless bidirectional communication between on-premise infrastructure and AWS cloud โ€” with natural language querying, auto-generated schema documentation, and zero code changes after setup.

Live AI Demo ย ย  How To Use ย ย  AI Features


๐Ÿš€ What This Does

IntelliHybrid bridges the gap between your on-premise data center and AWS cloud by:

  • ๐Ÿ” Establishing secure VPN tunnels (Site-to-Site, OpenVPN, or Direct Connect)
  • ๐Ÿ—„๏ธ Connecting on-prem databases (MySQL, PostgreSQL, Oracle, SQL Server) to AWS
  • โšก Auto-provisioning DynamoDB tables with your custom Partition Key (PK) and Sort Key (SK)
  • ๐Ÿ”„ Bidirectional data synchronization โ€” on-prem โ†’ cloud and cloud โ†’ on-prem
  • ๐Ÿ›ก๏ธ Enterprise-grade security โ€” IAM roles, KMS encryption, TLS everywhere
  • ๐Ÿค– AI-powered data intelligence โ€” query in plain English, auto-generated column descriptions, instant data dictionaries

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚         ON-PREMISE              โ”‚         โ”‚           AWS CLOUD              โ”‚
โ”‚                                 โ”‚         โ”‚                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”‚
โ”‚  โ”‚  Your DB    โ”‚                โ”‚  VPN /  โ”‚  โ”‚   DynamoDB       โ”‚            โ”‚
โ”‚  โ”‚  MySQL /    โ”‚   IntelliHybridโ”‚  Direct โ”‚  โ”‚   Tables (auto-  โ”‚            โ”‚
โ”‚  โ”‚  Postgres / โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ Connect โ”‚  โ”‚   provisioned)   โ”‚            โ”‚
โ”‚  โ”‚  Oracle     โ”‚                โ”‚         โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ”‚         โ”‚                                  โ”‚
โ”‚                                 โ”‚         โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                โ”‚         โ”‚  โ”‚  AI Assistant    โ”‚            โ”‚
โ”‚  โ”‚  App Server โ”‚                โ”‚         โ”‚  โ”‚  NL Queries +    โ”‚            โ”‚
โ”‚  โ”‚  (any lang) โ”‚                โ”‚         โ”‚  โ”‚  Schema Intel    โ”‚            โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ”‚         โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ–ฒ                              โ–ฒ
                         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ IntelliHybrid โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           config.yaml + Claude AI drives all

๐Ÿค– AI Features โ€” Ask Your Data Anything

โ–ถ Try the Live Interactive Demo

Experience natural language queries, schema intelligence, and data dictionaries in your browser โ€” no setup needed.

IntelliHybrid includes a full AI layer powered by Claude that understands your DynamoDB tables. No more writing queries โ€” just ask.


๐Ÿ’ฌ Natural Language Queries

Write questions the way you'd say them out loud. IntelliHybrid translates them into the correct DynamoDB operation and returns live data.

from src.ai.assistant import AIAssistant

assistant = AIAssistant(config, anthropic_api_key="sk-ant-...")

result = await assistant.chat("Show me all orders from customer C-001")
result = await assistant.chat("How many products have stock below 10?")
result = await assistant.chat("Find users who signed up this month")
result = await assistant.chat("Add a new user: Jane Doe, email jane@example.com")

Examples of questions that just work:

What you type What runs
"Show me all orders from customer C-001" query with KeyConditionExpression
"How many products are low on stock?" scan with FilterExpression
"Find the 5 most recent signups" scan with Limit + sort
"Get order ORD-8821" get_item with exact key
"Delete expired session sess-99" delete_item

The AI also maintains conversation history, so follow-up questions like "now filter those by electronics" work naturally.


๐Ÿง  AI-Generated Column Descriptions

IntelliHybrid reads your table schema and a few sample rows, then generates clear business-friendly descriptions for every attribute โ€” automatically.

from src.ai.schema_intelligence import SchemaIntelligence

intel = SchemaIntelligence(config, anthropic_api_key="sk-ant-...")
description = await intel.describe_table("orders-table")
{
  "table_description": "Stores customer order transactions with fulfillment status tracking",
  "attribute_descriptions": {
    "orderId":    "Unique identifier for each order transaction",
    "customerId": "References the placing customer โ€” links to users-table PK",
    "status":     "Fulfillment state: processing, shipped, delivered, or cancelled",
    "total":      "Order value in USD cents",
    "createdAt":  "Unix timestamp when placed, used as sort key for date-range queries"
  },
  "access_patterns": [
    "Query all orders for a specific customer",
    "Get a single order by ID",
    "Filter orders by status for a fulfillment dashboard"
  ],
  "suggestions": [
    "Consider adding a GSI on status+createdAt for pipeline queries"
  ]
}

๐Ÿ“– Auto-Generated Data Dictionary

One call produces a fully formatted markdown data dictionary โ€” ready for wikis, compliance documentation, or technical portfolios.

dictionary = await intel.generate_data_dictionary("orders-table")
print(dictionary)
# Data Dictionary: `orders-table`

**Purpose:** Stores all customer order transactions...

## Attributes

| Attribute          | Type | Description                                          |
|--------------------|------|------------------------------------------------------|
| `orderId` ๐Ÿ”‘ PK    | S    | Unique identifier for each order transaction         |
| `customerId` ๐Ÿ”‘ SK | S    | References the customer โ€” links to users-table PK    |
| `status`           | S    | Fulfillment state: processing, shipped, delivered... |
| `total`            | N    | Order value in USD cents                             |
| `createdAt`        | N    | Unix timestamp, used for date-range queries          |

## Common Access Patterns

1. Query all orders for a specific customer
2. Get a single order by ID
3. Filter orders by status

๐ŸŒ AI REST API

Expose the entire AI layer over HTTP โ€” connect any frontend, dashboard, or external tool.

pip install "intellihybrid[ai]"
export ANTHROPIC_API_KEY="sk-ant-..."
uvicorn src.ai.server:app --host 0.0.0.0 --port 8080
# Ask your data a question
curl -X POST http://localhost:8080/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "Show me all orders from customer C-001"}'

# AI schema description for a table
curl http://localhost:8080/tables/orders-table

# Full data dictionary (markdown)
curl http://localhost:8080/tables/orders-table/dictionary

# Suggested example queries
curl http://localhost:8080/tables/orders-table/suggestions

Interactive Swagger docs available at http://localhost:8080/docs


๐Ÿ–ฅ๏ธ AI Demo โ€” Viewer Preview

The file docs/ai-demo.html is a fully self-contained interactive demo of the AI Assistant. It runs entirely in the browser with no backend needed.

To view it live, enable GitHub Pages:

  1. Go to Settings โ†’ Pages in this repo
  2. Set Source to main branch, /docs folder
  3. Click Save

Your demo will be live at:

https://clever-boy.github.io/IntelliHybrid/ai-demo.html

You can also open it locally โ€” just double-click docs/ai-demo.html in your file browser. It shows:

  • ๐Ÿ’ฌ Chat interface with AI query responses and record cards
  • ๐Ÿ—‚๏ธ Sidebar with connected tables and clickable example questions
  • ๐Ÿ“‹ Query result display with per-row attribute cards
  • ๐Ÿ“– AI-generated schema description view
  • ๐Ÿ“š Auto-generated data dictionary output

โšก Quick Start (5 Minutes)

1. Install

pip install intellihybrid
# or from source:
git clone https://github.com/Clever-Boy/IntelliHybrid.git
cd IntelliHybrid
pip install -e .

2. Configure

cp config/config.template.yaml config/config.yaml
aws:
  region: us-east-1
  account_id: "123456789012"
  access_key_id: "${AWS_ACCESS_KEY_ID}"
  secret_access_key: "${AWS_SECRET_ACCESS_KEY}"

onprem:
  database:
    type: mysql                          # mysql | postgres | oracle | mssql
    host: 192.168.1.100
    port: 3306
    name: production_db
    username: "${DB_USER}"
    password: "${DB_PASSWORD}"
  vpn:
    type: site-to-site
    customer_gateway_ip: "203.0.113.10"

dynamodb:
  tables:
    - name: orders-table
      partition_key: { name: orderId, type: S }
      sort_key:      { name: customerId, type: S }
      billing_mode: PAY_PER_REQUEST

3. Initialize

intellihybrid init --config config/config.yaml
  • โœ… Validates all credentials
  • โœ… Establishes VPN tunnel
  • โœ… Creates DynamoDB tables with your PK/SK schema
  • โœ… Sets up least-privilege IAM roles
  • โœ… Runs a connectivity health-check

4. Start Syncing

intellihybrid sync --mode bidirectional --interval 60

๐Ÿ“ฆ Core Features

๐Ÿ” Security First

  • All secrets via environment variables or AWS Secrets Manager โ€” never in config files
  • KMS-encrypted DynamoDB tables by default
  • TLS 1.3 for all data in transit
  • Least-privilege IAM roles auto-generated per table

๐Ÿ—„๏ธ On-Premise Database Support

Database Version Status
MySQL 5.7, 8.0+ โœ… Full
PostgreSQL 12+ โœ… Full
Oracle 19c+ โœ… Full
SQL Server 2019+ โœ… Full
MongoDB 5.0+ ๐Ÿ”œ Coming

๐Ÿ”„ Sync Modes

intellihybrid sync --mode full             # one-time complete sync
intellihybrid sync --mode bidirectional    # continuous, recommended
intellihybrid sync --mode push             # on-prem โ†’ DynamoDB only
intellihybrid sync --mode pull             # DynamoDB โ†’ on-prem only
intellihybrid sync --interval 30           # custom interval (seconds)

๐Ÿ“š Documentation

Document Description
๐Ÿ“– How-To-Use Booklet Complete step-by-step setup guide
๐Ÿค– AI Features Guide Full AI query engine & schema intelligence docs
๐Ÿ” Security Guide IAM, KMS, TLS hardening
๐Ÿ“ฆ Zenodo & Release Guide DOI, download metrics, EB-1A
๐Ÿค Contributing How to contribute

๐Ÿค Contributing

Contributions are welcome! Please read CONTRIBUTING.md first.

pytest tests/ -v --cov=src --cov-report=html

Good first issues:

Feature Difficulty
MongoDB connector Medium
Terraform module Medium
CDC real-time streaming Hard
Web UI dashboard Hard

๐Ÿ“„ Citation

If you use IntelliHybrid in your research or production systems, please cite:

@software{kadam_intellihybrid_2025,
  author    = {Kadam, Shailesh},
  title     = {IntelliHybrid: Intelligent On-Premise to AWS Cloud Connector},
  year      = {2025},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.19121004},
  url       = {https://github.com/Clever-Boy/IntelliHybrid}
}

๐Ÿ“ License

MIT License โ€” see LICENSE for details.


๐Ÿ‘ค Author

Shailesh Kadam
๐ŸŒ GitHub @Clever-Boy
๐Ÿ“ Dallas, Texas
๐Ÿ’ผ LinkedIn


โญ Star this repo if IntelliHybrid saves you time! โญ
Your stars directly support open-source hybrid cloud tooling.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intellihybrid-1.0.0.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

intellihybrid-1.0.0-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file intellihybrid-1.0.0.tar.gz.

File metadata

  • Download URL: intellihybrid-1.0.0.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for intellihybrid-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f38698ad25c893a9e2b2823087ff38c8ebdc7e04b4bffc6fd04788f2cfa71bcf
MD5 de7d64b487a7bccf88abe518724ad1a8
BLAKE2b-256 7c5492640ceb4abc34ad9682ce0993707e606e442a711baa92f1f8a8472b6012

See more details on using hashes here.

File details

Details for the file intellihybrid-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: intellihybrid-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for intellihybrid-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6261210525745f42e6e0a54d947eb18d54cd745a82060e643ab18b04ebe1d2af
MD5 c46e53855993c93142999bd30742726b
BLAKE2b-256 e808cbe753c1c5fe70b402f7aefc71417c094f4d9bd128f7825431f3197b303d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page