Por que eu devo ler este artigo:Neste artigo vamos aprender o que é o Spring Cloud e seu relacionamento com o framework Spring, além de entendermos as principais características para o desenvolvimento de soluções na nuvem.

Para isso, abordaremos o que é PaaS (Platform as a Service) e analisaremos na prática como são utilizadas as APIs e abstrações do Spring Cloud e o quanto ele facilita a integração das nossas aplicações com as diversas plataformas e ambientes de computação em nuvem.

Computação em Nuvem, ou Cloud Computing, já se tornou um termo amplamente conhecido na indústria de tecnologia da informação. Muito já foi especificado e debatido a respeito do assunto, que recentemente deixou de ser uma “utopia” tecnológica para se tornar uma realidade de grandes empresas de TI, como Google, Facebook, Amazon, Salesforce, Twitter, Netflix, entre outras.

De acordo com o NIST (National Institute of Standards and Technology), agência do departamento de comércio dos Estados Unidos, cloud computing é definido como “um modelo para permitir acesso ubíquo, conveniente e sob demanda através da rede a um “pool” configurável de recursos computacionais (por exemplo, redes de computadores, servidores, armazenamento em disco, aplicações e serviços) que podem ser rapidamente aprovisionados e liberados para uso com um esforço de gerenciamento mínimo e de preferência sem interferência direta do provedor de serviço”.

A ideia é permitir que qualquer empresa ou pessoa acesse e utilize serviços computacionais oferecidos por um fornecedor, da maneira mais simples possível, usando o quanto quiser (ou puder pagar) e, se for o caso, se desfaça desses recursos com a mesma facilidade.

Nicholas Carr, escritor americano especializado em Tecnologia da Informação, em seu livro The Big Switch, afirma: “assim como as empresas e pessoas a cem ou mais anos atrás deixaram de produzir sua própria energia elétrica através de geradores próprios para utilizar a rede elétrica pública, hoje algo semelhante ocorre com a migração de sistemas e hardware das empresas locais para os grandes datacenters, tornando a computação uma utilidade, assim como é a energia”.

Hoje em dia, com um tablet ou smartphone, compramos, conversamos, vendemos, falamos, trabalhamos e nos divertimos, tudo funcionando porque em algum lugar está hospedado um serviço, seja na sua cidade ou do outro lado do mundo, facilmente acessível e a um preço atraente, quando não, gratuito.

Desenvolver estas soluções para funcionar em um ambiente na nuvem exige uma série de cuidados e tecnologias que antes desconhecíamos ou ignorávamos justamente por termos uma falsa impressão de previsibilidade e controle.

Durante as fases preliminares de um projeto, estimávamos uma certa quantidade de usuários que iriam utilizar a aplicação e sabíamos que ela seria instalada nos “nossos” servidores e até mesmo contávamos com as famosas “paradas” para fazer manutenção.

Quando criamos um serviço, seja para um ambiente Cloud Computing ou não, devemos nos preparar para eventuais falhas na execução de nossas aplicações, pois elas vão acontecer.

Além disso, e principalmente na nuvem, devemos estar preparados para corrigir os defeitos em ciclos de desenvolvimento mais curtos, evitando assim maiores prejuízos econômicos; otimizar ao máximo a performance, pois estamos pagando por cada ciclo de CPU gasto inutilmente; e ainda manter uma arquitetura evolutiva, que permita escalabilidade horizontal e vertical, monitoramento, maior agilidade em recuperação de falhas e administração.

Neste contexto, o Spring Cloud surge para compatibilizar o já mundialmente famoso framework Spring e suas APIs e padrões (como injeção de dependências e inversão de controle) com as plataformas de aplicações nas nuvens, também chamadas de PaaS, tais como CloudFoundry e Heroku.

O que é IaaS, PaaS e SaaS?

A computação nas nuvens é normalmente dividida em três principais modelos de serviço: IaaS (Infraestrutura como serviço), PaaS (Plataforma como Serviço) e SaaS (Software como Serviço).

Em IaaS, o provedor de nuvem disponibiliza uma série de recursos computacionais virtualizados, como servidores, memóri ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora