Infraestrutura
Google Cloud, por onde começar?
A Google ficou mundialmente conhecida por conta de seus serviços online como a sua ferramenta de busca, software de e-mail como o Gmail, redes sociais como o Google + e diversos outros produtos, como o Google Chrome e o Picasa. Porém com a nova era da computação em nuvem, a Google também resolveu investir nesse mercado e lançou a sua própria plataforma de computação em nuvem, a Google Cloud. Já pensou executar a sua aplicação na mesma infraestrutura que a Google usa para hospedar os seus serviços mais utilizados como o motor de busca e o Youtube? Bem, agora você pode.
Neste post, abordaremos os principais serviços da Google Cloud para você começar a utilizá-la para hospedar as suas aplicações.
Google Compute Engine
O Google Compute Engine é o serviço de máquinas virtuais da Google. É como se você simplesmente alugasse um servidor do datacenter da Google com acesso completo ao sistema operacional, onde você pode instalar os componentes essenciais para rodar o seu aplicativo ou qualquer outro serviço que você queira hospedar. O Compute Engine é um serviço extremamente flexível, pois você dispõe tanto de servidores com sistemas operacionais Windows e Linux, diversos tipos de configurações de hardware predefinidas, assim como também ter a flexibilidade de criar os seus próprios servidores com a configuração de hardware que você desejar. Além disso, você pode trazer suas próprias máquinas virtuais que rodam em seu datacenter local e migrar para a nuvem da Google, sem ter que precisar criar tudo do zero.
O Compute Engine é um serviço global, pois está disponível em todas as 15 regiões do Google ao redor mundo, inclusive aqui no Brasil, para você que precisa de servidores com a menor latência de rede possível. E é um serviço com faturamento flexível, o faturamento é por segundo, você paga somente pelo tempo de computação em que a sua máquina virtual estiver em execução, permitindo a você dessa forma reduzir custos sem precisar firmar compromisso com a Google. E caso você deseje descontos ainda mais agressivos, você pode firmar um compromisso com a Google de utilização da sua plataforma por pelo menos um ano, e a Google em troca lhe concederá um valor segundo mais barato, permitindo assim a você reduzir o custo com a sua máquina virtual em até 60% em comparação com o valor original.
Temos um excelente material de estudo aqui na School of Net com o nosso curso de Google Compute Engine, onde você aprende desde a criação e o gerenciamento de máquinas virtuais na nuvem Google. Deixo minha recomendação a vocês!
Google Cloud SQL
O Google Cloud SQL é o serviço de banco de dados totalmente gerenciado da Google. Toda a parte de backup, manutenção e atualização de patches é feita pela própria equipe da Google. A oferta para esse serviço atualmente é apenas compatível com os bancos de dados MySQL e PostgreSQL.
Além de ser um serviço gerenciado, o Cloud SQL é um serviço que pode lhe oferecer alta disponibilidade. O CloudSQL realiza verificações de integridade contínuas e oferece réplicas de failover, uma espécie de servidor secundário em stand-by, onde em caso de uma interrupção do seu banco de dados, o CloudSQL realiza a troca automaticamente para este servidor, deixando assim os dados ainda disponíveis para os seus clientes.
Outra característica bem interessante desse serviço, é que ele é um serviço escalável. Você pode escalar o seu banco de dados em várias réplicas de leituras. Uma réplica de leitura é uma cópia do servidor principal que reflete as alterações feitas nesta instância quase que em tempo real. Você cria uma réplica de leitura para descarregar solicitações de leitura ou tráfego de análises do servidor principal. E um servidor principal pode ter várias réplicas de leitura desta forma. Como material complementar para você utilizar este serviço deixo aqui o nosso curso de Google Cloud SQL, onde você aprende desde o processo de criação de instâncias de banco de dados até escalar o seu banco de dados com réplicas de leitura.
Google App Engine
O Google App Engine é um serviço ideal indicado para desenvolvedores que não tem muito conhecimento em infraestrutura ou que não querem se preocupar em ficar gerenciando infraestrutura. O Google App Engine é um serviço que funciona no modelo de plataforma como serviço. Toda a parte de infraestrutura, como servidores, redes, armazenamento e sistemas operacionais é abstraída. Serviços como o App Engine criados no modelo PaaS (plataforma como serviço) são criados para dar suporte ao ciclo de vida do aplicativo Web completo: compilação, teste, implantação, gerenciamento e atualização.
Uma outra característica bem interessante desse serviço é que a implantação de aplicativos é descomplicada. Você pode fazer a implantação do seu aplicativo diretamente do seu próprio computador através de Git local, pode também utilizar repositórios online como GitHub e BitBucket e fazer implantação até mesmo por FTP. Hoje o App Engine tem compatibilidade com as seguintes linguagens: Node.js, Java, Ruby, C#, Go, Python e PHP.
E por mais que o App Engine, ofertado no modelo PaaS, seja um ambiente de desenvolvimento e implantação provisionado pela própria Google, ele não deixa de ser um serviço flexível. O App Engine tem dois modelos de serviço, o modelo Standard e o modelo Flexible. No modelo Standard, como o próprio nome sugere, a Google lhe fornecerá um ambiente padronizado para você hospedar o seu aplicativo. Por exemplo, vamos supor que você queira hospedar um aplicativo em PHP no modelo standard. Desta forma a Google provisionará um ambiente padronizado com o PHP 5.5 e suas bibliotecas. Você não poderá utilizar outra versão deste runtime a não ser esta que foi provisionado em seu ambiente. Caso você deseje utilizar outra versão do PHP e obter mais flexibilidade em instalação de bibliotecas, neste caso você irá utilizar o App Engine no modelo Flexible, onde seguindo do exemplo acima, você poderia utilizar as versões 5.6, 7.0 e 7.1 do PHP e instalar qualquer biblioteca compatível. Podemos ficar horas falando sobre o serviço do App Engine, mas deixo aqui um excelente conteúdo sobre como começar a utilizar esse serviço com o curso que temos aqui em nossa plataforma, onde você aprenderá a hospedar aplicações tanto no modelo Standard como no modelo Flexible.
Google Cloud Storage
Quando falamos de nuvem, não podemos deixar de falar de armazenamento. E a Google oferece neste o Google Cloud Storage, que é o seu serviço de armazenamento de objetos. É um serviço totalmente gerenciado, escalável e durável, ou seja, novamente você não vai precisar ficar se preocupando em gerenciar infraestrutura.
E assim como os serviços descritos acima, o Cloud Storage é um serviço também extremamente flexível. Quais os casos de uso deste serviço? Você pode utilizá-lo como armazenamento de arquivos estáticos do seu aplicatico, como imagens, videos e documentos. Em conjunto com o Google CDN você pode acelerar a entrega do seu conteúdo em diferentes regiões geográficas e dessa forma até mesmo fazer streaming de vídeos e músicas. Lembrando que a própria Spotify faz uso dos serviços da Google em seus serviços de streaming e utiliza o Google Cloud Storage. Além dos usos acima, você pode utilizar o Cloud Storage como repositório integrado para análise e aprendizado de máquina e para realizar backups e arquivamento.
O mais interessante desse serviço é o custo de utilização. Você paga somente 0,02 centavos de dólar por gigabyte armazenado. Como material complementar, indico a vocês o nosso curso de Google Cloud Storage, aqui na School of Net, onde demonstramos a você como criar e gerenciar buckets e a integrar o seu aplicativo ao Cloud Storage para usá-lo como repositório.
Conclusão
A Google Cloud é uma excelente plataforma de serviços de computação em nuvem que só tem a agregar em seu projeto. Espero que possamos ter lhe dado um norte em como iniciar a utilizar este excelente serviço. Fiquem ligados nos nossos próximos post sobre Cloud Computing. Até a próxima!!