Prefácio
Eu, Giovanni Bassi, tive meu primeiro contato com Azure em 2009. Ele era um conjunto de poucos serviços que não faziam muita coisa. Enquanto plataforma de nuvem, deixava muito a desejar quando comparado aos concorrentes, tanto no tipo de serviços oferecidos (era recém-lançado) quanto na qualidade e flexibilidade.
No entanto, duas qualidades não faltavam: visão e ambição. Lembro-me claramente que a visão da Microsoft sobre o novo serviço era muito clara: ser a melhor plataforma de nuvem do mercado. Lembro de que, ao palestrar sobre Azure naquela época e observar os poucos serviços ofertados, todos notavam que o caminho para alcançar a visão era distante, e o projeto codinome "Red Dog" ainda teria que comer muito arroz com feijão para chegar lá.
Seis anos depois, encontramos uma realidade bastante diferente daquela do começo. Hoje, o Azure é sem dúvida uma plataforma muito completa, oferecendo de IaaS (Infrastructure as a Service) a SaaS (Software as a Service), passando por tudo que existe no meio, sendo referência em tudo que faz, e indo além.
Você pode hospedar desde um simples blog feito com WordPress até um complexo ERP baseado em Linux e Windows, com um back-end extremamente complexo. A escala é realmente infinita, e qualquer serviço parece pequeno diante da magnitude dos data centers disponibilizados a todos nós. Não é à toa que o Azure é considerado um dos líderes no segmento, sendo já hoje a melhor opção para diversos cenários, e disputando de forma competitiva em todas as outras em que atua.
No entanto, para mim, o maior apelo não é esse. Entregar uma ampla gama de serviços é o mínimo que um player de cloud moderno tem a obrigação de oferecer. Ter tornado toda a plataforma fácil de usar e intuitiva foi muito bem-vindo, mas também não é o mais importante.
São duas as funcionalidades que considero que trazem o maior diferencial. A primeira é que Azure não é só uma plataforma de nuvem, mas parte de um ecossistema infinitamente maior construído pela Microsoft. Esse ecossistema inclui produtos como Windows e Office, mas vai além com serviços como o Office 365, e a total integração com o ambiente que já temos rodando com Windows Server e Active Directory, como também toda a suíte de gestão que os acompanham e que não há um segundo colocado nem mesmo próximo.
Gerenciar Azure é tão fácil quanto gerenciar os servidores que você já tem dentro da sua empresa, só que com um potencial infinitamente maior. Podemos rodar .NET, Java, NodeJS, C++, Ruby, Python, PHP, Go, entre diversas outras linguagens e plataformas no Azure, com Linux e Windows, e com todo suporte ao ALM que precisamos para construir a aplicação, e todo o suporte à operação depois que ela entrar no ar. Você vai de uma ponta a outra sem sair da plataforma.
O segundo ponto que me ganhou no Azure é o fato de que a Microsoft não quer te trancar em seu data center. Você pode, a qualquer momento, pegar os serviços, levar para dentro do seu próprio data center, e não usar mais os serviços da nuvem pública. Eles chegam ao ponto de oferecer ferramentas para auxiliar nesse processo, tornando essa ida ou volta à nuvem pública (ou privada) muito fácil, e fica melhor a cada dia.
A Microsoft permite que você tenha a sua própria nuvem privada, com os mesmos serviços que estão no Azure. Isso sem contar o investimento em padronização, facilitando ainda mais processo, e a possibilidade de rodar contêineres com Docker, inclusive no Windows, algo que estamos agora começando a ver.
Sou desenvolvedor e arquiteto de software. Hoje, não consigo mais imaginar o que seria escrever uma aplicação sem ter planejado o software no Visual Studio Online, utilizando Scrum, com amplo suporte, e depois controlar todo o desenvolvimento, instalando uma nova versão em um ambiente no Azure a cada check-in do código, em um excelente suporte a DevOps.
Ao colocar a aplicação em produção usando IaaS ou PaaS, sei se ela continua saudável com o apoio do Application Insights, e da integração com System Center. Em momentos de pico, é fácil provisionar novas máquinas ou contêineres para dar conta da demanda. Tudo isso integrado à minha rede e ao meu domínio, com single sign on e segurança.
Deixar de usar o Azure significaria voltar à idade da pedra do desenvolvimento de software e da operação.
Fiquei feliz quando o Thiago me disse que estava escrevendo o livro que você está prestes a ler. Sei da sua paixão pela tecnologia, que ele detalhou nestas páginas. Desde que o conheço, temos animadas conversas sobre o Azure. Tenho certeza de que você vai confirmar que, depois de começar a usar o Azure, não terá mais motivos para usar outro serviço.
Com este livro, você vai entender mais a fundo por que a nuvem e a elasticidade são importantes e, logo no começo, vai conseguir criar uma aplicação com Visual Studio que roda no Azure. Ao longo do livro, você aprenderá alguns dos diversos serviços disponíveis e, quando terminar, você terá entendido e se aprofundado nas principais características da plataforma.
Boa leitura e bem-vindo a este mundo novo!
Por Giovanni Bassi
A quem se destina este livro?
Este livro é destinado principalmente aos desenvolvedores familiarizados com a plataforma .NET e aos que querem aprender a utilizar a plataforma de computação em nuvem Microsoft Azure. Não se preocupe caso você ainda não tenha muita experiência, isso se adquire com prática e, com algum tempo de estudo, você já conseguirá publicar seus aplicativos web no Azure e usufruir dos serviços integrados que ele oferece.
Os códigos foram escritos em C# utilizando a versão 2.5 do SDK. Programadores Java, PHP, Node.js, Python e Ruby poderão usufruir destes exemplos, dado que todas essas linguagens possuem SDK para Azure, disponível gratuitamente para download em http://bit.ly/AzureSDKs.
Sumário
- 1 Visão geral da computação em nuvem
- 1.1 Mas afinal, o que é computação em nuvem?
- 1.2 Tipos de nuvem
- 1.3 O que significa IaaS, PaaS e SaaS?
- 1.4 Quando usar computação em nuvem?
- 1.5 Concluindo
- 2 Conhecendo o Microsoft Azure
- 2.1 O nascimento do Azure
- 2.2 Computação
- 2.3 Armazenamento
- 2.4 Serviços integrados
- 2.5 Diferenciais do Azure
- 2.6 Interessante, mas quem já utiliza o Azure?
- 2.7 De Windows Azure para Microsoft Azure
- 2.8 Concluindo
- 3 Setup softwares e assinatura
- 3.1 Pré-requisitos
- 3.2 Portal Azure
- 4 Hospedando no Azure WebApp
- 4.1 Primeiro WebApp no Azure
- 4.2 Publicando com Visual Studio e o perfil de publicação
- 4.3 Seu WebApp virou um sucesso? Escale os servidores!
- 4.4 Escalando verticalmente
- 4.5 Escalando horizontalmente
- 4.6 Slot de implantação
- 4.7 Autoscaling
- 4.8 Integração com versionadores de código
- 4.9 Monitoramento
- 4.10 WebApps da galeria
- 4.11 Suporte a SSL e configuração de domínios
- 4.12 Concluindo
- 5 Rotinas em background com Azure WebJobs
- 5.1 Cenários de utilização
- 5.2 Criando um WebJob com Visual Studio
- 5.3 Concluindo
- 6 Cache como serviço usando Azure Redis Cache
- 6.1 Introdução ao Redis
- 6.2 Utilizando o Azure Redis Cache
- 6.3 Concluindo
- 7 Conhecendo o Azure Tables
- 7.1 Criando uma conta de armazenamento
- 7.2 Armazenando dados em Azure Tables
- 7.3 Concluindo
- 8 A inteligência dos sites de busca na sua aplicação com Azure Search
- 8.1 Busca como serviço (Search as a Service)
- 8.2 Provisionando o Azure Search
- 8.3 Definindo a estrutura dos documentos
- 8.4 Indexando documentos no Azure Search
- 8.5 Pesquisando documentos no Azure Search
- 8.6 Concluindo
- 9 Persistindo documentos com o Microsoft Azure DocumentDB
- 9.1 Persistência de dados não relacionais – #NoSQL
- 9.2 Azure DocumentDB, o nascimento
- 9.3 Primeiros testes com DocumentDB
- 9.4 Consultando documentos no DocumentDB
- 9.5 Criando stored procedures, triggers e funções definidas por usuários
- 9.6 Concluindo
- 10 Dados relacionais com SQL Sever
- 10.1 SQL Database – Database como serviço
- 10.2 SQL Server – Infraestrutura como serviço
- 10.3 Concluindo
- 11 Um pouco mais sobre máquinas virtuais
- 11.1 Criando uma máquina virtual com Ubuntu
- 11.2 Conectando data centers, serviços e máquinas com redes virtuais
- 11.3 Concluindo
- 12 Considerações finais
Dados do produto
- Número de páginas:
- Data publicação: