PeerSpot user
Owner with 51-200 employees
Vendor
Windows Azure Basics (part 2 of n)–networking
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–Compute Emulator

Following the first two posts of the series “Windows Azure Basics” (general terms, networking) here comes another one. Interestingly enough, I find that a lot of people are confused what exactly is the compute emulator and what are these strange IP Addresses and port numbers that we see in the browser when launching a local deployment.

If you haven’t read the Windows Azure Basics – part 2 Networking, I strongly advise you to do so, as rest of current post assumes you are well familiar with real Azure deployment networking components.

A real world Windows Azure deployment has following important components:

  • Public facing IP Address (VIP)
  • Load Balancer (LB) with Round Robin routing algorithm
  • Number of Virtual Machines (VM) representing each instance of each role, each with its own internal IP address (DIP – Direct IP Address)
  • Open ports on the VIP
  • Open ports on each VM

In order to provide developers with as close to real world as possible, a compute emulator needs to simulate all of these components. So let's take a look what happens when we launch locally a Cloud Service (a.k.a. Hosted Service).

VIP Address

The VIP address for our cloud service will be 127.0.0.1. That is the public IP Address (VIP) of the service, via which all requests to the service shall be routed.

Load Balancer

Next thing to simulate is the Azure Load Balancer. There is a small software emulated Load Balancer, part of the Compute Emulator. You will not see it, you are not able to configure it, but you must be aware of its presence.  It binds to the VIP (127.0.0.1). Now the trickiest thing is to find the appropriate ports to bind. You can configure different Endpoint for each of your roles. Only the Input Endpoints are exposed to the world, so only these will be bound to the local VIP (127.0.0.1). If you have a web role, the default web port is 80. However, very often this socket (127.0.0.1:80) is already occupied on a typical web development machine. So, the compute emulator tries to bind to the next available port, which is 81. In most of the cases port 81 will be free, so the "public" address for viewing/debugging will be https://127.0.0.1:81/. If port 81 is also occupied, compute emulator will try the next one – 82, and so on, until it successfully binds to the socket (127.0.0.1:XX). So when we launch a cloud service project with a web role we will very often see browser opening this wired address (https://127.0.0.1:81). The process is same for all Input Endpoints of the cloud service. Remember, the Input endpoints are unique per service, so an Input Endpoint cannot be shared by more than one Role within the same cloud service.

Now that we have the load balancer launched and bound to the correct sockets, let's see how the Compute Emulator emulated multiple instances of a Role.

Web Role

Web Roles are web applications that run within IIS. For the web roles, compute emulator uses IIS Express (and can be configured to use full IIS if it is installed on the developer machine).  Compute Emulator will create a dedicated virtual IP Address on the local machine for each instance of a role. These are the DIPs of the web role. A local DIP looks something like 127.255.0.0. Each local "instance" then gets the next IP address (i.e. 127.255.0.0, 127.255.0.1, 127.255.0.2 and so on). It is interesting that the IP Addresses begin at 0 (127.255.0.0). Then it will create a separate web site in IIS Express (local IIS) binding it to the created Virtual IP Address and port 82. The emulated load balancer will then use round robin to route all requests coming to 127.0.0.1:81 to these virtual IP Addresses.

Note: You will not see the DIP virtual address when you run ipconfig command.

Here is how does my IIS Express look like when I have my cloud service launched locally:

Worker role

This one is easier. The DIP Addressing is the same, however the compute emulator does not need IIS (neither IIS Express). It just launches the worker role code in separate processes, one for each instance of the worker role.

The emulator UI

When you launch a local deployment, Compute Emulator and Storage Emulator are launched. You can bring the Compute Emulator UI by right clicking on the small azure colored windows icon in the tray area:

For purpose of this post I've created a sample Cloud Service with a Web Role (2 instances) and a Worker Role (3 instances). Here is the Compute Emulator UI for my service. And if I click on "Service Details" I will see the "public" addresses for my service:

Known issues

One very common issue is the so-called port walking. As I already described, the compute emulator tries to bind to the requested port. If that port isn't available, it tries next one and so on. This behavior is known as "port walking". Under certain conditions we may see port walking even between consequent runs of same service – i.e. the first run compute emulator binds to 127.0.0.1:81, the next run it binds to 127.0.0.1:82. The reasons vary, but the obvious one is "port is busy by another process". Sometimes the Windows OS does not free up the port fast enough, so port 81 seems busy to the compute emulator. It then goes for the next port. So, don't be surprised, if you see different ports when debugging your cloud service. It is normal.

