Cloud Intelligence™
Spotinfo — uma nova CLI para AWS Spot
Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.
About Alexei Ledenev
Long ago, in a perfectly ordinary corner of the software universe, I started persuading computers, clouds, containers, and Kubernetes clusters to behave in ways that were useful, reliable, and occasionally intentional.
Since then, I’ve led architecture and engineering teams, built cloud platforms, designed distributed systems, and created open-source tools such as pumba, KubeIP, kube-secrets-init, and ccgram - because apparently production systems were not failing in enough interesting ways on their own.
My work lives somewhere between Software Architecture, Kubernetes, Cloud, chaos engineering, and AI infrastructure: the sort of place where dashboards glow green, alarms remain suspiciously quiet, and everyone hopes DNS has read the plan.
I enjoy building practical tools for complicated systems, automating the boring parts, understanding the dangerous parts, and reminding infrastructure - gently, but firmly - that uptime is not just a lifestyle choice. 🪐
My personal pageConheça o spotinfo: uma ferramenta de linha de comando open source e fácil de usar para explorar instâncias spot do AWS EC2 no terminal e aproveitar esses dados em scripts e automações.

Explore instâncias AWS Spot direto da linha de comando
TL;DR
O spotinfo é uma ferramenta de linha de comando para explorar instâncias AWS Spot em várias regiões da AWS.
Introdução
Usar instâncias Amazon EC2 Spot é uma ótima forma de reduzir o custo de instâncias EC2 on-demand em até 90%. Sempre que você tem um workload que aguenta uma interrupção da VM ou pode ser pausado e retomado depois sem afetar o negócio, escolher o modelo de preços Spot é uma decisão sem mistério.
Quanto menor a taxa de interrupção, maior a chance de suas instâncias Spot rodarem por mais tempo.
A Amazon oferece uma excelente interface web, o AWS Spot Instance Advisor, para explorar as instâncias Spot disponíveis e identificar pools com a menor chance de interrupção. Você também pode conferir a economia em relação às tarifas on-demand. Você também pode conferir a economia em relação às tarifas on-demand. E, a partir daí, a ideia é usar essas métricas para escolher as instâncias Spot mais adequadas.
Apesar de ser uma ferramenta valiosa, o AWS Spot Instance Advisor não facilita o uso desses dados em scripts e automações, e alguns casos de uso exigem cliques demais.
A ferramenta spotinfo
Foi por isso que criei o spotinfo. É uma ferramenta de linha de comando fácil de usar (open source sob a Licença Apache 2.0) que permite explorar instâncias AWS Spot no terminal e aproveitar esses dados em scripts e automações.
Por baixo dos panos, o spotinfo consome duas fontes públicas de dados da AWS:
Recursos
O spotinfo dá acesso às mesmas informações que você vê no AWS Spot Instance Advisor, só que pela linha de comando — e pode ser usado em casos de scripting e automação. Além disso, a ferramenta traz alguns recursos úteis que não existem na interface web do AWS Spot Instance Advisor.
Filtragem avançada
O primeiro recurso é a filtragem avançada. Dá para filtrar instâncias spot por:
- vCPU — número mínimo de núcleos de CPU
- Memória GiB — tamanho mínimo de memória
- Sistema operacional — Linux ou Windows
- Região — uma ou mais regiões da AWS (ou
allpara todas as regiões) - Economia (em comparação ao on-demand)
- Frequência de interrupção
- Tarifa por hora (em
USD/hour)
Ao filtrar por tipo de instância, há suporte a expressões regulares. Isso ajuda a montar consultas avançadas.
Exemplo: filtrar com Regex
Listar (em texto) todas as instâncias EC2 Spot disponíveis com processador Graviton2, com no mínimo oito núcleos de CPU, na região us-west-2 (Oregon), ordenando os resultados pelo preço spot.
https://gist.github.com/9a22c748a6697c58a555702b709205b9
Visibilidade do preço Spot
No AWS Spot Instance Advisor, você consegue ver o desconto em relação à tarifa on-demand da instância EC2. Mas, para descobrir o preço efetivo que vai pagar, precisa acessar outra página, a de AWS Spot pricing, e fazer uma nova busca pelo tipo de instância.
Cloud bill shouldn't be a mystery
One platform for AI and Cloud optimization.
O spotinfo economiza esse tempo e exibe o preço spot junto com as demais informações. Se quiser, você também pode filtrar e ordenar pelo preço spot.
Formatos de saída flexíveis
Trabalhar com dados na linha de comando e consumi-los em scripts e automações exige flexibilidade no formato de saída. O spotinfo retorna resultados em vários formatos: amigáveis para humanos, como table e text simples, e voltados à automação, como json, csv ou apenas o número da economia. Escolha o formato que faz mais sentido para cada caso.
Compare Spots em várias regiões
Uma chatice do AWS Spot Instance Advisor é não dar para comparar instâncias spot do EC2 entre várias regiões da AWS. Só existe a visualização de uma única região por vez — ou você abre várias abas no navegador e fica alternando entre elas para comparar instâncias spot em regiões diferentes.
O spotinfo resolve isso e ajuda a comparar instâncias spot em várias regiões da AWS. Basta passar a flag --region na linha de comando — e você pode usá-la mais de uma vez.
Outra opção é passar o valor especial all (com a flag --region=all) para ver as instâncias spot em todas as regiões da AWS disponíveis.
Exemplo: explorar a instância Spot t4g.small
Explore a disponibilidade e a tarifa do tipo de instância spot t4g.small em todas as regiões da AWS onde esse tipo está disponível.
https://gist.github.com/2b7a92a6126f21edac2319cd1507c352
Resiliência de rede
Apesar de usar os data feeds públicos da AWS, o spotinfo também traz esses mesmos dados embutidos na própria ferramenta. Assim, se o data feed estiver indisponível por qualquer motivo (falta de conectividade, serviço fora do ar etc.), o spotinfo continua entregando o mesmo resultado.
Conclusão
Espero que o spotinfo seja uma mão na roda para explorar instâncias spot do AWS EC2. Fico no aguardo dos seus comentários e de qualquer dúvida que aparecer.
Fica o convite para contribuir (issues, features, pull requests) com o projeto alexei-led/spotinfo no GitHub.
p.s.: se você curtiu o spotinfo, considere dar uma ⭐️ no projeto no GitHub.
Obrigado pela leitura! Para ficar por dentro, acompanhe a gente no DoiT Engineering Blog , no canal da DoiT no LinkedIn e no canal da DoiT no Twitter . Para conhecer oportunidades de carreira, acesse https://careers.doit.com .