Digital Architecture Project Leader at a computer software company with 10,001+ employees
Real User
A good solution with useful features and good stability, scalability, and availability
Pros and Cons
  • "Active Directory is a good feature. The infrastructure features that Azure provides are also good."
  • "There should be more language options for the Azure Functions apps. It supports programming languages, but there are only a few options. It could have more programming languages."

What is our primary use case?

We are a consultancy company. We provide technology solutions for our clients. We use Microsoft Azure to provide infrastructure for our clients. 

What is most valuable?

Active Directory is a good feature. The infrastructure features that Azure provides are also good.

What needs improvement?

There should be more language options for the Azure Functions apps. It supports programming languages, but there are only a few options. It could have more programming languages. 

For how long have I used the solution?

I have been using this solution for one year.

Buyer's Guide
Microsoft Azure
April 2024
Learn what your peers think about Microsoft Azure. Get advice and tips from experienced pros sharing their opinions. Updated: April 2024.
769,065 professionals have used our research since 2012.

What do I think about the stability of the solution?

It has good stability. It has an availability of 99,9%.

What do I think about the scalability of the solution?

It has good scalability. It is an automatic process. 

It is a retail solution. Therefore, we have a lot of users. We probably have direct and indirect users in thousands.

How are customer service and support?

I don't like their support so much. The support of Microsoft is not fast enough and should be faster. They have a lot of layers or levels. I used to get in touch with them through the Azure Portal.

How was the initial setup?

The initial setup is easy. We have developed a DevOps automatic process, which makes it very fast to deploy. It takes just a few minutes.

What other advice do I have?

I would advise taking care of the intermediate layers between your business and Microsoft. They aren't good.

I would rate Microsoft Azure an eight out of ten. This rating is based on the general features. If they put more programming languages, I would rate it a ten. It is a good product.

Which deployment model are you using for this solution?

Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Country Manager at Orion Consultores C.A
Real User
The pricing Calculator feature is valuable and easy to use
Pros and Cons
  • "Azure has improved my organization because it is a new technology and so the customers who don't have enough knowledge about the cloud delegate the administration of their cloud infrastructure to us. We incorporate and add a new service to our product lineup about how to manage their Azure. It impacts our business because we're able to incorporate this new service."
  • "The interface is not easy to use. I'd like to see them develop a better interface, more graphical information about the resource and the consumer."

What is our primary use case?

We use Azure as an infrastructure service. Most of our customers have web servers but we also manage Azure for SAP R/3. It works fine. They do have a lot of options for SAP All-In-One, but we don't have as many options for SAP Business One. What Azure offers for Business One customers is too short to have enough servers certified. It works fine but it's not a complete solution for customers that use SAP Business One.

How has it helped my organization?

Azure has improved my organization because it is a new technology and so the customers who don't have enough knowledge about the cloud delegate the administration of their cloud infrastructure to us. We incorporate and add a new service to our product lineup about how to manage their Azure. It impacts our business because we're able to incorporate this new service.

What is most valuable?

The Pricing Calculator would be the most valuable feature. It's easy to use. 

What needs improvement?

I would like to have more certified servers for SAP. Our customers need an easier interface to manage Azure. They don't have people who have cloud knowledge. The knowledge group is taking time and they use our services to manage the cloud data. Azure is built for auto services but it's not easy. The interface is not easy to use. I'd like to see them develop a better interface and more graphical information about the resource and the consumer.

There's a machine, the server. The smallest machine that they have has 112 GB of RAM. It is big for a customer. It has around 16 cores and a 112 GB of RAM. Amazon has a server with around 8 cores and 60 GB of RAM. The smallest certified machine for SAP Business One HANA in Amazon Web Services is 8 cores and 60 GB of RAM and Microsoft it's 16 and 112 GB of RAM. It's too big for a small customer. Because this machine is able to manage 50 concurrent users it's too big for a customer with 22 or 30 users. 

For how long have I used the solution?

More than five years.

What do I think about the stability of the solution?

Until now I have only had a few problems with stability. There was a problem with Azure Active Directory in the US central region that affected almost all of the data centers around two or three months ago but otherwise, it's good stability. The stability is good enough.

What do I think about the scalability of the solution?

Scalability is fine. We tried to create services in the data center in Brazil and there was not enough space. There were not enough cores and RAM so we were not able to create it. We opened a ticket with technical service and they told to use another region.

We chose Azure because of its scalability. With Azure, we are able to use the size of a machine that we need.

