Interoperabilidade - Quais as tecnologias suportadas?

O Windows Azure é uma plataforma aberta e flexível para computação na nuvem, qualquer profissional de tecnologia pode tirar proveito do poder computacional do Windows Azure. Digo computacional, por que falar dos serviços de armazenamento que utilizam chamadas HTTP/REST já são interoperáveis por natureza.

Mas quais são as linguagem que posso utilizar no Windows Azure, como vocês sabe o Windows Azure utiliza 3 tipos de serviços computacionais Web Role, Worker Role e VM Role. As Web Roles e Worker Roles estão na categoria de serviço PaaS ou Platform As A Service (Plataforma como serviço).

O PaaS por definição abstrai o hardware e o sistema operacional utilizado, como visto no vídeo Introdução ao Windows Azure Compute (primeiro módulo do curso no MVA). Mas mesmo utilizando o conceito de abastração é possível configurar o SO utilizando scripts powershell e as ferramentas disponíveis.

Existem vários SDK's (Software Development Kit) disponíveis para o Windows Azure, todos eles disponíveis no Github https://github.com/WindowsAzure.

Os SDK's disponíveis nesse momento, digo nesse momento até com certa ênfase porque o serviço está em constante evolução, a cada release novas tecnologias e funcionalidades são adicionadas. Acessando a url da página de desenvolvimento do Windows Azure https://www.windowsazure.com/pt-br/develop/overview/, podemois visualizar as linguagem que possuem SDK's, veja imagem em destaque.

 

Cada uma das linguagem possui uma página com o download do SDK, documentações e exemplos de utilização, recomendo fortemente que você navegue e veja toda a gama de informação disponível.

Os SDK's disponíveis

Atualmente existem SDK's para .Net, node.js, Java e PHP, os SDK podem ser obtidos através da página de cada linguagem ou pelo repositórios do Windows Azure disnponíveis do GitHub, veja a lista acessando a url https://github.com/WindowsAzure. Ao acessar a página do Windows Azure disponível para cada linguagem, você vai ver o seguinte.

 

Página de .NET

 

Página de node.js

 

Página de Java

 

Página de PHP

 

O processo de instalação dos SDK é simples, e possui bastante informação no próprio link. Mas se você tiver algum problema para utilizar faça um comentário com suas dúvidas que irei respondê-los na medida do possível.

Outras linguagens

Se para a sua linguagem de programação o Windows Azure não possuir um SDK disponível, não tem problema existem meios (não é gambiarra Smiley) para configurar uma máquina virtual (mesmo utilizando o PaaS) para fazer download e instalar os componentes de software necessários para utilizar a sua linguagem.

Basicamente você vai ter que alterar o arquivo ServiceDeifniton.csdef, para incluir tasks (tarefas) que vão executar scripts powershell que vai realizar o download e instalação do componentes de software toda vez que provisionar uma nova instância da sua Role, veja um exemplo abaixo para instalar o Phyton em uma instância.

<Startup>
  <Task commandLine="installPython.cmd" executionContext="elevated">
    <Environment>
      <Variable name="EMULATED">
        <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
      </Variable>
      <Variable name="PYTHON_PATH">
        <RoleInstanceValue
          xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='python']/@path" />
      </Variable>
    </Environment>
  </Task>
  <Task commandLine="installDependencies.cmd">
    <Environment>
      <Variable name="PYTHON_PATH">
        <RoleInstanceValue
          xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='python']/@path" />
      </Variable>
    </Environment>
  </Task>
</Startup>

A primeira tarefa InstallPhyton.cmd, vai realizar o download do Phyton e realizar a instalação, veja o script powershell abaixo.

powershell -c "(new-object System.Net.WebClient).DownloadFile
('http://python.org/ftp/python/2.7.2/python-2.7.2.msi', 'python.msi')"
start /w msiexec /i python.msi /qn TARGETDIR="%PYTHON_PATH%"

A segunda tarefa InstallDependencies.cmd vai criar um ambiente Phyton utilizando virtualenv (http://www.virtualenv.org/en/latest/index.html) e instalar qualquer módulo que a aplicação dependa, executando o pip (http://www.pip-installer.org/en/latest/index.html), o conteúdo do script powershell segue abaixo.

python virtualenv.py --no-site-packages .
call scripts\activate
cd app
pip install -r requirements.txt

O arquivo requirements.txt é um arquivo texto, que possui o nome dos módulos (e versões). Ele segue o formado definido por pip freeze.

Como disse antes, o Windows Azure está em constante evolução prova disto é a disponibilização do Hadop ainda em teste. Fique atento as novas atualização na página do Windows Azure e nos novos conteúdos técnicos disponíveis.

Um grande abraço,

Vinícius.

Tags:

Follow the Discussion

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.