Another issue is that sometimes browser launches the DIP Address (https://127.255.0.X:82/) instead the VIP one (https://127.0.0.1:81/). I haven't been able to find a pattern for that behavior, but if you see a DIP when you debug your web roles, switch manually to the VIP. It is important to always use our service via the VIP address, because this way we also test out application cloud readiness (distributing calls amongst all instances, instead of just one). If the problem persists, try restarting Visual Studio, Compute Emulator or the computer itself. If issue still persists, open a question at StackOverflow or the MSDN Forum describing the exact configuration you have, ideally providing a Visual Studio solution that constantly reproduces the problem. I will also be interested to see the constant repeatable issue.

Tip for the post: If you want to change the development VIP address ranges (so that it does not use 127.0.0.1) you can check out the following file:

%ProgramFiles%\Microsoft SDKs\Windows Azure\Emulator\devfabric\DevFC.exe.config

DevFC stands for "Development Fabric Controller". But, please be careful with what you do with this file. Always make a backup of the original configuration before you change any setting!

Happy Azure coding!

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.
768,740 professionals have used our research since 2012.
Senior Services Architect at a tech services company with 10,001+ employees
Real User
Highly scalable, reliable, Missing the competitive edge
Pros and Cons
  • "The design of Microsoft Azure is for it to be scalable and it is scalable."
  • "When we work with Microsoft Azure we deploy it in a hybrid system. We do many operations with the open stack and I used it for APIs connected to Microsoft Azure. The reduction is because those APIs and our tools that are required to connect are not for the Microsft Azure solution. It has a bit of complexity, nothing to do with Microsoft Azure as a CSP."

What is our primary use case?

Most of our Customers do not want to have a single Cloud Service Provider (CSP) and have been adopting a Multi Cloud or a Hybrid Cloud scenario. We have addressed client requirements and have adopted CSP depending on the use case. We have worked with Azure and have provided niche solution such as Government Commercial Cloud, Healthcare Cloud etc.

What needs improvement?

We have deployed multiple solutions into Microsoft Azure. In most of the cases we augment our Application monitoring "in-house" developed tool to monitor things like garbage collection, IIS queuing. If these attributes and parameters could be included as part of the Azure Monitor it would be great.

For how long have I used the solution?

Using Microsoft Azure for approximately three years.

What do I think about the stability of the solution?

Microsoft Azure is a stable solution.

What do I think about the scalability of the solution?

The design of Microsoft Azure is for it to be scalable and it is scalable.

How are customer service and support?

I have not contacted the support from Microsoft Azure. We support the solution ourselves. We have Azure architect experts who are on our payroll. We have experience since we have been working on the stack for almost two and a half years.

How would you rate customer service and support?

Neutral

Which solution did I use previously and why did I switch?

We use all different types of CSP, such as Amazon AWS and Google Cloud.

How was the initial setup?

The initial setup of Microsoft Azure is complex.

I rate the initial setup of Microsoft Azure a four out of five.

Which other solutions did I evaluate?

Yes. We have a in-house Cloud CoE, that ensures the changes introduced by CSPs i.e. update on the new services that are provisioned as well as the periodic commercials impacts for the Services being consumed across all CSPs - Amazon AWS and Google Cloud

What other advice do I have?

All the cloud service providers(CSP) are more or less have the same services. The use case for the cloud would need the sustainment of tiering storage. We don't see a big discrepancy when it comes to Microsoft Azure, but there are pros and cons.

I rate Microsoft Azure a seven out of ten.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: My company has a business relationship with this vendor other than being a customer: Implementer
PeerSpot user
Santiago Ochoa - PeerSpot reviewer
Consultant at Open Source & Cloud Advisory Services Architect IBM
MSP
Top 20
Good storage and elasticity with reasonable pricing on offer
Pros and Cons
  • "The pricing is quite good, and it is designed as pay-per-use."
  • "Maybe Microsoft could improve its monitoring around the networking."

What is our primary use case?

I use Microsoft Azure for different clients. I have different workloads or different architecture in Azure.

The most common use case is for migrations from on-premise to cloud. The principal solution is for a virtual machine, storage, and networking. 

What is most valuable?

The principal features that I use include computing, networking, and storage.

The elasticity within the cloud is great for clients to complete their pre-determined goals.

The cost is pretty good. They have a pay-per-use way of dealing with licensing that is very attractive. Migrating to the cloud becomes very attractive due to this.

The solution can scale.

Stability has been good.

What needs improvement?

Maybe Microsoft could improve its monitoring around the networking.

Clarity on the cost of the things could be better in some cases. For example, it's difficult to do a report with the cost of the things in Azure. Their calculator to estimate the cost needs to improve in terms of the estimation they provide.

For how long have I used the solution?

I have five years of experience with this product.

What do I think about the stability of the solution?

There are some products that have good stability and virtual machines - depending on your setup and configuration - are very good. With Microsoft Azure, it's very rare that I even have a problem with it. In any solution, there's always some form of issue, however, with this, it's less common.

What do I think about the scalability of the solution?

I've found the scalability to be quite good. 

I have worked with clients that have 300 users or more, however, sometimes with a smaller client they will have maybe 60 or 100 users.

How are customer service and support?

Technical support is very good, however, it depends on the problem. There are some problems that originate with the client itself that Microsoft, naturally, couldn't necessarily resolve due to the origin of the problem. However, in general, I haven't had any problems with the support with Microsoft. They are helpful and responsive. 

How was the initial setup?

Whether the initial setup is straightforward or complex depends on the client. There are some products that are more complex to set up. However, for me, it's easy to deploy different features or different products. It's easier compared to on-premise deployments.

Deployments can be two to three months for an enterprise.

For maintenance, you need a good team with good skills in Microsoft Azure, especially in the cloud due to the fact that it's a bit different. Things are different in the cloud compared with on-premise. 

What about the implementation team?

I am able to deploy the solution for clients. 

I work with a team in my company. When, for example, we need help or support from Microsoft, we have a contact with the architect of this provider to resolve some issue or some problem that we have in the cloud.

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

The pricing is quite good, and it is designed as pay-per-use.

What other advice do I have?

We are partners with Microsoft.

I am an architect, cloud architect, and I work in design solutions and implementing solutions in the cloud.

I'd rate the product at an eight out of ten.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Independent consultant
Consultant
The license is reasonable, and the packages are competitive
Pros and Cons
  • "Azure services like EDM and Batch are all famous, but one of the most popular services for development is Azure Functions, especially the PaaS option. Depending on a customer's environment, they can go for the PaaS."
  • "The management portal can be confusing sometimes. We have difficulty navigating the menus because the terminology is unclear, especially when referring to the content or actionable items."

What is our primary use case?

Most workloads can be migrated to Azure. For example, say a small business wants to have a website or even do development. 

What is most valuable?

Azure services like EDM and Batch are all famous, but one of the most popular services for development is Azure Functions, especially the PaaS option. Depending on a customer's environment, they can go for the PaaS.

What needs improvement?

The management portal can be confusing sometimes. We have difficulty navigating the menus because the terminology is unclear, especially when referring to the content or actionable items. 

For how long have I used the solution?

I've been working as an Azure trainer for about a year and a half. In my last job, I was working with on-premises solutions, but the whole industry is transitioning to the cloud, so Azure, AWS, Google, and many other cloud providers are trying to get a market share now.  

What do I think about the scalability of the solution?

I don't have any issues with scalability or stability. We moved migrated from our physical infrastructure earlier, and we haven't seen any problems. It's more about the organization getting comfortable with the solution. That's the only thing.

How was the initial setup?

Azure setup is straightforward. There is no comparison to on-premises deployment because it's all automated. It's very fast, but I can't compare the speed to other vendors because I've never deployed AWS or Google.

Which other solutions did I evaluate?

AWS is good, but Azure's license is reasonably priced, and Microsoft is gaining market share with a competitive package overall. Moreover, Microsoft is well ahead of AWS in terms of ease of use and billing, so I think I still love Microsoft. Obviously, both have a market, but customers working on development projects or using Microsoft products often go for Azure because of the license benefits and product support. 

What other advice do I have?

I rate Microsoft Azure eight out of 10.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
IT Systems Administrator at a transportation company with 51-200 employees
Real User
Stable, knowledgeable support, but the support subscription model needs improvement
Pros and Cons
  • "Being cloud-based saves the provisioning aspect of an on-premises solution."
  • "The support subscription models need improvement."

What is our primary use case?

We use Microsoft Azure for our IDB. That is our primary use, but we also have a certain degree of MDM through Microsoft.

What is most valuable?

It does what it is supposed to do, and what we expected of it. That's the key benefit. Being cloud-based saves the provisioning aspect of an on-premises solution.

What needs improvement?

The support subscription models need improvement.

For how long have I used the solution?

I have been using Microsoft Azure for a couple of years.

We are using the latest version.

What do I think about the stability of the solution?

Microsoft Azure is a stable solution.

What do I think about the scalability of the solution?

As far as we have expanded it, it is scalable. It's a startup company, we haven't scaled it to a significant number of people yet.

We have between 100 and 150 people in our organization who use Microsoft Azure.

I don't think that we will expand our usage at the moment.

How are customer service and technical support?

I have contacted technical support on one occasion. My biggest issue with the technical support of Microsoft is when we had an issue that was product-related and it was difficult to get support on the subscription level we were on. In order to try to get support, we were told that we needed to upgrade. It was quite frustrating that an issue with their product required an upgrade to get serviced when it was a failure that they were responsible for.

It's not a question of knowledge, the knowledge was there. Access to that knowledge and the subscription model they were trying to put in place was the issue.

Which solution did I use previously and why did I switch?

I used to work for Oracle. My previous experience was with Oracle Enterprise Manager.

How was the initial setup?

I wasn't present or involved at the time of installation. I came along later. I started with the company after that.

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

Licensing fees are paid monthly.

What other advice do I have?

We are currently in the process of deploying Zabbix to cover our monitoring needs. We have used other monitoring products which come with certain components.

From my point of view, it would depend on the type of solution and everything they were trying to encompass. In our case, it made sense to go with Azure. I think that for other companies, I would recommend that it's a good solution, but that depends on what problem you are trying to solve. It also depends on what infrastructure is already in place, and whether you want to have a lot of disparate systems communicating, or whether you want to consolidate that to a specific vendor. But for the purposes of what we needed Azure to do, it does the job. However, we don't use all of the MS Apps functionality.

It does the job, but it doesn't wow me. I am pretty happy with it. I don't get overly excited about it, but I am not disappointed with it. I would rate Microsoft Azure a six out of ten.

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
IT Consultant at Hostlink IT Solutions
Real User
Highly stable, scalable, and good technical support
Pros and Cons
  • "The technical support has been good."

    What is our primary use case?

    In my country, many organizations want to migrate their operations to the cloud. This is why we are using Microsoft Azure.

    For how long have I used the solution?

    I have been using this solution for approximately one year.

    What do I think about the stability of the solution?

    The solution is stable.

    What do I think about the scalability of the solution?

    Microsoft Azure is scalable in my experience.

    Approximately 1,000 use this solution.

    How are customer service and technical support?

    The technical support has been good.

    Which solution did I use previously and why did I switch?

    We also have customers using AWS.

    How was the initial setup?

    The installation is easy.

    What about the implementation team?

    We did the implementation of the solution.

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

    The pricing of the solution could be reduced. We are not able to create a free account in my country.

    What other advice do I have?

    I recommend this solution to others.

    I rate Microsoft Azure a ten out of ten.

    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
    IT Project Manager, Senior Java Developer at a financial services firm with 1,001-5,000 employees
    Real User
    A very user friendly interface, easy access, and great features
    Pros and Cons
    • "Great features at a good price."
    • "Performance could be improved."

    What is our primary use case?

    I am a customer of Microsoft Azure and this solution is for my personal use. 

    What is most valuable?

    Compared to other solutions, I find Azure to be the best organized in terms of user interface, access, and features. The Google cloud platform is very awkward, access is not easy and it's difficult to see the prerequisites for your needs. With Microsoft, everything is easily accessible, you see all the preconditions, all the requirements with great monitoring, and at a good price. They do a lot of promotions so I was able to get the Azure subscription with my Visual Studio subscription. 

    What needs improvement?

    It's possible that the performance could be improved, but it's not a big issue. 

    For how long have I used the solution?

    I've been using this solution for two years. 

    How are customer service and technical support?

    I haven't had experience with Microsoft's technical support because they offer good insights in the platform itself.

    What other advice do I have?

    I would recommend this product. 

    I rate this solution a nine out of 10. 

    Which deployment model are you using for this solution?

    Public Cloud

    If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

    Microsoft Azure
    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.