niedziela, 18 stycznia 2015

Why not to move to Microsoft Azure?


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/





[1] Platform as a Service - http://en.wikipedia.org/wiki/Platform_as_a_service

Brak komentarzy:

Prześlij komentarz