How is customer service and technical support?

I haven't opened any tickets with technical support. The technical team opened most tickets but from what I hear, technical support has been fine. It could be better. They could improve the time it takes to respond but I have never heard about any issues from the technical guys about their support. They would prefer to get a faster response back because when you have a problem, you have your boss asking for updates so you need a fast answer.

What's my experience with pricing, setup cost, and licensing?

It's a very expensive machine and I would like for them to improve the price. There are smaller sized competitors who offer cheaper prices. 

Which other solutions did I evaluate?

We didn't look at any other options because we are not business partners with other cloud solutions or providers. We only have Azure so we try to solve everything with Azure. If a customer asks us for a proposal to move or create some interesting tool in the cloud, we all use Azure. We never compared it to other cloud providers.

What other advice do I have?

I would rate this solution a nine because they are always incorporating new alerts and new features. I wouldn't give it a ten because it's sometimes not easy to use and the price is not a fair price for the solution.

I don't know why customers think that Amazon is the best. I think that the customer thinks that the best option for cloud is an Amazon service and the second one is Microsoft. My advice to someone considering this or a similar solution is to be careful with Amazon because the customers think that they are always on the list.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Microsoft Azure
April 2024
Learn what your peers think about Microsoft Azure. Get advice and tips from experienced pros sharing their opinions. Updated: April 2024.
769,065 professionals have used our research since 2012.
PeerSpot user
Owner with 51-200 employees
Vendor
Session Affinity and Windows Azure

Everybody speaks about recently announced partnership between Microsoft and Oracle on the Enterprise Cloud. Java has been a first-class citizen for Windows Azure for a while and was available via tool like AzureRunMe even before that. Most of the customers I've worked with are using Apache Tomcat as a container for Java Web Applications. The biggest problem they face is that Apache Tomcat relies on Session Affinity.

What is Session Affinity and why it is so important in Windows Azure? Let's rewind a little back to this post I've written. Take a look at the abstracted network diagram:

So we have 2 (or more) servers that are responsible for handling Web Requests (Web Roles) and a Load Balancer (LB) in front of them. Developers has no control over the LB. And it uses one and only one load balancing algorithm – Round Robin. This means that requests are evenly distributed across all the servers behind the LB. Let's go through the following scenario:

  • I am web user X who opens the web application deployed in Azure.
  • The Load Balancer (LB) redirects my web request to Web Role Instance 0.
  • I submit a login form with user name and password. This is second request. It goes to Web Role Instance 1. This server now creates a session for me and knows who I am.
  • Next I click "my profile" link. The requests goes back to Web Role Instance 0. This server knows nothing about me and redirects me to the login page again! Or even worse – shows some error page.

This is what will happen if there is no Session Affinity. Session Affinity means that if I hit Web Role Instance 0 first time, I will hit it every time after that. There is no Session Affinity provided by Azure! And in my personal opinion, Session Affinity does not fit well (does not fit at all) in the Cloud World. But sometimes we need it. And most of the time (if not all cases), it is when we run a non-.NET-code on Azure. For .NET there are things like Session State Providers, which make developer's life easier! So the issue remains mainly for non .net (Apache, Apache Tomcat, etc).

So what to do when we want Session Affinity with .NET web servers? Use the SessionAffinity or SessionAffinity4 plugin. This basically is the same "product", but the first one is for use with Windows Server 2008 R2 (OS Family = 2) while the second one is for Windows Server 2012 (OS Family = 3).

I will explain in a next post what is the architecture of these plugins and how exactly they work.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Owner with 51-200 employees
Vendor
Active Directory in Azure – Step by Step

Ever since Windows Azure Infrastructure Services were announced in preview I keep hearing questions "How to run Active Directory in Azure VM? And then join other computers to it". This article assumes that you already know how install and configure Active Directory Directory Services Role, Promote to Domain Controller, join computers to a Domain, Create and manage Azure Virtual Networks, Create and manage Azure Virtual Machines and add them to Virtual Network.

Disclaimer: Use this solution at your own risk. What I describe here is purely my practical observation and is based on repeatable reproduction. Things might change in the future.

The foundation pillar for my setup is the following (totally mine!) statement: The first Virtual Machine you create into an empty Virtual Network in Windows Azure will get the 4th IP Address in the sub-net range. That means, that if your sub-net address space is 192.168.0.0/28, the very first VM to boot into that network will get IP Address 192.168.0.4. The given VM will always get this IP Address across intentional reboots, accidental restarts, system healing (hardware failure and VM re-instantiating) etc., as long as there is no other VM booting while that first one is down.

