Microsoft Open Technologies Inc. have released a Ruby ‘fog-azure’ gem to provide Microsoft Azure support for the Fog cloud services library.
Fog is an open source cloud services library written in Ruby, which provides an abstraction across the services offered by various cloud platforms. Fog allows Ruby developers to write an application against a single cloud service API and then port their code to different cloud vendors with minimal changes.
The fog library provides a standard API for access to cloud services such as compute, storage and DNS. The Fog project website contains a full list of supported cloud vendors, but in addition to the new support for the Microsoft Azure platform, the majority of major cloud vendors are also supported, such as Amazon Web Services, Google Cloud and RackSpace.
The Microsoft Open Technologies blog states that Fog is utilised by both application developers and DevOps tools written in Ruby, such as Puppet. The blog also states that Microsoft’s primary goal of contributing the Azure Fog gem is to enable developers to create applications that can easily be integrated with and run on multiple cloud platforms:
By providing an Azure module we seek to ensure that Azure users can benefit from the abstraction library and create more portable applications.
Fog can be integrated into a Ruby project by including the ‘fog-azure’ gem into an application's Gemfile, and running ‘bundle’ or a manual install via ‘gem install fog-azure’. For developers new to Fog, the ‘getting started’ page on project’s webpage provides a brief tutorial and links to further instructional material.
The module is built using the Microsoft Azure Ruby SDK, which is available on the Microsoft Ruby developer center. Whilst there is no need to do so, Ruby Developers may install the complete Ruby SDK separately by executing the command ‘gem install azure’.
The Microsoft Open Technologies blog states that this release of the Microsoft Azure Fog module is an initial effort, and comments and feedback are being requested. The blog states that patches are also requested, and pull-requests can be made against the fog-azure Github repository.