Na Azion nossa missão é simplificar como você constrói e executa aplicações no Edge. Nosso foco está em acelerar o seu ciclo de desenvolvimento de software e inovação, e ao mesmo tempo entregar aplicações de alta performance, seguras e com escala global.
Acreditamos que o futuro da computação está em padrões abertos, e que aplicações edge-native devem executar em quaisquer ambientes de forma simples e segura. Todos os detalhes da nossa arquitetura, software e produtos foram projetadas para isso. Cada escolha feita por nós teve o objetivo de simplificar a construção e execução de aplicações edge-native de padrão aberto em qualquer hardware (x86, ARM, etc.), em qualquer infraestrutura (on-premises, clouds públicas ou privadas ou Edge de Telcos), e em qualquer linguagem (JavaScript, Lua, C, C++, Go, Rust, etc.), software-defined e 5G ready!
Uma parte importante desse trabalho resultou no que chamamos internamente de Azion Cells, um framework e runtime de aplicações serverless para linguagens Turing-complete, propositalmente construído para aplicativos edge-native de ultra-low latency e análise de dados em tempo real. Ele é projetado para executar aplicações event-driven e construídas pelo usuário, com zero cold start e de forma resiliente, baixo consumo de memória e segurança avançada, como isolamento de requisições e proteção contra ataques side-channel. Com o Azion Cells, podemos construir aplicações “sem origem” executadas 100% no Edge, ou funções para substituir ou adicionar funcionalidades à sua aplicação de origem, pois ele também pode atuar como um proxy.
O Azion Cells é utilizado em todos os nossos produtos de Edge, e tem nos possibilitado a construção de aplicações de alta performance e ultra-low latency, flexíveis e escaláveis, que garantem grandes ganhos de eficiência e inovação a um baixo custo e com rápido time to market. Veja algumas das principais características do Azion Cells que estamos trazendo para os nossos produtos:
Eficiência
- Permite a implementação de um modelo computacional serverless em servidores controlados pelo cliente (standalone) ou utilizando nossa rede global de servidores. Isso simplifica drasticamente como você desenvolve, escala e move aplicações em segundos, inclusive em cloud providers, sem ter de se preocupar com a infraestrutura de baixo nível.
- Extremamente leve e com baixo consumo de memória, especialmente quando comparado a Containers e a serviços como AWS Lambda, Google Functions e Azure Functions, o que proporciona importantes ganhos de performance, flexibilidade e custo.
Performático e escalável
- Escrito em Rust devido a uma série de benefícios superinteressantes (veja aqui, que nos permitiu criar um runtime fundamentalmente superior, com o core e suas dependências compiladas em código nativo, além de um stack TCP em userland.
- Otimizado para hardwares modernos (por exemplo, multi-core e NVME), alcançando o verdadeiro potencial da infraestrutura para executar workloads de alto throughput e ultra-low latency (por exemplo, +200 Gbps por rack unit). Quando executado na nossa infraestrutura, o Azion Cells faz uso de um hardware escolhido nos mínimos detalhes para garantir uma performance de execução e escala imbatível. Do acesso a disco, 100% NVME-based, a CPU com 96 threads.
- Azion Cells foi criado para quem acredita que performance nunca é suficiente! O tempo de cold start é zero, o que o torna ideal para uso em aplicações de ultra-low latency, incluindo AI, como reconhecimento facial e de objetos, e NFV, como carrier-grade NAT, vRAN e vEPC em infraestruturas de Edge, além de aplicações web, conteúdos estáticos e muito mais.
- Quando comparado a diversas soluções do mercado especialmente as que utilizam Containers, o seu tempo de resposta será menor do que a latência de rede.
Aberto, flexível e poderoso
- O Azion Cells simplifica a forma como você constrói, executa, escala e inova no Edge utilizando aplicações serverless e edge-native. Ele adota e suporta padrões abertos, como IETF, ISO, IEC, ETSI, Open Caching, ECMA e WebAssembly, de uma forma flexível e programável e com estrutura e tempo de execução de software altamente escalonáveis.
- ○ Implementamos o Top-Level Await proposto no ECMAScript, que permite chamadas AWAIT sem o uso do Async, acabando de vez com o Callback Hell! Uma vantagem interessante em comparação com soluções que utilizam Node.js (como Google Functions) e são baseadas em CommonJS, ExpressJS e callbacks.
- Mantivemos o código JavaScript o mais compatível possível com o código suportado pelos navegadores, além do ECMA, com a intenção de manter a compatibilidade com Web APIs. Ou seja, é possível usar Fetch como se o aplicativo fosse desenvolvido para o navegador.
- Construímos wrappers para integrar Azion Cells com qualquer framework serverless, o que permite o uso de códigos escritos em diferentes serviços e formatos (por exemplo, AWS Lambda, Cloudflare Workers, OpenWhisk, etc.) no Azion Cells e, claro, no Azion Edge Functions, acabando com o vendor lock-in.
- Habilitamos o uso de bibliotecas da Azion ou de terceiros implementadas em JavaScript e WebAssembly para construir ou estender aplicações de clientes.
- Permitimos o carregamento dinâmico de módulos de terceiros no Azion Cells.
- Simplificamos o uso de códigos escritos para o Azion Cells em runtimes conhecidos, como Node.Js e Deno, ou mesmo outros serviços similares ao da Azion, para que você não dependa de nós.
- Adotamos frameworks como Terraform e Serverless.com para que você possa facilmente abstrair tudo de que precisa para utilizar suas aplicações serverless na Azion.
- Flexibilidade incrível, com suporte para múltiplas arquiteturas (x86, ARM, etc.) e propositalmente construída para funcionar em qualquer tipo de dispositivo, incluindo sua estação de trabalho, minicomputadores como Raspberry Pi ou Nvidia Jetson, roteadores SD-WAN ou equipamentos de rede, VMs e Containers (inclusive em provedores de nuvem) e, claro, servidores bare-metal.
- Facilmente provisionado e gerenciado em tempo real e zero-touch via painel de controle ou API por meio do Azion Edge Orchestrator.
Seguro
- Isola cada função executada utilizando Isolate do V8 interpretador JavaScript e WebAssembly de alto desempenho e de código aberto, escrito em C++.
- Cria uma sandbox para a execução de Edge Functions, substituindo soluções cloud-native como VMs e Containers.
- Faz a proteção contra ataques de side-channel e, quando utilizado na infraestrutura da Azion, atua em conjunto com as demais ferramentas de segurança da Azion, como o Edge Firewall para proteção das camadas de rede 3 a 7.