Escolhendo a opção de cálculo correta no GCP: uma árvore de decisão

Quando você inicia um novo projeto no Google Cloud Platform (GCP), uma das decisões mais antigas que você faz é qual o serviço de computação a ser usado: Google Compute Engine, Google Container Engine, App Engine Ou mesmo Google Cloud Functions e Firebase.

O GCP oferece uma gama de serviços de computação que vão desde o controle total dos usuários (ou seja, o Compute Engine) para altamente abstraído (ou seja, Firebase e Cloud Functions), permitindo que o Google cuide cada vez mais da gestão e operações ao longo do caminho.
Veja quantos leitores de longo prazo do nosso blog pensam sobre as opções de cálculo do GCP. Se você estiver acostumado a gerenciar máquinas virtuais e quiser uma experiência similar na nuvem, escolha Compute Engine. Se você usa contêineres e precisa coordenar mais de um contêiner em sua solução, você pode abstrair algumas das despesas administrativas necessárias usando o Container Engine. Se você quiser se concentrar em seu código e evitar as peças da infraestrutura inteiramente, use o App Engine. Finalmente, se você quiser se concentrar exclusivamente no código e criar microservices que expõem os pontos finais da API para seus aplicativos, use as funções Firebase e Cloud.

Ao longo dos anos, você nos disse que esse modelo funciona de forma excelente se você não tiver restrições, mas pode ser desafiador se você fizer isso. Nós ouvimos seus comentários e propomos outra maneira de escolher suas opções de computação usando um conjunto de perguntas com restrições.

(É preciso dizer que estamos considerando aspectos muito pequenos do seu projeto.) 1. Você está construindo um aplicativo móvel ou HTML que faz o levantamento pesado, em processamento, no cliente?Se você está construindo um cliente grosso que depende apenas de um backend para sincronização e / ou armazenamento, a Firebase é uma ótima opção. A Firebase permite que você armazene documentos complexos NoSQL (ou objetos se é assim que você pensa) e arquivos usando uma API e um cliente muito fácil de usar disponíveis para iOS, Android e Javascript. Há também uma API REST para acesso de outras plataformas.

2. Você está criando um sistema baseado mais em eventos que a interação do usuário? Em outras palavras,Você está criando um aplicativo que responde aos arquivos carregados, ou talvez inicie sessão em outros aplicativos? Você já está olhando para as soluções "sem servidor" ou "Funções como serviço"? Não procure mais do que Cloud Functions. As funções da nuvem permitem que você escreva funções de Javascript que funcionam no Node.js e que podem chamar qualquer uma das nossas API, incluindo Cloud Vision, Translate, Cloud Storage ou mais de 100 outras. Com as Funções da Nuvem, você pode criar funções individuais complexas que ficam expostas como microservices para aproveitar todos os nossos serviços sem ter que manter sistemas e colá-los todos juntos.

3. Sua solução já existe em algum outro lugar? Isso inclui software licenciado? Isso requer outro tipo de HTTP / S?Se você respondeu "não", o App Engine merece uma olhada. O App Engine é uma solução sem servidor que executa seu código em nossa infraestrutura e cobra-lhe apenas pelo que você usa. Escalamos-lo para baixo, dependendo da demanda. Além disso, o App Engine tem acesso a todos os SDKs do Google disponíveis para que você possa aproveitar o ecossistema completo do Google Cloud.

. Você está procurando construir um sistema baseado em contêiner? Você precisa de orquestração? Se você estiver construindo uma solução de vários recipientes, a orquestração se torna uma consideração. A orquestração de contêiner é um serviço que lida com implantação, redundância e distribuição de carga de seus contêineres. Um dos orquestradores mais maduros e populares é Kubernetes. Se você está considerando usar Kubernetes no GCP, você deve usar o Container Engine. (Você deve pensar sobre isso onde quer que você esteja executando Kubernetes na verdade. ) Container Engine reduz a construção de uma solução Kubernetes com um único clique. Além disso, eleva automaticamente os membros do cluster Kubernetes, permitindo que você crie soluções Kubernetes que cresçam e encolhem com base na demanda.


5. Você está olhando para usar GPUs em sua solução? Você está construindo uma solução baseada no recipiente Kubernetes? Você está migrando uma solução on-prem existente para a nuvem? Você está usando software licenciado? Você precisa de um kernel personalizado ou sistema operacional arbitrário? Você não encontrou outra solução para atender às suas necessidades?Se você respondeu "sim" a qualquer uma dessas questões, provavelmente você precisará executar sua solução em máquinas virtuais no Compute Engine. O Compute Engine é o nosso produto de computação mais flexível e permite a você a maior liberdade para configurar e gerenciar suas VMs, como quiser.


Esta não é uma árvore de decisão abrangente, e cada um de nossos produtos oferece suporte a uma gama mais ampla de casos de uso do que é apresentado aqui. Mas este deve ser um bom guia para você começar.

Para descobrir mais sobre ou soluções de computação, confira a Computação na Google Cloud Platform e depois experimente-se hoje mesmo com US $ 300 em créditos gratuitos quando se inscrever .



Por Terrence Ryan, Developer Advocate e Adam Glick, Product Marketing Manager

Comentários

Mensagens populares