Olá pessoal, hoje eu vou contar um pouco da experiência que passei ao trabalhar com duas ferramentas que fornecem o mesmo tipo de serviço porém de maneiras diferentes. São duas plataformas oferecem basicamente os mesmos serviços para desenvolvedores individuais e empresariais.
 
É possível utilizar os dois serviços ao mesmo tempo e é de grande valia, um ou outro serviço pode compensar mais do que o outro, mas de antemão eu já digo que são duas grandes empresas fornecem grandes serviços. Melhor do que essas pequenas empresas que oferecem hospedagem sem garantir backup ou suporte de alta qualidade.
 
As duas empresas oferecem serviços de hospedagem de site, banco de dados e serviços móveis. Esses foram os serviços que utilizei no Azure da Microsoft e no AWS da Amazon. O banco de dados utilizado no Azure foi o SQL Server e no AWS foi o DynamoDB. Sei que são bancos de dados diferentes, mas eu fiquei realmente triste foi com o DynamoDB. Primeiro, eu preciso utilizar o framework da Amazon, isto é, tenho que baixar um pacote API, instalar no meu computador e depois chamar os métodos que a empresa disponibiliza para consumo. Alguns métodos bons e outros nem tanto, alguns ruins e outros nem existem.
 
Porque é ruim utilizar uma API de terceiros para ter acesso ao banco de dados? Porque você está na mão das pessoas que desenvolvem essa API. Se algum método for retirado, você vai ter que alterar em seu sistema. Imagina que você tem mais de 30 mil linhas de código, veja o trabalho de procurar e alterar tudo. Se a empresa não dá mais suporte a API que você utiliza, você tem que criar uma ou mudar para outra e isso envolve trabalho, envolve tempo e dinheiro.
 
Falando na parte do Azure, eu não precisei de API para inserir, alterar, pesquisar e excluir dados no banco de dados. Basta o drive de conexão que todos os banco precisam ao invés de API qualquer. Tome cuidado com elas, pois empresas criam do dia para noite e acaba não abordando todos os casos que você precisa. Sempre haverá um caso não construído ou sem algum método e isso resulta em fazer “gambiarra" que não é o perfil de um ótimo desenvolvedor ou analisar de sistemas. No caso de banco de dados, eu prefiro hospedar no Microsoft Azure. Existem outras ferramentas de dados dentro do Azure mas eu não tive a oportunidade de utilizar ainda.
 
Para a hospedagem de arquivo como imagem, arquivos pdf ou outras extensões, o Azure não possui esse serviço ainda. Você precisa criar uma máquina virtual ou coisa parecida, ao contrário do AWS que oferece o serviço S3 para colocar arquivos de qualquer extensão. O ruim é que você precisa utilizar a API deles para fazer upload dos arquivos via sistema, caso contrário é necessário utilizar o web site (não muito bom na minha opinião) para enviar arquivo mas funciona razoavelmente. Na hospedagem do site estou utilizando o Azure, mas para arquivos do site enviados e para o site. A imagem de usuário ou arquivos de artigos, utilizo o AWS S3. Funciona muito bem e nunca tive problema. É lógico que no banco de dados eu coloco apenas o nome do arquivo e no sistema coloco o endereço fixo do AWS S3 para que no caso de alguma mudança de serviço/endereço, eu mudo apenas no arquivo de configuração do sistema e tudo funciona sem muito trabalho.
 
Falando de hospedagem de site, as duas empresas são ótimas e funcionam muito bem. No AWS você precisa contratar o serviço chamado Elastic Beanstalk onde é criado um ambiente virtual com Windows ou outro sistema operacional, para hospedar a tecnologia .NET (que foi o meu caso). Basta informar a configuração da máquina que deseja e será montada. Acesso às configurações, Windows Explorer do ambiente você não tem acesso. Não é tratado como uma máquina virtual, é só um ambiente e para enviar o site ou sistema, é necessário instalar o plugin deles na ferramenta Visual Studio da Microsoft. Esse plugin não funciona para algumas versões do Windows ou Visual Studio, eu só consegui instalar no Windows 10, no 8.1 não instalou. Na verdade falava que estava instalado mas não aparecia no Visual Studio e pesquisando na Internet, eu vi vários relatos, muitos deram o mesmo problema.
 
Para hospedar no Azure é muito mais fácil, pois o Visual Studio já vem com a opção de enviar para o ambiente necessário. Você clica em um botão, digita o seu usuário e escolhe o endereço, em pouco tempo o site está no ar com endereço …azurewebsites.net. A configuração do site, memória e processamento pode ser feito pelo portal do Azure. Em questão de configuração, o Azure te dá opções para hospedar outras linguagens incluindo Java e no AWS você precisa criar outro ambiente por exemplo. Neste ponto, você paga dois endereços enquanto que o Azure você coloca tudo em um. A vantagem do AWS é que você pode ficar até 1 ano utilizando sem pagar, o Azure são alguns meses.
 
Configuração de SSL que é o famoso HTTPS para os sites, o Azure oferece um layout pelo próprio portal simples e fácil; enquanto que no AWS não oferece um “faça você mesmo”. Isso eu achei ruim no AWS porque é um serviço muito simples de adicionar sem precisar de suporte. Em alguns pontos, o Amazon “peca” muito ou não pensa no desenvolvedor.
 
Eu utilizei o sistema para analisar dados e web service dos dois, mas eu não vou me prolongar para o artigo não ficar grande.
 
Em resumo, eu vou continuar mesclando as duas tecnologias, pegando o melhor delas para desenvolver meus sistemas e softwares. O mais importante é deixar seu sistema funcionando com mais fluidez para o usuário utilizar. Espero que tenha gostado um pouco do que foi falado aqui e que sirva como experiência.
 
Qualquer dúvida pode entrar em contato pelo site www.mauriciojunior.org.