Not so long ago, the Microsoft Windows Azure cloud platform
was renamed Microsoft Azure. This is essentially a small, but very important event, which reflects Microsoft’s desire to offer Azure as an open public cloud platform for all users.

This renaming has long been suggested, because the platform is open to all technologies, offering to build solutions on any tools from Windows, SQL and .NET to Python, Ruby, Node.js, Java, Hadoop, Linux and Oracle. In this article we will see what features Azure offers for Linux users, different languages ​​and opensource-tools:
')
- Linux support as an OS in virtual machines
- 1000+ ready VM images
- using favorite Linux distro
- opensource partners Azure
- Oracle and Java support
- OpenJDK support, Java and Eclipse development
- Support Java, PHP, Python, Node.JS, Ruby as PaaS
- Visual Studio, Azure and Python, Node.js
- WebMatrix, Azure and PHP
- integration with Git, Mercurial, GitHub and other systems
- Android, iOS, Xamarin, HTML5 / JS, PhoneGap support with a single mobile backend
- Hadoop as a service in the Azure cloud
- Azure administration
- work with Azure from the command line on Linux, OSX, Windows
- integration with Puppet and Chef
- MongoDB, Redis and MySQL on request from the Azure Store
Linux support as an OS in a virtual machine
Today (and for quite some time) Azure out of the box supports Linux-based operating systems. Users are offered a choice of a number of ready-made distributions for deploying virtual machines:

Including: Ubuntu Server, CentOS, openSUSE, SUSE Linux Enterprise Server, Oracle Linux. These distributions are available to users from the virtual machine image gallery and do not require any additional actions; they are available for deployment on the first request. Inside the deployed machines, you can install any servers, applications, runtimes, frameworks, or tools you want.
VMDepot communityAnother option for the user is the ability to use the
VMDepot community
portal , which offers free 1000+ ready-made images of virtual machines with a pre-configured environment and a variety of tools:

Among the finished customized images you can find tools for every taste, for example: LAMP, Drupal, Jenkis, Magento, MongoDB, Neo4js, Redis, WordPress, Apache Solr, Ruby Stack, Cassandra, Coppermine, Discourse, Django, DokuWiki, GitLab, Gitorious, Horde, JBoss, Jetty, Joomla, JRuby, Mantis, MediaWiki, Moodle, Node.js, OpenERP, ownCloud, phpBB, Plone, Redmine, Riak, Spree, SugarCRM, Tomcat, XOOPS and dozens of others.
VMDepot is a community in which you can participate by downloading and sharing your own virtual machine images. You can read a detailed description of the VMDepot community portal in
this article .
Using your favorite Linux distributionThe third option that Azure offers to Linux users is the ability to download and use their own virtual machine images in the cloud with their favorite Linux distributions.
A detailed description of the process of creating a virtual disk with your favorite distribution is
described here . For example, Debian users can upload their distribution to Azure by preparing a virtual disk as described in the
Debian Wiki .
Azure Opensource PartnersFinally, another feature that Azure offers for Linux users is integration with cloud platform partner services, such as BitNami, Opscode (Chef), RightScale, ScaleXtreme, SUSE Studio, Ubuntu Juju.

These partners offer a variety of Azure support through their services. For example, using SUSE Studio or Ubuntu Juju, you can in a matter of minutes prepare a Linux image with a set of necessary components to choose from and upload it to the cloud.
More information about the offers of these partners can be found on
this page .
Oracle and Java support
We should also talk about the full support of Oracle products and the Java platform. Not so long ago, Microsoft
announced a strategic partnership with Oracle, which means full support for deploying Oracle products and platforms in the Azure cloud and using official Java support in Azure.

These tools include Oracle Database, Java 7 (and 6), WebLogic Server, Oracle Linux. You can learn a lot of interesting things from the
official page of the partnership of Oracle and Azure:
- Oracle provides the ability to use Oracle software licenses in Azure
- Microsoft now offers a fully licensed and supported Java component in Azure
It’s very convenient that when you deploy an image from Oracle to Azure, you automatically get a “enabled” license. About pricing and licensing can be found on a
separate page .
OpenJDK Support, Java Development and EclipseAlong with support for the official Java version of the Java JDK, the Azure platform also supports OpenJDK in the version from
Azul .
Together with this support for the Java platform, Microsoft also offers tool support - a special set for developers with integration into Eclipse. It supports both JDK and OpenJDK, Tomcat, Jetty, GlassFish and JBoss servers.

