O desenvolvimento de sistemas para a nuvem
Neste artigo será apresentado um breve resumo sobre
computação em nuvem e serão catalogadas algumas das principais tecnologias
relacionadas. Ao final do estudo analisaremos um pequeno exemplo fictício da
utilização de algumas das tecnologias citadas.
Em
que situação o tema é útil
Este artigo apresenta algumas das principais
tecnologias para auxiliar no desenvolvimento de sistemas e o gerenciamento de
infraestruturas baseadas em nuvem.
Este tema é útil para gerentes/arquitetos de
software e a indústria de software em geral que desejam migrar para soluções em
nuvem ou obter conhecimentos sobre um dos temas mais atuais no setor de TI em
todo o mundo.
Autores: Edson A. Oliveira Junior e Rodrigo P. Bonini
Computação em nuvem permite o uso computacional (processamento, armazenamento, serviços, etc.) com recursos compartilhados de forma remota, por meio da internet ou redes locais. Esses recursos são definidos a partir de um painel de controle onde o usuário pode configurar serviços de acordo com a necessidade de uso e sem nenhuma intervenção de um especialista com o servidor. Em geral, o usuário só pagará pelos recursos e serviços utilizados, possibilitando um melhor controle sobre os gastos.
A computação em nuvem é a evolução de uma variedade de tecnologias. Tecnologias como grid computing (modelo de rede de computadores onde os recursos de cada computador são compartilhados com todos os outros computadores no sistema), virtualização (o processo de executar vários sistemas operacionais em um único equipamento) e utility computing (modelo de disponibilização de serviços computacionais no qual um provedor de serviços disponibiliza recursos computacionais e infraestrutura necessários para um cliente e o cobra baseado no uso) podem facilmente ser confundidas com computação em nuvem.
É possível diferenciar computação em nuvem de outras tecnologias observando o modelo proposto pelo Instituto Nacional de Padrões e Tecnologia (NIST), que é composto por cinco características essenciais, quatro modelos de implantação e três modelos de serviços. Tais modelos permitem que organizações de grande porte ofereçam serviços e ferramentas para auxiliar no desenvolvimento de aplicações em nuvem como, por exemplo, o Google App Engine, que é uma plataforma de desenvolvimento em nuvem da empresa Google integrada com uma base de dados própria, o BigTable (sistema de armazenamento de dados comprimido, de alto desempenho e proprietário desenvolvido a partir de um conjunto de tecnologias do Google).
Outro exemplo de serviço é o Windows Azure Platform da Microsoft, que possibilita um desenvolvimento de forma ágil, também integrada com uma base de dados própria, o SQL Azure. Ambos contam com bibliotecas próprias para diversas linguagens. Por fim, cabe ressaltar que todos os serviços citados podem ser executados via Web nos data centers das empresas fornecedoras.
A computação em nuvem oferece muitos benefícios para as organizações, como: a redução de custos, já que as empresas não precisam mais gastar com infraestrutura e também manutenção; e a melhora na automação dos serviços, flexibilidade e sustentabilidade. Além dos benefícios citados, a computação em nuvem conta com um contrato oferecido pelos provedores de serviço, o Service Level Agreement (SLA). Tal contrato é importante para determinar os benefícios e as responsabilidades de cada parte. O SLA é crucial para construir a confiança entre o prestador do serviço e o cliente.
Com o aumento de investimentos decorrentes de empresas que veem a computação em nuvem como um grande avanço da TI, é cada vez maior o número de serviços e aplicações disponibilizadas, sejam elas open source ou comerciais. Assim, este artigo cataloga as principais tecnologias encontradas na indústria de TI, voltadas à computação em nuvem. Espera-se com isso apoiar os estudos e a adoção de tais tecnologias para o desenvolvimento de sistemas baseados em nuvem.
Computação em Nuvem
De acordo com o Instituto Nacional de Padrões e Tecnologia (NIST), como já citado, o modelo de computação em nuvem é formado por cinco características essenciais, quatro modelos de implantação e três modelos de serviços. Tal modelo em nuvem vem sendo aceito por profissionais da área de TI e instituições de ensino e pesquisa.
As características essenciais da computação em nuvem são descritas como segue:
- Sob demanda (On-demand self-service): fornecedores de serviços em nuvem oferecem diversos recursos como armazenamento e processamento, que podem ser facilmente habilitados e configurados segundo as suas necessidades e sem nenhuma intervenção de um especialista com o servidor. Assim, o consumidor paga apenas pelos serviços utilizados/contratados;
- Acesso à rede (Broad network access): para fornecer ou utilizar um serviço em nuvem é preciso haver acesso a uma rede padrão, por meio de dispositivos que possuam uma plataforma capaz de acessar tal serviço. Esse acesso pode ser feito via laptops, tablets, smartphones, computadores pessoais, entre outros dispositivos; ...
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.