Trivia
This article
describes the fundamentals and core features of Microsoft Azure, a public cloud
operating system. Many of my fellow programmers, who are my acquaintances, have
never used any kind of ‘cloud platform’, because they either regard it as
unnecessary or hold a false believe that programming on it is difficult. Therefore,
I have decided to write this article thanks to which I hope I will be able to
encourage some of them to use it, or at least get familiar with it. The aim of
this article is to give the readers a foundation for understanding Microsoft
Azure and encourage them to try out the public cloud application, even if they
have not had any understanding about cloud systems so far.
What is Microsoft Azure?
Roughly saying –
it is a public cloud platform from Microsoft. It provides both PaaS and IaaS services and supports many different programming languages, tools and frameworks, including both
Microsoft-specific and third-party software and systems. Azure was released on
1 February 2010.
Microsoft Azure
would not be able to operate without their 19 datacenters. Currently, it operates out of 17 regions around the
world. This geographic expansion is of high priority for Microsoft in order to
provide customers with a reliable and elevated performance services in every
region of the world. When you use Azure you may easily specify where your
services should be located.
For instance, if
the customers come from Europe it is without question that the datacentre in
Europe ought to be used. Similarly, Asian or American users will be granted a
datacentre on their target location.
Microsoft Azure
provides various kind of services. The picture below presents which Internet-accessible application services are
presently run by Azure datacenters
Azure Portal
Azure Portal is
a place in the web where one can manage his/her Azure subscription and services.
It can be updated, scaled, deleted or a new one added. It would be the starting
point to begin to develop cloud based services. It groups services into
categories. The most popular service that will be used against Azure, is
probably website with some database, REST or WCF services.
When using Azure
Portal, they can be easily set up in a couple of clicks. It means that a
“space” must be created for the services on one of the datacentre. Initially, such
service uses a default template which might obviously be overwritten by the
user. As far as database is concerned, a new instance of SQL Server is simply
created and started.
Then, if somebody creates the application locally on the machine,
it can be published to Azure traditionally by copying it via FTP, or the user
might get a publish profile from
Azure Portal, and publish own project from Visual Studio directly or other
application in seconds, what in my humble perception is far more advantageous! The last but not the least, in Azure it is
possible to run Windows or Linux Virtual Machines. Personally, I use this
solution for each of my new project. As a developer, when I start to work I
like to have a clean operating system. Since I started to use Azure, I have always
begun new project by creating a new virtual machine in Azure which gives me new
operating system at glance in seconds. (In Azure, when you decide to start a
new virtual machine, it’s just a matter of seconds to have it setup and ready
to use).
Azure supports
various technologies as well as one can host applications written in .net,
java, php, python and many more. Suffice it to say that Azure supports a large
and growing number of open-source applications, frameworks, and languages, as a
result of Microsoft’s collaboration with the open source community.
Why have I moved to Azure?
First of all, it
is scalable and customizable and it is amazingly integrated with other
Microsoft products! Let me give some examples:
Example 1: the application works on a production server and
suddenly a bug is reported which is impossible to be captured in the
development environment, what is a common problem for many software engineers.
Nevertheless, Azure has a feature that allows it to trace the problem with ease
by debugging on production. The only
thing that has to be done is to connect from the Visual Studio to the
application and to attach debugger. From this point the debugging process may
be performed without much interference.
Example 2: The application has already been hosted in Azure for
some time and the time has come to make your application even better by adding
new functionalities. Some significant changes are made and there is a need to verify
how it will behave in the production environment. However, publishing would not
be the first step yet because these new functionalities may not operate as it
has been expected, or it is possible they contain some bugs... What can be done
is to publish it to a different deployment slot named “staging”, verify it and if
everything is in accordance, it can be easily swapped with the deployment slots
with just one click! Then, the staging process becomes production and
production becomes staging. As simple as that. Even more can be done! Movement
between these two deployments can run smoothly by specifying that for some time,
let’s say 20% of the traffic, will use staging deployment and rest will use
production. You can specify those number according to your tests until your
staging becomes production. Isn’t that cool?
Azure, also, offers different features for developers. Let
me just say that it has Visual Studio Online where the code might be hosted (using
either TFS or Git) and provided with bug tracking, issue tracking and project
management functions. Source code can be hosted there and use Visual Studio
directly for commits! If you have your MS SQL database created locally, you can
use Management Studio to quickly deploy it to your Azure Database or Virtual
Machine.
Pricing
In Microsoft
Azure you pay for what you use. If for instance the database has been used for
20 days only, that is your billing. The charge will cover only the period of
your database’s running. Here is the pricing calculator given http://azure.microsoft.com/en-us/pricing/calculator/) in order
to estimate the spendings. One may have an option to start with lower
requirements, observing how the application behaves with different number of
users and then decide whether there is a need for more resources which can
easily scale up. Hosting plan can scale up by using sliders on Azure Portal and
the changes are applied within seconds. Furthermore, there is an option to have
one’s resources and capacity specified with a monthly limit. This way the user
has a guarantee that he/she will not pay more than he/she has estimated. (In
one of my project I use a small Microsoft SQL Database and I pay for it 3 euros
per month!)
If you are an
owner of a small company which is not older than 3 years or you are a student,
you can benefit from BizSpark or DreamSpark programs, accordingly. If you are
subscribers of these programs, Microsoft gives you a 115 euros monthly limit in
using Microsoft Azure. What is a lot!
It is also worth
notice that Azure offers you 10 web sites free of charge so if you have a
simple website without Microsoft SQL Server connection, you can start with this
FREE plan.
Conclusion
Taking
everything into consideration what has been presented in this short article,
where most of all I wanted to show how powerful the platform is and at the same
time how friendly for the developer. What is more, I would like to underline
that this piece does not deplete the topic, instead it encourages the recipients
to become more absorbed with the issue. It is, also worth mentioning that
according to Fortune 500, 57% of the companies use Microsoft Azure.
In the times of
Internet Things with not a single hesitation I would strongly encourage you to
start playing with Azure. I have already moved my on-premises infrastructure to
off-premises cloud platform which is Microsoft Azure.
Although, when I
first heard about the cloud I was sceptical. Being a software engineer, I had
already used my hosting provider for years and I had been satisfied for most of
the time until it went down a couple of times. Then, I realized I need to
change my hosting provider. Having only heard about it, I was not quite sure
what I might have been expecting, but it came to my surprise, how much I liked
it from the very beginning.
The system is
growing all the time. A new services and features are being introduced very
fast, so it is easy to be out of date and overloaded with the amount of
services provided but it comes with ease to learn it and even easier to use it.
Not only does it offer you a lot of functionalities, but also it gives you an
access to develop your cloud services, mobile services, media services, CDNs or
even move your whole on-premises infrastructure to the cloud. It all depends on
your business needs. Azure has never let me down as far as reliability is
concerned. I am not worried about the availability of my services or backup.
Microsoft guarantees at least 99,9% availability of the services. It is
masterly integrated with Visual Studio, Office, Management Studio and other
Microsoft products, so it SIMPLY SAVES MY TIME!
Sources:
http://azure.microsoft.com/en-us/community/open-source-software/
[2] Infrastructure as a
Service - http://en.wikipedia.org/wiki/Cloud_computing#Infrastructure_as_a_service_.28IaaS.29
Brak komentarzy:
Prześlij komentarz