With these tools, Java developers can easily create, locally debug, and publish their applications to the Azure cloud. The
Windows Azure Toolkit for Eclipse is open source and constantly updated.
Details on working with Java and Eclipse for Azure can be found
in this article .
Support Java, PHP, Python, Node.JS, Ruby as PaaS
Together with ready-made images of environments for PHP, Java, Python, Node.js, Ruby and other languages ​​and platforms for deployment as virtual machines in the Azure infrastructure, developers are also offered a PaaS approach to developing applications in different languages, which involves publishing to the cloud a whole infrastructure, but only your code, which will be run on a ready and quickly scalable infrastructure. Learn more about supporting each of the languages ​​on
this page .

All the necessary development tools can be downloaded in one place at
http://azure.microsoft.com/en-us/downloads/ .
Visual Studio, Azure and Python, Node.jsA separate area of ​​work for Microsoft is to integrate work on projects based on Python and Node.js into the Visual Studio development environment (including its free version). The result of this work is the powerful tools
Python Tools and
Node.js Tools for Visual Studio, which already today in their first versions offer rich functionality and are much superior to paid or free counterparts.

I suggest reading the
Python Tools articles
for Visual Studio, first-hand updates and
Meet: Node . js Tools for Visual Studio , in which the developer of the tools shares the progress they have made.

Projects offer a full user experience for Python and Node.js developers, including debugging, code completion, package manager integration (pip or npm), and many other features. Both projects are distributed with source code and are actively developing. Both tools can integrate not only into paid versions of Visual Studio, but also into free ones.
Of course, these tools offer a seamless integration with Microsoft Azure, offering a simple and easy way to publish projects based on Django, Flask, Bottle or Express to the Azure cloud just a couple of clicks from Visual Studio.
WebMatrix, Azure and PHPPHP developers, in addition to the PHP SDK for Azure tools, located on
http://azure.microsoft.com/en-us/develop/php/ can also use the free Microsoft
WebMatrix editor offered by Microsoft. WebMatrix supports the development of PHP applications and offers a choice of ready-to-use templates for popular CMS and PHP-based frameworks, Node.js or ASP.NET.

WebMatrix offers integration with Git, MySQL databases and publishing to the Azure cloud. This way, you can quickly publish your PHP applications to the cloud. It should be added that, along with PHP, WebMatrix supports projects based on Node.js and ASP.NET. Details on WebMatrix can be found in
this article and
another .
Integration with Git, Mercurial, GitHub and other systemsTo support developers, the Azure cloud platform integrates with many of the services and tools for version control and file storage. Among them: Git, TFS, Mercurial, GitHub, Codeplex, BitBucket, Dropbox and Visual Studio Online.

Due to the tight integration of version control systems with Azure, it is possible to configure the continuous placement of code in the production or staging environment for each commit in your repository. Moreover, Azure preserves the history of code deployment and allows you to roll back the hosted code to one of the available versions.
You can learn more about using Azure integration features with version control systems in
this article using the example of Git .
Support Android, iOS, Xamarin, PhoneGap as a single mobile backend
A single backend for all mobile applications is the most popular service today among mobile developers. Instead of creating your own backend service, setting up the OS, DB, runtime environment, writing a REST API and so on, you can simply use a ready-made service that offers all this and more out of the box.

Along with these capabilities, the cloud backend also offers high reliability, flexibility and scalability for the current working conditions of your mobile clients.
Azure offers iOS, Android, Windows, Windows Phone, HTML5 / JS, PhoneGap, Sencha, Xamarin, Kindle
developers the opportunity to get a ready-made single cloud backend for all applications at once. At the same time, Azure Mobile Services offers the same features to iOS, Android, and so on:
- Work with data:
- relational data repository with internal replication for reliability;
- storage of files, NoSQL-data or MongoDB DB;
- Work with server code
- processing CRUD requests from clients through a server code to choose from based on Node.js or .NET / C #;
- creating and launching a REST Web API out of the box through an editor in a browser or from local code;
- Git integration;
- Support push push servers (PNS) for all platforms:
- Google GMC, Apple APNS, Microsoft WPNS / WNS, Kindle;
- Integrated support for mobile client authentication:
- via social networks Twitter, Facebook, Google, Microsoft Account;
- through Active Directory for corporate clients;
- open REST API for managing the entire backend:
- SDK sets for all platforms, languages ​​with the use of the advantages of each of them;
- access to the REST backend from any device offering to work with HTTP;
- offline mode of your mobile client
- Deep integration with Visual Studio:
- support for remote debugging;
- real-time logging;
- resource management;
- free tariff for a quick start:
- fast scaling and autoscaling
- administration tools for all platforms.
You can learn more about Azure Mobile Services from the video report of
5 mobile platforms - one ready backend in the cloud from the needs to use made at the Yandex YaC conference, the presentation slides are also available via the link.
You can start developing mobile applications with a cloud backend in Azure by visiting the
official portal and
center in Russian at azurehub.ru .
Hadoop as a service in the Azure cloud
Hadoop users can look at using the
Azure HDInsight cloud service, which is a 100% compatible implementation of Apache Hadoop available for deployment on the first request. Azure HDInsight offers the ability to raise a ready-made Hadoop cluster with configured nodes and Hadoop ecosystem tools deployed in them in minutes, perform calculations and then delete the cluster, and stop paying for it.