First, lets create the virtual network. Given the knowledge from my foundation pillar, I will create a virtual network with two separate addressing spaces! One addressing space would be 192.168.0.0/28. This will be the addressing space for my Active Directory and Domain Controller. Second one will be 172.16.0.0/22. Here I will add my client machines.

Next is one of the the most important parts – assign DNS server for my Virtual Network. I will set the IP Address of my DNS server to 192.168.0.4! This is because I know (assume) the following:

  • The very first machine in a sub-network will always get the 4th IP address from the allocated pool;
  • I will place only my AD/DC/DNS server in my AD Designated network;

Now divide the network into address spaces as described and define the subnets. I use the following network configuration which you can import directly (however please note that you must have already created the AffinityGroup referred in the network configuration! Otherwise network creation will fail):

01 <NetworkConfiguration
02   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
03   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
04   xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
05   <VirtualNetworkConfiguration>
06     <Dns>
07       <DnsServers>
08         <DnsServer name="NS" IPAddress="192.168.0.4" />
09       </DnsServers>
10     </Dns>
11     <VirtualNetworkSites>
12       <VirtualNetworkSite name="My-AD-VNet" AffinityGroup="[Use Existing Affinity Group Name]">
13         <AddressSpace>
14           <AddressPrefix>192.168.0.0/29</AddressPrefix>
15           <AddressPrefix>172.16.0.0/22</AddressPrefix>
16         </AddressSpace>
17         <Subnets>
18           <Subnet name="ADDC">
19             <AddressPrefix>192.168.0.0/29</AddressPrefix>
20           </Subnet>
21           <Subnet name="Clients">
22             <AddressPrefix>172.16.0.0/22</AddressPrefix>
23           </Subnet>
24         </Subnets>
25       </VirtualNetworkSite>
26     </VirtualNetworkSites>
27   </VirtualNetworkConfiguration>
28 </NetworkConfiguration>

Now create new VM from gallery – picking up your favorite OS Image. Assign it to sub-net ADDC. Wait to be provisioned. RDP to it. Add AD Directory Services server role. Configure AD. Add DNS server role (this will be required by the AD Role). Ignore the warning that DNS server requires fixed IP Address. Do not change network card settings! Configure everything, restart when asked. Promote computer to Domain Controller. Voilà! Now I have a fully operations AD DS + DC.


Let's add some clients to it. Create a new VM from gallery. When prompted, add it to the Clients sub-net. When everything is ready and provisioned, log-in to the VM (RDP). Change the system settings – Join a domain. Enter your configured domain name. Enter domain administrator account when prompted. Restart when prompted. Voilà! Now my new VM is joined to my domain.


Why it works? Because I have:



  • Defined DNS address for my Virtual Network to have IP Address of 192.168.0.4

  • Created dedicated Address Space for my AD/DC which is 192.168.0.0/29

  • Placed my AD/DC designated VM in its dedicated address space

  • Created dedicated Address Space for client VMs, which does not overlap with AD/DC designated Address Space

  • I put client VMs only in designated Address Space (sub-net) and never put them in the sub-net of AD/DC

Of course you will get same result if with a single Address Space and two sub-nets. Being careful how you configure the DNS for the Virtual Network and which sub-net you put your AD and your Client VMs in.


This scenario is validated, replayed, reproduced tens of times, and is being used in production environments in Windows Azure. However – use it at your own risk.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Owner with 51-200 employees
Vendor
Bending the Windows Azure Media Services–H.264 Baseline profile

Disclaimer: What I will describe here is not officially supported by Microsoft and by Windows Azure Media Services. This means that if task fails you cannot open support ticket, nor you can complain. I discovered these hidden feature by digging deeply into the platform. Use the code and task preset at your own risk and responsibility. And note that what works now, may not work tomorrow.

Exploring the boundaries of Windows Azure Media Services (WAMS), and following questions on StackOverflow and respective MSDN Forums, it appears that WAMS has previously supported H.264 Baseline Profile and have had a task preset for Baseline Profile. But now it only has Main Profile and High Profile task presets. And because the official documentation says that Baseline Profile is supported output format, I don’t see anything wrong in exploring how to achieve that.

So what can we do, to encode a video into H.264 baseline profile if we really want? Well, use the following Task Preset at your own will (and risk :) ):

