urMQTT Enterprise
A edição comercial do urMQTT. É o kernel e o broker abertos com controladores adicionados para dispositivos que não são virtio, para tipos de instância na nuvem e máquinas físicas em que a edição aberta não consegue correr, e o suporte que os acompanha.
Estado
Comercial
Em desenvolvimento. Ainda não foi publicada nenhuma versão Enterprise. Procuramos clientes design partner para o primeiro objetivo, a Google Cloud. Os termos do suporte e de um acordo de nível de serviço ainda não estão definidos. Preço sob consulta.
O que acrescenta à edição aberta
Google Cloud: gVNIC e NVMe
Controladores para o adaptador de rede (gVNIC) e para os discos NVMe dos tipos de instância mais recentes da Google Cloud, como C3, C4 e os tipos Arm. O primeiro objetivo.
AWS Nitro: ENA e NVMe
Controladores para o Elastic Network Adapter e para os discos NVMe (EBS e armazenamento da instância) das instâncias Nitro, em x86_64 e em Graviton (Arm). Depois da Google Cloud.
Azure e VMware
No Azure, os dispositivos VMBus do Hyper-V (NetVSC para a rede, StorVSC para o armazenamento) e o MANA; no VMware, VMXNET3 e PVSCSI. Desenvolvidos quando um cliente precisar deles.
Bare metal
Controladores para placas de rede e controladores de disco físicos (por exemplo Intel e1000e e igb, NVMe, AHCI), arranque por USB, um relatório do hardware e uma lista das máquinas em que já correu. Desenvolvidos quando um cliente precisar.
Suporte e acordo de nível de serviço
Respostas, correções e atualizações dentro de tempos de resposta acordados. Os termos ainda não estão definidos.
Imagens de produção assinadas
Uma imagem configurada para si (a sua autoridade de certificação, a sua rede) e assinada, com a impressão digital da sua configuração registada, para poder verificar na consola que é a imagem que encomendou.
Adaptação do seu próprio serviço
O serviço de adaptar um serviço de rede existente a um unikernel, oferecido em Serviços: uma avaliação de viabilidade, a adaptação e um piloto na sua infraestrutura. Unikernel: o seu serviço sem sistema operativo →
O que corre onde
| Plataforma e dispositivos | urMQTT (código aberto) | urMQTT Enterprise |
|---|---|---|
| Dispositivos virtio: rede, disco, SCSI, números aleatórios, consola, balloon, consola GPU, entrada, vsock | Sim: todos os controladores virtio | Incluído |
| Dispositivos que não são virtio: gVNIC, ENA, NVMe, VMBus, MANA, VMXNET3, PVSCSI, placas de rede físicas, AHCI | Não | Previsto, por plataforma, como abaixo |
| QEMU e KVM com dispositivos virtio | Sim: testado (QEMU no conjunto de testes) | Incluído |
| VPS KVM na netcup (aarch64) e na Contabo (x86_64) | Sim: uma versão candidata correu em ambos | Incluído |
| Outros VPS KVM com dispositivos virtio, por exemplo Hetzner | Esperado: não testado | Incluído |
| Proxmox VE, Cloud Hypervisor, bhyve (virtio sobre PCI) | Esperado: não testado | Incluído |
| Firecracker (virtio sobre MMIO, arranca sem UEFI nem BIOS) | Ainda não: nenhum dos dois é suportado; seria trabalho da edição aberta | Igual à edição aberta |
| Google Cloud e2, n2 e outros tipos com virtio-net e um disco virtio-scsi | Esperado: ainda não testado; até a edição aberta respeitar o MTU da rede, requer uma rede com MTU de 1500 (o predefinido da Google Cloud é 1460) | Incluído |
| Google Cloud C3, C4 e tipos Arm (gVNIC, discos NVMe) | Não | Previsto: o primeiro objetivo |
| AWS Nitro, x86_64 e Graviton (ENA, discos NVMe) | Não | Previsto, depois da Google Cloud |
| Azure (Hyper-V VMBus com NetVSC e StorVSC, MANA) | Não | Previsto, quando um cliente precisar |
| VMware (VMXNET3, PVSCSI) | Não | Previsto, quando um cliente precisar |
| Bare metal (placas de rede físicas, NVMe, AHCI, arranque por USB) | Não | Previsto, quando um cliente precisar |
A fronteira entre as edições é a interface do dispositivo: a edição aberta controla todos os dispositivos virtio (PCI vendor ID 1AF4), em qualquer hipervisor que os ofereça; a Enterprise acrescenta os dispositivos que não o são. Esperado significa que a plataforma oferece os dispositivos que a edição aberta controla, mas nenhuma imagem urMQTT correu lá até agora. Ainda não foi publicada nenhuma versão Enterprise: a sua coluna diz o que irá conter.
O que se mantém igual
A Enterprise é o kernel aberto com mais controladores, não um broker diferente. O protocolo MQTT, a pilha de rede, o TLS 1.3 com autenticação mútua, todas as funcionalidades de segurança, o armazenamento, o formato de configuração e as ferramentas são os da edição aberta e continuam abertos (Apache-2.0 OR MIT). A edição aberta não tem limites de ligações, núcleos, memória ou débito, e nenhuma correção de segurança lhe é retida.
Processo de segurança e auditoria
Uma vulnerabilidade é tratada da mesma forma nas duas edições, por um único processo publicado; uma correção ao código partilhado é publicada na edição aberta o mais tardar ao mesmo tempo que na Enterprise. De cada versão Enterprise é publicado um resumo do seu estado de auditoria: os controladores que acrescenta, as entradas externas que analisam, os seus alvos de fuzzing e testes, e as questões em aberto, no formato do pacote de auditoria da edição aberta.
A edição aberta
O urMQTT, tudo o que corre sobre virtio, é código aberto sob Apache-2.0 OR MIT. O que é aberto continua aberto, a fronteira entre as edições nunca recua para o lado comercial e a edição aberta não é enfraquecida para vender esta.
Design partners e perguntas
Se quiser executar o urMQTT nos tipos de instância da Google Cloud com gVNIC e NVMe, na AWS, no Azure, no VMware ou no seu próprio hardware, diga-nos o que utiliza e do que precisa. Preço sob consulta.