CPVM - General Information¶
About¶
Success
CPVM - Cloud Parallel Virtual Machine Just run any code in the cloud, and CPVM automatic scale and parallel your solution
Success
CPVM - Fast Smart FaaS system - part of Acapella PaaS Run Any Code function in Cloud, automatic scale, and even automatic paralellel
Success
Наша платформа это облачный кросс-языковой адаптивный оптимизирующий профилирующий транзакционный рантайм, выполняющий за вас распараллеливание кода вашей системы в фоне, подбирая оптимальную зернистость разбиения кода на фрагменты...
Features¶
CPVM¶
Tip
CPVM is a runtime with "Adaptive optimization" and "Profile-guided optimizations" for auto-scale and auto-parallelism, integrated with AcapellaDB
- Исполнение кода в облаке в заданнном окружении, изоляция, версионирование исполняемых версий кода
- Запуск неограниченного количество подзадач, участвующих в одной транзакции (работа в FaaS-режиме также поддерживается)
- Автоматический выбор узла для исполнения с оптимальными характеристиками (предсказание потребностей в ресурсах по собранной статистике)
- Профилирование исполняемого кода и накладных расходов io с целью оптимизаций стратегий исполнения
- Создание/деплой сервисов через swagger (yaml/json/xml). Мнговенный запуск или обновление сервиса одной коммандой:
acapella run my-service.yml
. - Задание окружения исполняемого кода с помощью Dockerfile
- Встроенная система логироания позволяет просматривать, агрегировать и упорядочивать логи в реальном времени по каждому исполнению фрагмента в отдельности
- Изоляция всех исполняемых фрагментов кода (hosted FaaS). Несколько уровней доверия к коду, глубокая проработка ограничений безопасности на всех уровнях.
- Исполнение транзакции гарантируется если для нее разрешены перезапуски и в строю хотя бы 1 gateway-узел
- Автоматическая параллельность:
- полностью автоматическое масштабирование за счет автоматической параллельности
- поиск оптимальной гранулярности для автоматичекого распараллеливания
- вычисление ярусно-параллельной формы и анализ статистики исполнения
- Запуск фрагментов с задержкой в миллисекунду без какого либо тюнинга
- Пропускная способность до 10 000 исполнений/сек для небольших фрагментов
- Запуск одновременно до 1 000 000 фрагментов (acapella box)
AcapellaDB¶
Tip
the AcapellaDB is transactional, distributed, persistent, in-mem storage with automatic horizontal scalability (integrated with CPVM)
- Несколько уровней консистентности данных - для обеспечения строгой консистентности используется алгоритм Paxos, есть возможность подтверждения записи/чтения на одну, кворум или явно указанное число реплик.
- Распределённые транзакции - в транзакцию можно включить любой набор ключей, независимо от их расположения в кластере.
- Индексы - автоматическое индексирование данных по указанной схеме.
- Линейная масштабируемость - пропускная способность кластера растёт пропорционально количеству узлов.
- Изоляция транзакций - три уровня : NULL, RU - Read Uncommited, RC - Read Commited
- Низкие задержки и высокая пропускная способность link1 link2, благодаря Aeron и неблокирующей архитектуре
READ MORE DETAILS In special site section
Pricing¶
TODO таблица paas расценок + Box предложение
Community¶
telegramm channel for customers
Please, ask a question in this group
Glossary¶
- fragment - piece of program logic. Source code or any supported binary executable format
- snapshot - multiple fragments are combined into single immutable "snapshot". Snapshot ID has 3 components:
- owner: user ID
- name: the same meaning as repository or folder name
- tag: unique for each ownerId/name. Usually acts like repository revision tag
- "CPVM transaction" - distributed transaction with parallel and sequential triggering of fragment groups
- TVM - "shared data" storage, which detect "conficting" data accesses
- "Acapella PaaS" - hosted version of CPVM, cloud service with PaaS business model
- "Acapella box" - version of CPVM accesible by license for private clouds (less restrictions, full hardware control)
- "CLI" - Command Line Interface utility for acapella PaaS
read the full glossary page