01 <?xml version="1.0" encoding="utf-16"?>
02 <!--Created with Expression Encoder version 4.0.4276.0-->
03 <Preset
04   Version="4.0">
05   <Job />
06   <MediaFile
07     WindowsMediaProfileLanguage="en-US"
08     VideoResizeMode="Letterbox">
09     <OutputFormat>
10       <MP4OutputFormat
11         StreamCompatibility="Standard">
12         <VideoProfile>
13           <BaselineH264VideoProfile
14             RDOptimizationMode="Speed"
15             HadamardTransform="False"
16             SubBlockMotionSearchMode="Speed"
17             MultiReferenceMotionSearchMode="Speed"
18             ReferenceBFrames="True"
19             AdaptiveBFrames="True"
20             SceneChangeDetector="True"
21             FastIntraDecisions="False"
22             FastInterDecisions="False"
23             SubPixelMode="Quarter"
24             SliceCount="0"
25             KeyFrameDistance="00:00:05"
26             InLoopFilter="True"
27             MEPartitionLevel="EightByEight"
28             ReferenceFrames="4"
29             SearchRange="32"
30             AutoFit="True"
31             Force16Pixels="False"
32             FrameRate="0"
33             SeparateFilesPerStream="True"
34             SmoothStreaming="False"
35             NumberOfEncoderThreads="0">
36             <Streams
37               AutoSize="False"
38               FreezeSort="False">
39               <StreamInfo>
40                 <Bitrate>
41                   <ConstantBitrate
42                     Bitrate="4000"
43                     IsTwoPass="False"
44                     BufferWindow="00:00:04" />
45                 </Bitrate>
46               </StreamInfo>
47             </Streams>
48           </BaselineH264VideoProfile>
49         </VideoProfile>
50         <AudioProfile>
51           <AacAudioProfile
52             Level="AacLC"
53             Codec="AAC"
54             Channels="2"
55             BitsPerSample="16"
56             SamplesPerSecond="44100">
57             <Bitrate>
58               <ConstantBitrate
59                 Bitrate="160"
60                 IsTwoPass="False"
61                 BufferWindow="00:00:00" />
62             </Bitrate>
63           </AacAudioProfile>
64         </AudioProfile>
65       </MP4OutputFormat>
66     </OutputFormat>
67   </MediaFile>
68 </Preset>

You can quickly check whether it works for you by using the RunTask command line, part of the MediaServicesCommandLineTools project. The H264_BaselineProfile.xml is provided for reference in the etc folder of the project. You can tweak and Audio and Video bitrates at your will by editing the XML.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Owner with 51-200 employees
Vendor
Bending the Azure Media Services – clip or trim your media files

Disclaimer: What I will describe here is not officially supported by Microsoft and by Windows Azure Media Services. This means that if task fails you cannot open support ticket, nor you can complain. I discovered these hidden feature by digging deeply into the platform. Use the code and task preset at your own risk and responsibility. And note that what works now, may not work tomorrow.

So, we have Windows Azure Media Services, which can transcode (convert from one video/audio format to another), package and deliver content. How about more advanced operations, such as clipping or trimming. I want, let’s say to cut off first 10 seconds of my video. And the last 5 seconds. Can I do it with Windows Azure Media Services ? Yes I can, today (5 April 2013).

The easiest way to start with Media Services is by using the MediaServicesCommandLineTools project from GitHub. It has very neat program – RunTask. It expects two parameters: partial (last N characters) Asset Id and path to task preset. It will then display a list of available Media Processors to execute the task with. You chose the Media Processor and you are done!

So what task preset is for Clipping or Trimming? You will not find that type of task on the list of Task Presets for Azure Media Services. But you will find a couple of interesting task presets in the MediaServicesCommandLineTools project under the etc folder. Lets take look at the Clips.xml:

01 <?xml version="1.0" encoding="utf-16"?>
02 <!--Created with Expression Encoder version 4.0.4276.0-->
03 <Preset
04   Version="4.0">
05   <Job />
06   <MediaFile>
07     <Sources>
08       <Source
09         AudioStreamIndex="0">
10         <Clips>
11           <Clip
12             StartTime="00:00:04"
13             EndTime="00:00:10" />
14         </Clips>
15       </Source>
16     </Sources>
17   </MediaFile>
18 </Preset>

It is a very simple XML file with two attribute values that are interesting for us. Namely StartTime and EndTime. These attributes define points in time where to start clipping and there to end it. With the given settings (StartTime: 00:00:04, EndTime: 00:00:10) the result media asset will be a video clip with length of 6 seconds which starts at the 4th second of the original clip and ends at the 10th second of the original.