On request, you can deploy a cluster with a size of up to 40 data nodes (larger clusters can be deployed through a support request).
Microsoft is not just simply offering a ready-made service in the cloud based on existing Hadoop technologies, but also actively participating in the development of the Apache project itself, delivering code.

When you deploy an HDInsight cluster, you immediately get access to numerous tools: Hive, Pig, Sqoop, Oozie, HCatalog, Templeton, Ambari, and others. More details on the set of these components for different versions of the cluster can be found at the
following link .
For a more detailed description of the Azure HDInsight service, refer to
this article in Russian. All official documentation is available
on the portal .
Azure Administration
As an open platform, Microsoft Azure offers the ability to manage cloud resources and administer from any operating system: OSX, Linux or Windows.
Work with Azure from the command line on Linux, OSX, WindowsOn the Azure portal, you can find links to install the appropriate command line tools for your OS, which will allow you to manage all resources in the cloud through commands or pre-written scripts.

Comprehensive installation and use of command line tools for all operating systems is available at
this link . These tools, like all other Azure tools, are
open source .
Integration with Puppet and ChefRecently, Azure has tightly integrated integration with Puppet and Chef automation systems, which offer centralized management of your resources and allow you to solve DevOps tasks in the cloud.

In addition to the actual Puppet Enterprise server, which is accessible by their galleries of Azure virtual machines, users are able to specify the need to install the Puppet agent into virtual machines for further centralized management during the VM creation stage.
Details on the integration can be found
on the Puppet Labs website or
the Opscode site .
MongoDB, Redis and MySQL on request from the Azure Store
Another possibility to work with third-party tools in Microsoft Azure is the ability to purchase services upon request from the
Azure Store . Azure Store includes dozens of services and tools, including those available for free, that extend the capabilities of the platform.
These services include
MongoLab ,
MongoDB Inc ,
Redis Cloud ,
ClearDB MySQL
Many of these services offer several tariffs, including free ones, which allow you to get the necessary server as a service for development and testing. The advantages of these services are that you don’t have to independently deploy the infrastructure for hosting servers, manage them and ensure reliable operation. You get ready databases as a service.
Conclusion
The Microsoft Windows Azure platform has always been more than just Windows. And the name change to Microsoft Azure is a logical continuation of the platform development history as a place where all operating systems, programming languages, services and tools participate equally well.
We looked at how Azure allows Linux users to work and solve their problems with any distribution and under any environment. We talked about a strategic partnership with Oracle, which makes Azure the best place to host and support solutions based on Oracle Database and Java. We saw how Microsoft offers not only services, but also instrumental support for developers of Java, Python, Node.JS, PHP, Ruby and other languages.
Azure services are not only virtual machines, but also a wide flexible set of PaaS services, such as Web Sites and Mobile Services, which allow users of different programming languages, developers from different mobile platforms to create solutions for any mobile OS. Researchers and developers processing big data can use the HDInsight service offering Hadoop clusters with the entire ecosystem on first request.
An important point - the administration of deployed capacity. And here Azure offers not only ready-made sets of command line tools for all operating systems, but also integrates the popular opensource tools Puppet and Chef into itself.
Finally, we looked at how using the Azure Store, providers of open source technologies as services offer you access to popular tools in Azure, such as MySQL, Redis, MongoDB on demand and as a service.
The author hopes that this article will help all developers and IT professional understand the capabilities of the Azure cloud and its openness to any technology of your choice. It's time to taste the cloud!
useful links
Below you will find links to resources that will help you in using the Microsoft cloud platform:
And if you are already developing on Windows Azure or want to find the developers of your service, visit
appprofessionals.ru .
We will be happy to answer your questions at
azurerus@microsoft.com . And we are waiting for you in the
Windows Azure Community on Facebook . Here you will find experts (don't forget to ask them questions), photos, and lots and lots of news.