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
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.
๐ 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:
- Go to Settings โ Pages in this repo
- Set Source to
mainbranch,/docsfolder - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38698ad25c893a9e2b2823087ff38c8ebdc7e04b4bffc6fd04788f2cfa71bcf
|
|
| MD5 |
de7d64b487a7bccf88abe518724ad1a8
|
|
| BLAKE2b-256 |
7c5492640ceb4abc34ad9682ce0993707e606e442a711baa92f1f8a8472b6012
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6261210525745f42e6e0a54d947eb18d54cd745a82060e643ab18b04ebe1d2af
|
|
| MD5 |
c46e53855993c93142999bd30742726b
|
|
| BLAKE2b-256 |
e808cbe753c1c5fe70b402f7aefc71417c094f4d9bd128f7825431f3197b303d
|