> For the complete documentation index, see [llms.txt](https://next-docs.cloudio.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://next-docs.cloudio.io/architecture.md).

# Architecture

Modern Scalable Architecture

![CloudIO Platform Architectural Components](https://754235390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZ64BhrvkgPMyL9F3tk%2F-Mb8EdHUrObKy-o3GVCR%2F-Mb8ZKlpn4LR-wI6ky1h%2Fflow_arch.png?alt=media\&token=2b0e25b2-c3bd-4cf1-894f-8f9138f14dbb)

## Technology Components

CloudIO Platform 4.0 is written from scratch for serverless deployments using modern scalable technologies.

### Database

All the platform metadata and the application data are persisted in a MySQL database. We are planning to add support for Oracle, MS SQL Server, DB2 & PostgreSQL within the next few months.

### RUST

The core of the platform is written in RUST. All the database interaction, transactions, workflow orchestration, job scheduling, cloud functions (javascript), and push notifications are all implemented in RUST.

### Distributed Cache

Redis is used for distributed caching

### User Interface

The user interface is built using ReactJS

### Cloud Functions

Business functionality can be extended on the server side using modern Javascript (ES2020) that runs on a secure sandboxed environment using QuickJS that is embedded within RUST.

### Microservices

3rd party integrations can be plugged in using microservices built on any language of choice as long as the service can expose either a REST endpoint or can consume a Kafka topic.

## Deployment

The platform can be deployed either on-premise or on the public/private cloud. The entire platform with all the components can be run inside a Docker container.

## Performance

The central component of the architecture is the CloudIO Server component that's written in Rust and can run start in less than 20 ms & consumes around 20 MB memory compared to about a few seconds and a few hundred MB memory for the previous Java-based architecture. At peak loads (load test with 1000 concurrent requests) the memory consumption was about 120 MB compared to 2GB+ memory.

### Instant Startup \~ 20 ms

![CloudIO Platform Startup Log](https://754235390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZ64BhrvkgPMyL9F3tk%2F-Mb5WNRa07kMRPzwXsxk%2F-Mb5bFFiEcBJVNao-TDz%2Fimage.png?alt=media\&token=2ba20d11-a95b-46c8-8b10-a86a6c9543d7)

### Low Memory Footprint \~ 20 MB

![Docker Stats after 100K+ requests consuming a few GBs of network IO](https://754235390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZ64BhrvkgPMyL9F3tk%2F-MbDVP8Bm5H3-i09hdwi%2F-MbDWFV9i-14I04vOFK7%2Fimage.png?alt=media\&token=3abc6fdb-89c8-4375-8bfc-2df870287886)
