Azure IoT Hub vs AWS IoT Core: recursos e custo, frente a frente
Com o Google Cloud IoT Core aposentado, o Azure IoT Hub e o AWS IoT Core são os gateways de dispositivos gerenciados mais consolidados das grandes nuvens. (A IoT Platform da Oracle, mais nova, é cobrada por computação e não por mensagem; veja como funcionam os preços de plataformas IoT.) Ambos conectam dispositivos com segurança, aceitam telemetria e a encaminham para outros serviços. Diferem em como cobram e em alguns recursos que afetam o projeto.
Para ver em detalhe como cada modelo de preços funciona, veja como funcionam os preços de plataformas IoT. Este guia coloca os dois lado a lado.
Num relance
| Azure IoT Hub (Standard) | AWS IoT Core | |
|---|---|---|
| Modelo de preços | Unidades por mês, cada uma com uma cota diária de mensagens | Pagamento por mensagem, minuto de conexão, regra e ação |
| Medição de mensagens | Blocos de 4 KB | Blocos de 5 KB |
| Encaminhamento para outros serviços | Roteamento de mensagens integrado, incluído no preço da unidade | Mecanismo de regras, cobrado por regra acionada e por ação |
| Estado do dispositivo | Device twins | Device shadows (cobrados por operação) |
| Provisionamento em escala | Device Provisioning Service (serviço à parte, por operação) | Fleet provisioning (parte do IoT Core) |
| Protocolos | MQTT, AMQP, HTTPS (e sobre WebSockets) | MQTT, HTTPS, MQTT sobre WebSockets, LoRaWAN (via IoT Core for LoRaWAN) |
| Ambiente de execução edge | Azure IoT Edge, ambiente gratuito | AWS IoT Greengrass, por dispositivo ativo |
| Capacidade não usada | Você paga a cota da unidade inteira | Você paga só o que usa |
Os dois também têm uma pequena franquia gratuita para testes. Confira os termos atuais da camada gratuita de cada fornecedor, pois eles mudam.
De onde vêm os custos
O Azure IoT Hub cobra um preço fixo por unidade. Dentro da cota diária de uma unidade, enviar mais mensagens não custa nada a mais, e o roteamento para Event Hubs, armazenamento ou Service Bus está incluído. A fatura se move em degraus: quando o seu dia mais movimentado passa da cota, você adiciona uma unidade inteira. (A camada Basic é mais barata, mas abre mão de mensagens da nuvem para o dispositivo, device twins e suporte ao IoT Edge, de que a maioria dos projetos industriais precisa.)
O AWS IoT Core não tem degraus. Cada mensagem, cada minuto em que um dispositivo está conectado, cada correspondência de regra e cada ação somam um pequeno valor. Quatro medidores separados o tornam mais difícil de prever, mas a fatura acompanha de perto o uso real, e uma frota ociosa custa muito pouco.
Qual custa menos?
Não há uma resposta única, mas o padrão é consistente:
- Volume alto e constante de uma frota conhecida tende a favorecer o IoT Hub. Depois de pagar uma unidade, a cota dela é “gratuita”, e o roteamento está incluído.
- Volume baixo ou com picos, ou uma frota ainda em crescimento, tende a favorecer o IoT Core, que não cobra por folga de capacidade.
- Muitos dispositivos que ficam conectados mas enviam pouco (por exemplo, um sensor que envia a cada 15 minutos) fazem entrar em jogo a cobrança por minuto de conexão da AWS, que o IoT Hub não tem.
- O tamanho da mensagem funciona nos dois sentidos: uma mensagem de 4,5 KB são duas mensagens no IoT Hub, mas uma no IoT Core. Veja tamanho de mensagem e agrupamento.
O jeito mais rápido de achar a sua resposta é rodar os seus próprios números: nosso estimador escolhe a camada e o número de unidades de IoT Hub mais baratos para a sua carga e precifica cada medidor da AWS com os preços de tabela de hoje.
Além do preço
- Já está em uma nuvem? O gateway raramente é o maior custo (muitas vezes é o banco de dados de séries temporais), então ficar na nuvem onde vive o resto da sua pilha costuma importar mais.
- Precisa de LoRaWAN? A AWS oferece um servidor de rede LoRaWAN gerenciado. Na Azure você usaria o de um parceiro.
- Quer um broker MQTT simples sem a camada de gerenciamento de dispositivos? A Azure também oferece um broker MQTT no Event Grid, com preços diferentes do IoT Hub, que alguns projetos novos usam no lugar.