As can also see, I haven’t removed an important comment in the XML – "Created with Expression Encoder version 4.0.4276.0". Yes, I used Expression Encoder 4 Pro to create a custom job preset. You can try that too!

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Owner with 51-200 employees
Vendor
A journey with Windows Azure Media Services–Smooth Streaming, HLS

Back in January Scott Gu announced the official release of Windows Azure Media Services. It is amazing platform that was out in the wild (as a CTP, or Community Technology Preview) for less then an year. Before it was RTW, I created a small project to demo out its functionality. The source code is public on GitHub and the live site is public on Azure Web Sites. I actually linked my GitHub repo with the Website on Azure so that every time I push to the Master branch, I got a new deployment on the WebSite. Pretty neat!

At its current state Windows Azure Media Services  does support the VOD (or Video On Demand) scenario only. Meaning that you can upload your content (also known as ingest), convert it into various formats, and deliver to audience on demand. What you cannot currently do is publish Live Streaming – i.e. from your Web Cam, or from your Studio.

This blog post will provide no direct code samples. Rather then code samples, my aim is to outline the valid workflows for achieving different goals. For code samples you can take a look at the official getting started guide, my code with web project, or the MediaServicesCommandLineTools project on GitHub, which I also contribute to.

With the current proposition from Azure Media Services you can encode your media assets into ISO-MP4 / H.264 (AVC) video with AAC-LC Audio, Smooth Streaming format to deliver greatest experience to your users, or even to Apple HTTP Live Streaming format (or just HLS). Everything from the comfort of your chair at home or in the office. Without the big overspend in expensive hardware. Getting the results however may be tricky sometime, and the platform does not help you with very detailed error messages (which I hope will change in the very near future).

You can achieve different tasks (goals) in different ways sometime. Windows Azure Media Services currently works with 4 Media Processors:

  • Windows Azure Media Encryptor
  • Windows Azure Media Encoder
  • Windows Azure Media Packager
  • Storage Decryption

When you want to complete some task you always provide a task preset and a media processor which will complete the given task. It is really important to pay attention to this detail, because giving a task preset to the wrong processor will end up in error and task failure.

So, how to get (create/encode to) a Smooth Streaming Content?

Given we have an MP4 video source - H.264 (AVC) Video Codec + AAC-LC Audio Codec. The best will be if we have multiple MP4 files representing same content but with different bitrates. Now we can use the Windows Azure Media Packager and the MP4 To Smooth Streams task preset.

If we don’t have MP4 source, but we have any other supported import format (unfortunately MOV is not a supported format), we can use Windows Azure Media Encoder to transcode our media into either an MP4 (H.264) single file, or directly into Smooth Streaming Source. Here is a full list of a short-named task presets that can be used with Windows Azure Media Encoder. To directly create a Smooth Streaming asset, we can use any of the VC1 Smooth Streaming XXX task presets, or any of the H264 Smooth Streaming XXX task presets. That will generate a Smooth Streaming asset encoded with either VC-1 Video profile, or H.264(AVC) Video Codec.

OK, how about Apple HTTP Live Streaming (or HLS)?

Well, Apple HLS is similar to Smooth Streaming. However, there is a small detail, it only supports H.264 Video codec! The most standard way of creating Apple HLS asset is by using Windows Azure Media Packager and the XML task preset for “Convert Smooth Streams to Apple HTTP Live Streams”. Please take a note on the media processor – it is the Windows Azure Media Packager. This also will accept an input asset to be valid Smooth Streaming Asset encoded with H.264 (AVC) video codec! Do not forget that you could have created Smooth Streams with VC-1 Video Profile codec, which are totally valid and running Smooth Streams, but they will fail to convert to Apple HTTP Live Streams.

Hm, can’t we get all-in-one?

I mean, can’t I have a single media asset and deliver either Apple HTTP Live Streams or Smooth Streams, depending on my client? Sure we can. However this is CPU intensive process. It is called “dynamic packaging”. The source must be a multi-bitrate MP4 asset. This one consists of multiple MP4 files of same content with different bitrates. And it requires an on-demand streaming reserved units from Media Services. You can read more about dynamic packaging here.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Owner with 51-200 employees
Vendor
Windows Azure basics (part 1 of n)

