Menu

ADOTE?

    EXPERIMENTE?

    • O Apache Flink teve uma adoção crescente desde nossa avaliação inicial, em 2016. A plataforma é reconhecida como o mecanismo líder de processamento de fluxo e também amadureceu gradualmente nas áreas de processamento de lote e aprendizado de máquina. Um dos diferenciais-chave do Flink em relação a outros mecanismos de processamento de fluxo é seu uso de checkpoints consistentes do estado de uma aplicação. No caso de uma falha, a aplicação é reiniciada e seu estado é carregado a partir do último checkpoint – para que a aplicação possa continuar processando como se a falha nunca houvesse acontecido. Isso nos ajuda a reduzir a complexidade na construção e na operação de sistemas externos para tolerância a falhas. Estamos vendo mais e mais empresas usando Flink para construir sua própria plataforma de processamento de dados.

      Histórico
    • A tecnologia de direção autônoma costumava ser exclusiva das gigantes da tecnologia. Apollo Auto a trouxe para as empresas tradicionais de automóveis. O objetivo do programa Apollo, de propriedade da Baidu, é se tornar a plataforma Android para a indústria da direção autônoma. A plataforma Apollo tem componentes como percepção, simulação, planejamento e controle inteligente que possibilita que as empresas de carro integrem seus próprios sistemas de direção autônoma no hardware de seus veículos. A comunidade desenvolvedora ainda é nova, mas com muitos fornecedores se juntando a ela para contribuir com mais implementações. Um de nossos projetos ajudou nosso cliente a completar exames de licenciamento de direção autônoma com o sistema de piloto automático baseado em Apollo. A plataforma também fornece uma abordagem arquitetônica evolutiva para adoção de funcionalidades avançadas gradualmente, o que possibilita que integremos mais sensores e funções de maneira ágil e iterativa.

      Histórico
    • GCP Pub/Sub é a plataforma de streaming de eventos da Google Cloud. É uma peça de infraestrutura popular para muitas de nossas arquiteturas rodando a Plataforma Google Cloud, incluindo ingestão de eventos em massa, comunicação de cargas de trabalho sem servidor e fluxos de trabalho de processamento de dados em streaming. Uma de suas funcionalidades exclusivas é o suporte a inscrições pull e push: inscrição para receber todas as mensagens publicadas disponíveis na hora da inscrição ou envio de mensagens para um terminal em particular. Nossos times gostaram de sua confiabilidade e escala e do fato de funcionar como anunciado.

      Histórico
    • O Mongoose OS permanece um de nossos sistemas operacionais microcontroladores de código aberto e framework de desenvolvimento com firmware embarcado preferidos. É válido notar que o Mongoose OS preenche uma visível lacuna para pessoas desenvolvedoras de softwares embarcados: a lacuna entre o firmware Arduino adequado para prototipagem e SDKs nativos dos microcontroladores bare-metal. Nossos times têm usado com sucesso a mDash, nova plataforma para gerenciamento de dispositivo ponta-a-ponta da Cesanta's para projetos de hardware greenfield de pequena escala. Grandes fornecedores de plataformas em nuvem para Internet das Coisas hoje suportam o framework de desenvolvimento do Mongoose OS para gerenciamento de seus dispositivos, conectividade e atualizações de firmware over-the-air (OTA). Desde a última vez que falamos do Mongoose OS, o número de placas e microcontroladores cresceu e incluiu STM, Texas Instruments e Espressif. Continuamos a aproveitar seu suporte suave para atualizações OTA e sua segurança incorporada em nível de dispositivo individual.

      Histórico
    • ROS é um conjunto de bibliotecas e ferramentas para ajudar pessoas desenvolvedoras de software a criar aplicações robô. É um framework de desenvolvimento que fornece abstração de hardware, drivers de dispositivo, bibliotecas, visualizadores, message-passing, gerenciamento de pacotes e mais. A Apollo Auto é baseada em ROS. Em nosso outro projeto de simulação ADAS também usamos o sistema de mensagens do ROS (bag). A tecnologia não é nova, mas recuperou a atenção de pessoas desenvolvedoras com o desenvolvimento do ADAS.

      Histórico

    AVALIE?

    • Para muitos de nossos times, Terraform se tornou a escolha padrão para definir uma infraestrutura de nuvem. Contudo, alguns de nossos times têm experimentado o Kit de Desenvolvimento em Nuvem AWS e estão gostando do que viram até agora. Em particular, eles gostam do uso de linguagens de programação de primeira classe, em vez de arquivos de configuração, o que permite que usem ferramentas, abordagens de testes e habilidades existentes. Como ferramentas parecidas, ainda é preciso cuidado para assegurar que implantações permaneçam fáceis de entender e manter. Dado que o suporte para C# e Java vem em breve e ignorando, por enquanto, algumas lacunas na funcionalidade, achamos que o Kit AWS vale ser visto como uma alternativa a outras abordagens baseadas em arquivos de configuração.

      Histórico
    • Os serviços da Azure DevOps incluem um conjunto de serviços gerenciados, como os repositórios Git hospedados, pipelines de integração contínua/entrega contínua, ferramentas para testes automatizados, ferramenta para gerenciamento de backlog e repositório de artefatos. As Pipelines Azure DevOps têm amadurecido com o tempo. Nós particularmente gostamos de sua habilidade de definir Pipelines como código e seu ecossistema de extensões no marketplace da Azure DevOps. À época em que este texto foi escrito, nossos times ainda estavam encontrando algumas funcionalidades imaturas, incluindo a falta de uma UI eficaz para visualização e navegação de pipeline e a inabilidade de acionar uma pipeline a partir de artefatos ou outras pipelines.

      Histórico
    • Pipelines Azure são um produto da Azure DevOps que oferecem soluções baseadas em nuvem para implementar pipelines como código em projetos hospedados no servidor Git Azure DevOps ou outra solução Git, como GitHub ou Bitbucket. A parte interessante dessa solução é a habilidade de executar seus scripts em Linux, MacOS e Windows sem a sobrecarga de gerenciar uma máquina virtual por si só. Isso representa um grande passo, especialmente para time que trabalham em ambientes Windows com soluções de frameworks .NET; também estamos avaliando esse serviço para entrega contínua em iOS.

      Histórico
    • A maioria dos projetos com suporte multi-idiomas começa com o time de desenvolvimento construindo funcionalidades em um idioma e gerenciando o resto por meio de traduções offline via e-mails e planilhas. Embora esse esquema simples funcione, as coisas podem sair do rumo rapidamente. Você pode ter que responder repetidamente às mesmas questões para diferentes tradutores, esgotando a energia de colaboração entre tradutores, revisores e time desenvolvimento. Crowdin é uma das poucas plataformas que ajuda a simplificar o fluxo de trabalho de localização de seu projeto. Com Crowdin, o time de desenvolvimento pode continuar a construir funcionalidades e a plataforma organiza o texto que precisa de tradução em um fluxo de trabalho online. Gostamos do fato de Crowdin incentivar o time incorporar a tradução continuamente e incrementalmente, em vez de conduzi-la para grandes lotes no final do trabalho.

      Histórico
    • Crux é um banco de dados de documentos de código aberto com consultas bitemporais de grafos. A maioria dos sistemas de base de dados é temporal, ou seja, nos ajuda a modelar fatos na hora em que ocorrem. Sistemas de base de dados bitemporais permitem que você modele não apenas o tempo válido em que o fato ocorreu, mas também o tempo de transação de quando foi recebido. Se você precisa armazenar documentos com capacidades de grafos para consultar o conteúdo, dê uma chance ao Crux. Ele está atualmente em alfa e falta suporte SQL, mas você pode usar uma interface de consulta Datalog para ler e examinar relações.

      Histórico
    • Delta Lake é uma camada de armazenamento de código aberto da Databrick que tenta trazer transações para processamento de big data. Um dos problemas que frequentemente encontramos quando usamos Apache Spark, é a falta de transações ACID. Delta Lake tem integração com API Spark e resolve esse problema usando um log de transação e arquivos Parquet versionados. Seu isolamento serializável permite que leitores e gravadores concorrentes operem em arquivos Parquet. Outras funcionalidades bem-vindas incluem validação de esquema na escrita e no versionamento, o que nos permite consultar e reverter para versões antigas de dados, se necessário. Começamos a usar em alguns de nossos projetos e temos gostado bastante.

      Histórico
    • O ecossistema sem servidor do Kubernetes está crescendo. Falamos sobre o Knative em uma edição anterior do Radar; agora estamos vendo o Fission ganhar força. O Fission permite que as pessoas desenvolvedoras se concentrem em escrever funções de curta duração e as mapeia para chamadas HTTP enquanto o framework lida com o resto das conexões e automação dos recursos Kubernetes por baixo dos panos. O Fission também permite a você compor funções, integrar com provedores terceirizados via retorno de chamada web (webhooks) e automatizar o gerenciamento da infraestrutura Kubernetes.

      Histórico
    • O FoundationDB é um banco de dados multimodelos de código aberto, comprada pela Apple em 2015 e que se tornou código aberto em abril de 2018. O core do FoundationDB é um armazém distribuído de valor-chave, que fornece transações de serialização estritas. Um dos aspectos interessantes do FoundationDB é seu conceito de camadas para oferecer modelos adicionais. Essas camadas são essencialmente componentes stateless construídos em cima do armazém de valor-chave, como a camada Record e a Document layer. O FoundationDB define um padrão alto com seu teste Simulation, em que se rodam testes diários simulando várias falhas do sistema. Com sua performance, testes rigorosos e fácil operação, o FoundationDB não é apenas um banco de dados, podendo também ser usado por quem procura construir sistemas distribuídos em que podem usar o FoundationDB como um core primitivo sobre o qual se constrói seu sistema.

      Histórico
    • GraalVM é uma máquina virtual universal criada pela Oracle para executar aplicações escritas em linguagens JVM, JavaScript, Python, Ruby e R, assim como C/C++ e outras linguagens baseadas em LLVM. Na sua forma mais simples, GraalVM pode ser usada como uma máquina virtual com melhor desempenho para essas linguagens. Mas ela também nos permite escrever aplicações poliglotas com pouco impacto no desempenho, e sua utilidade de imagem nativa (atualmente disponível apenas como uma tecnologia early adopter) nos permite compilar o código Java antes do tempo para executáveis independentes, acarretando em uma inicialização mais rápida e menos uso de memória. A GraalVM gerou muita empolgação na comunidade Java e vários dos frameworks Java (incluindo Micronaut, Quarkus e Helidon) já estão tirando proveito dela.

      Histórico
    • Nem todo mundo precisa de uma solução OAuth2 auto-hospedada, mas, se este é o seu caso, consideramos Hydra – um servidor OAuth2 open source totalmente compatível e provedor de conexão OpenID – bem útil. Realmente gostamos do fato de que a Hydra não fornece nenhuma solução de gerenciamento de identidade out-of-the-box. Então, não importa qual tipo de gerenciamento de identidade você tem, é possível integrá-lo com a Hydra por meio de uma API limpa. Essa clara separação de identidade do resto do framework OAuth2 torna mais fácil integrar Hydra com um ecossistema de autenticação existente.

      Histórico
    • Kuma é uma malha de serviços agnóstica de plataforma para Kubernetes, VMs e ambientes bare metal. Kuma é implementado como um plano de controle sobre o Envoy e, como tal, pode instrumentar qualquer tráfego de layer 4/layer 7 para assegurar, observar, indicar e melhorar a conectividade entre serviços. A maioria das implementações de malha de serviços é direcionada nativamente no ecossistema Kubernetes, o que e si não é ruim, mas entrava a adoção de malha de serviço para aplicações não-Kubernetes existentes. Em vez de esperar por grandes esforços de transformação de plataforma serem completos, você pode agora usar Kuma e modernizar a infraestrutura de rede.

      Histórico
    • Falamos sobre Kubernetes no passado e ele continua a ser a escolha padrão para implantação e gerenciamento de contêineres em clusters de produção. Contudo, está ficando cada vez mais difícil fornecer uma experiência offline similar para pessoas desenvolvedoras. Entre as opções, achamos MicroK8s bem útil. Para instalar MicroK8s snap, escolha um canal (stable, candidate, beta ou edge), e você pode rodar o Kubernetes com alguns poucos comandos. Você também pode acompanhar lançamentos e escolher atualizar sua configuração automaticamente.

      Histórico
    • Temos monitorado RA/RV (Realidade Aumentada/Virtual) em nosso Radar, mas seu apelo tem se limitado a plataformas específicas e opções de tethering. Oculus Quest muda o jogo, tornando-se um dos primeiros headsets de realidade virtual autônomos para o mercado de massa que não requer tethering ou suporte além de um smartphone. Esse dispositivo abre a porta para um grande avanço na potencial exposição de aplicações de realidade virtual, cuja demanda, por sua vez, levará o mercado a inovações mais agressivas. Aplaudimos a democratização da realidade virtual que esse dispositivo inaugura e mal podemos esperar para ver o que o futuro nos reserva.

      Histórico
    • As ferramentas e ecossistemas de frameworks em torno de redes neurais estão se desenvolvendo rapidamente. A interoperabilidade entre elas, contudo, tem sido um desafio. Não é incomum na indústria de aprendizado de máquina prototipar e treinar rapidamente o modelo em uma ferramenta e então implementá-lo em uma ferramenta diferente para inferência. Como os formatos internos dessas ferramentas não são compatíveis, precisamos implementar e manter conversores confusos para deixar os modelos compatíveis. O formato Open Neural Exchange ONNX trata desse problema. No ONNX, as redes neurais são representadas como grafos, usando especificações de operador padrão e, junto com um formato de serialização para objetos treinados, modelos de redes neurais podem ser transferidos de uma ferramenta para outra. Isso abre muitas possibilidades, incluindo o Model Zoo, uma coleção de modelos pré-treinados no formato ONNX.

      Histórico
    • Idealmente, contêineres devem ser gerenciados e executados pelo respectivo runtime do contêiner sem privilégios de raiz. Isso não é trivial, mas, quando alcançado, reduz a superfície de ataque e evita classes inteiras de problemas de segurança, notadamente, escalonamento de privilégios fora do contêiner. A comunidade tem discutido isso como contêineres sem raiz há algum tempo, e é parte da especificação do tempo de execução de contêiner aberto e sua implementação padrão runc, que sustenta o Kubernetes. Agora, o Docker 19.03 apresenta contêineres sem raiz como uma funcionalidade experimental. Embora totalmente funcional, a funcionalidade não trabalha ainda com várias outras funcionalidades, como controles de recursos cgroups e perfis de segurança AppArmor.

      Histórico
    • Muitas vezes, relacionamos armazenamento de dados a uma infraestrutura central difícil de escalar e gerenciar com as crescentes demandas acerca dos dados. Snowflake, todavia, é uma nova solução de DataWarehousing SQL como serviço feita do zero para a nuvem. Com vários recursos cuidadosamente criados, como atomicidade em nível de banco, suporte de dados estruturado e semiestruturado, funções analíticas embutidas e, sobretudo, com uma clara separação de armazenamento, processamento e camadas de serviço, o Snowflake lida com a maioria dos desafios enfrentados em data warehousing.

      Histórico
    • Teleport é um gateway de segurança para acessar remotamente infraestruturas em nuvem nativas. Uma de suas funcionalidades mais interessantes é sua habilidade de também atuar como um Certificate Authority (CA) para sua infraestrutura. Você pode emitir certificados de curta duração e construir um sofisticado controle de acesso baseado em papéis (RBAC) para sua infraestrutura Kubernetes (ou apenas para SSH). Com o aumento do foco na segurança da infraestrutura, é importante acompanhar as mudanças. Contudo, nem todos os eventos requerem o mesmo nível de auditoria. Com Teleport, você pode ficar com logging para a maioria dos eventos, mas ir um pouco além ao gravar a tela do usuário para sessões root mais privilegiadas.

      Histórico

    EVITE?

      Não encontrou algo que você esperava achar?

      Cada edição do radar inclui blips que refletem nossas experiências nos seis meses anteriores. Talvez já tenhamos falado sobre o que você procura em um radar anterior. Às vezes, deixamos coisas de fora simplesmente porque há muitas a serem abordadas. Também pode estar faltando um tópico específico porque o radar reflete nossa experiência, não se baseando em uma análise abrangente do mercado.

      Novo ou modificado,Sem modificação