Try our new research platform with insights from 80,000+ expert users
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
Rafael Veloso - PeerSpot reviewer
Consultant at SoftwareONE
Vendor
Top 20
Useful services, highly scalable, and easy to implement
Pros and Cons
  • "Microsoft Azure has a lot of useful features. They have databases, application services, PaaS solutions, such as platform and infrastructure services. The virtual machines' functions and services are good."
  • "Microsoft Azure can improve by adding more features for virtual machines, such as tier virtual machines."

What is our primary use case?

I have worked in a consultant company and we have customers who migrate their services to the cloud and to modern applications and services using Microsoft Azure.

What is most valuable?

Microsoft Azure has a lot of useful features. They have databases, application services, PaaS solutions, such as platform and infrastructure services. The virtual machines' functions and services are good.

What needs improvement?

Microsoft Azure can improve by adding more features for virtual machines, such as tier virtual machines.

In an upcoming release, I would like to see more information, features, and warehouse information on data.

For how long have I used the solution?

I have been using Microsoft Azure for approximately five years.

What do I think about the stability of the solution?

Microsoft Azure is highly stable. However, Microsoft could improve the availability of the services by creating availability zones that are services working active-active in different positions around the globe. If any of these positions fall down, then another position will deliver the solution. This way there is no loss of service or loss to the business.

What do I think about the scalability of the solution?

Microsoft Azure has a lot of features for scalability. You could increase the scalability of any service, such as databases storage or virtual machines. 

How are customer service and support?

Microsoft Azure technical support is not the best, they could improve the knowledge of their team and solve problems faster.

How was the initial setup?

The solution can be easy to implement. You could start easily, there are some services that have simple steps, and you could speed up the entire process. However, there are some more difficult deployments in more complicated architectures. You could start easily in the solution and then you can improve your skills.

What other advice do I have?

My advice to those thinking about using Microsoft Azure is to try it, it's a great service. It's a great opportunity to improve your career because there are a lot of challenges. I would recommend using the documentation and the information from the YouTube channels. There is a lot of documentation and data about Microsoft Azure available.

I rate Microsoft Azure a nine out of ten.

Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
PeerSpot user
Buyer's Guide
Microsoft Azure
November 2024
Learn what your peers think about Microsoft Azure. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
816,406 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
reviewer1753023 - PeerSpot reviewer
Independent consultant
Real User
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
reviewer1630506 - PeerSpot reviewer
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
Sr. Systems Engineer / Tech Logic Consultant. at a non-tech company with self employed
Real User
Feature-rich, good update management, stable, and easy to install
Pros and Cons
  • "The most valuable features of this solution are the Access Management and the PIN modules."
  • "Because it has a lot of features, a person just coming into Microsoft Azure might feel that it is a bit complex."

What is our primary use case?

We use Microsoft Azure to patch our servers. We are also using it for creating and access management.

How has it helped my organization?

We have several benefits in having Azure on board. If you are Microsoft-centric, you get gold certificate partnerships. Furthermore, if you elect MSP, you have MSP certification, which allows you to have more customers on board.

What is most valuable?

The most valuable features of this solution are the Access Management and the PIN modules. They are very good features.

Update management is also very good, for both on-premises and for cloud services.

Microsoft Azure is a very good product. For my requirements, it works fine.

It's user-friendly, and the reporting is good.

What needs improvement?

Because it has a lot of features, a person just coming into Microsoft Azure might feel that it is a bit complex. Once you are familiarized with it, they will find that it is organized in a structured way.

It's a bit clunky at first.

For how long have I used the solution?

I have been using Microsoft Azure for two yes, but I would not say that my experience is at the expert level.

We are using the latest version.

What do I think about the stability of the solution?

Microsoft Azure is a stable product.

What do I think about the scalability of the solution?

It is very scalable.

How are customer service and technical support?

I have not contacted technical support. 

There is a lot of documentation available online.

How was the initial setup?

The initial setup was straightforward.

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

It's a pay-as-you-go subscription.

What other advice do I have?

Overall, I would recommend Azure to anyone who is interested in using it.

I would rate Microsoft Azure a nine out of ten.

Which deployment model are you using for this solution?

Hybrid Cloud
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
PeerSpot user
reviewer1328976 - PeerSpot reviewer
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.

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 technical 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
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros sharing their opinions.
Updated: November 2024
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros sharing their opinions.