We live in dynamic times. Buzzwords such as cloud computing, elastic scale, reliability and their synonyms are taking more and more space in our daily life. People (developers) want to move to the cloud. They are often confused by all the new terms. In this part 1 of [we-will-see-at-the-end-how-many] articles I will try to explain with non-geeky words the Windows Azure terms.

First of all, what is Cloud Computing before all? This is when Computing power (namely CPU, RAM, Storage, Networking) is delivered as a service via a network (usually internet), and not as a product (a server that we buy).

Cloud computing is a marketing term for technologies that provide computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services. A parallel to this concept can be drawn with the electricity grid, wherein end-users consume power without needing to understand the component devices or infrastructure required to provide the service.

So what is Windows Azure? Is it the new server operating system from Microsoft? Is it the new hosting solution? Is it the new workstation OS? Well, Windows Azure is the Microsoft’s Cloud Computing platform. It delivers various cloud services. Compute, Database, Storage, CDN, Caching, Access Control to name few.

Next part of the article will be focusing on Windows Azure Compute services.

Windows Azure Guest OS? When we talk about cloud computing, inevitably we talk about virtualization. Virtualization at very big degree. And when we talk about virtualization, we have a Host OS and Guest OS. When we talk about Windows Azure OS, we talk about Windows Azure Guest OS. This is the operating system that is installed on the Virtual Machines that run in the cloud. Windows Azure Guest OS has 2 families – OS Family 1 and OS Family 2. Windows Azure Guest OS Family 1 is based on Windows Server 2008 SP 1 x64, and Family 2 is based on Windows Server 2008 R2. All and any guest OS is 64 bits. You can get the full list of Windows Azure Guest OS here.

Windows Azure Cloud Service, or Hosted Service. The Hosted Service is the essence of your Cloud application:

A hosted service in Windows Azure consists of an application that is designed to run in the hosted service and XML configuration files that define how the hosted service should run

A hosted service can have one or more Roles.

Now it comes to the Roles. Our cloud application can be a Web Based application, or a background processing application, or some legacy application which is hard to migrate. Or mix of the three. In order to make things easy for developers, Microsoft has defined 3 distinguished types of “Roles” – Web Role, Worker Role and VM Role. You can read a bit more for the “Role”s here. But the main idea is that a Role defines an application living environment. The Role contains all the code that our application consists of. It defines the environment where our application will live – how many CPUs will be installed; the amount of RAM installed; volume of local storages; will it be a full IIS or a background worker; will it be Windows Azure Guest OS 1.x or 2.x; will it has open ports for communication with outer world (i.e. tcp port 80 for Web Role); will it has some internal TCP ports open for internal communication between roles; what certificates will the environment has; environment variables; etc.

The Role is like a template for our cloud application. When we configure our Cloud Service (or Azure Hosted Service), we set the number of instances involved for each Role.

Instance is a single Virtual Machine (VM), which has all the properties defined by the Role and has our application code deployed. When I mentioned that the Role defines the number of CPUs, RAM, local storage, I was referring the configuration for each VM where our code will be deployed. There are couple (5) of predefined VM configuration which we can use:

Virtual Machine Size CPU Cores Memory Cost Per Hour
Extra Small Shared 768 MB $0.04
Small 1 1.75 GB $0.12
Medium 2 3.5 GB $0.24
Large 4 7 GB $0.48
Extra Large 8 14 GB $0.96

More information on Virtual Machine sizes can be found here.

And here comes the beauty of the Cloud. We code once. We set the overall parameters once. And we deploy once! If it comes that we need more servers – we just set the number of instances for our role. We do it live. There is no downtime. Windows Azure automatically will launch as many VMs as we requested. Will configure them for our application and will deploy our code in each and every one of them and will finally join them to the cluster of our highly available and reliable cloud application. When we don’t need (let’s say) 10 servers anymore, then we can easily instruct Windows Azure that we only need 2 from now on and that’s it. The cloud will automatically shutdown 8 servers and remove them, so we won’t be paying any more extra money.

It is important to note, though, that the Role defines the size of the VM for all the Instances of it. We cannot have instances of same Role but different VM size. This is by design. If we defined our Role to use Extra Large VM, then all the instances we have will be running on that size of VM.

Key takeaways

I hope that this article helped you understand couple of basic terms about Windows Azure. You shall be able to confidently answer the following questions:

  • What is Windows Azure ?
  • What is Windows Azure Hosted Service (or just Hosted Service)?
  • What is a Role?
  • What is a Role Instance (or just Instance)?
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros sharing their opinions.
Updated: April 2024
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros sharing their opinions.