Conheça o Microsoft Azure: ferramenta para criar serviços de nuvem
E quando o assunto é nuvem, você já deve ter ouvido falar em AWS e Azure, que são nomes comuns quando nos deparamos com cenários que necessitam deste serviço. Vamos entender o que é nuvem e o que ela pode nos oferecer?”
Introdução
Durante o dia a dia de uma pessoa desenvolvedora tem se tornado cada vez mais comum lidar com serviços de computação em nuvem, não é?
Para se ter uma noção da importância desse tema, quando pesquisamos em plataformas que oferecem vagas de emprego, como o LinkedIn, apenas no Brasil encontramos mais de 3400 oportunidades que pedem o conhecimento em Azure.
Pois é, necessitamos saber mais sobre Azure hoje em dia!
E não é à toa que serviços de nuvem estão tão em alta: a ideia de nuvem está em boa parte do que utilizamos hoje. Quando acessamos nossos e-mails ou documentos armazenados em um drive, por exemplo, estamos consumindo um serviço que utiliza a nuvem. Mas essa é uma parte pequena do que essa tecnologia é capaz.
Vamos entender o que ela é e o que pode nos oferecer?
Computação em nuvem
É cada vez mais comum nos depararmos com termos como Cloud Computing (em português, computação em nuvem) ou apenas cloud. Mas o que isso quer dizer? Como assim, computação em nuvem?
Esse é o nome comum que damos para a disponibilidade de recursos computacionais que temos através da internet. Hoje, os mais comuns que ouvimos são serviços disponibilizados pela AWS ou pela Azure.
Com o crescimento dessa tecnologia foram criadas formas de oferecer o serviço de forma que se adeque a necessidade do cliente. Então, além da expressão cloud, podemos ver conceitos, como IaaS, PaaS e SaaS. Por isso, vamos entender a diferença entre eles.
IaaS
Essa é uma sigla em inglês que significa Infrastructure as a service (em português, Infraestrutura como serviço). Nesse modo de serviço nós queremos que a infraestrutura não seja nossa responsabilidade. Estamos falando de uma empresa que vai fornecer isso para mim, ou seja, vai fornecer a máquina virtual (entenderemos o que isso significa mais abaixo).
PaaS
Essa é uma sigla em inglês que significa Platform as a Service (em português, Plataforma como serviço). Esse serviço oferece (além de máquinas virtuais, servidores, redes, banco de dados) ferramentas para suporte ao ciclo de vida do aplicativo Web. Os desenvolvedores usam a plataforma para criar aplicativos sem precisar gerenciar backups, soluções de segurança, atualizações e outras tarefas administrativas.
SaaS
Essa é uma sigla em inglês que significa Software as a service (em português, Software como serviço).
Para entender esse tipo de serviço, tenho um exemplo: eu tenho o SharePoint online, o Slack, o Google Docs e o Office 365. São softwares que usamos, mas nos preocupamos em atualizar ou precisamos saber onde estão rodando. Além disso, não nos preocupamos com o sistema operacional.
Pelas definições, esses três modelos funcionam como uma pirâmide. O que o IaaS fornece o PaaS também fornece, mas o PaaS possui mais funcionalidades. O mesmo acontece entre o SaaS e o PaaS. O que o SaaS fornece, o PaaS também fornece, entretanto o SaaS possui mais ferramentas.
Veja na imagem abaixo a relação desses três modelos:
Se formos pensar no quesito controle do cliente, conforme caminhamos para o topo da pirâmide, menor o controle que temos sobre o produto. Então, se quisermos citar um exemplo para cada um dos modelos de serviço, poderíamos dizer:
- SaaS: Trello, Google Docs
- PaaP: Heroku
- IaaS: Máquinas virtuais do Azure e EC2 (Instâncias AWS)
Criando nossa conta no Azure
Microsoft Azure divide o top 3 serviços de nuvem mais utilizados com a AWS e Google Cloud. Azure vem se aproximando cada vez mais da AWS, atual líder no mercado.
O Azure nos fornece a possibilidade de utilizar os serviços por um tempo sem a necessidade de pagar por eles. Vamos aproveitar essa oportunidade para colocar a mão na massa e treinar os três modelos apresentados, o que acha?
Para iniciar seus estudos usando Azure, você pode criar uma conta gratuita aqui. Inicialmente você terá $200 para gastar com os serviços disponíveis com validade de 30 dias.
Assim que criamos nossa conta no Azure encontramos uma tela com diversas opções de serviços possíveis de serem utilizados. De início ficamos um pouco perdidos, pois de fato são diversas opções. Vamos entender quais são as mais comuns de serem utilizadas?
O que podemos fazer utilizando essa ferramenta?
A Microsoft Azure fornece uma infinidade de serviços e, caso fôssemos explicar todos aqui, esse artigo viraria a série Grey's anatomy (seria algo infinito!!! :D).
Por isso, vamos destacar aqui apenas os mais utilizados, ok?
Máquinas Virtuais do Azure
Uma das funcionalidades mais comuns que encontramos no Azure e outros serviços de computação em nuvem é a criação e utilização de máquinas virtuais. Elas são computadores de software (podendo ser de diversos sistemas operacionais) que desempenham a mesma função de computadores físicos.
Encontramos diversas vantagens ao utilizar esse tipo de serviço, como a redução de custos. Isso acontece pois não temos o custo de manter um ambiente físico de equipamentos em funcionamento. Para grandes aplicações, isso pode fazer extrema diferença.
Confira a imagem a seguir exemplos de serviços que envolvem computação:
Instâncias de Contêiner do Azure
A ideia de containers é muito utilizada no ambiente de programação e devops. Eles permitem que diversos sistemas isolados dentro de um sistema operacional isolado.
De acordo com a própria documentação do Azure, as Instâncias de Contêiner do Azure são uma solução para qualquer cenário que possa operar em contêineres isolados, sem orquestração. Confira na imagem a seguir essas informações:
Bancos de dados SQL
Quando trabalhamos com desenvolvimentos de aplicações é quase inevitável nos depararmos com banco de dados. Com o Azure conseguimos trabalhar com diferentes bancos de dados, como MySQL e Oracle.
Aqui, destaquei o banco de dados SQL. SQL é uma linguagem que em inglês significa Structured Query Language (em português, Linguagem de Consulta Estruturada). No Azure você consegue trabalhar com SQL de forma totalmente gerenciada e sempre atualizada.
Na imagem a seguir, temos a lista de serviços que envolvem banco de dados no Azure. Confira:
Principais vantagens do Azure
- Suporta uma grande variedade de frameworks e linguagens, como Java e C#;
- Podemos trabalhar com diversos bancos de dados e sistemas operacionais;
- É facilmente escalável de acordo com a demanda do cliente.
Conclusão
Vimos o mar de possibilidades que o Azure pode nos oferecer. Essa tecnologia está alinhada a diversas possibilidades e necessidades que encontramos ao longo do caminho quando estamos trabalhando na área de desenvolvimento. Que tal nos aprofundarmos ainda mais? Veja os conteúdos disponíveis: