Is Windows Azure a multitenant operating system? - azure

I am trying to understand what is the difference between Windows Azure and other competitors, in the technical level.
From what I understand Azure is a multitenant OS, meaning, that every application is running in some kind of a sandbox based on Hyper-V.
In other words, every application being loaded is running by Azure in its closed sandbox.
Meaning, the operating system is "real", but the application is running in a virtual environment.
That is opposed to, lets say, Amazon EC2, where they give you a virtual machine, with a full virtual operating system (a virtual computer).
Am I right, or have I got it totally wrong?

With respect to multi-tenancy and dedication of an instance to one tenant, both Azure and Amazon EC2 are exactly alike. Both dedicate a VM to you as a compute instance.
Difference between EC2 and Azure (currently) is that Amazon provides you a real VM with an OS and an ability and a REQUIREMENT to manage the OS as well as anything installed on that OS.
Azure takes away some of the "ABILITY" power away from you (currently you don't get to manipulate the OS) while at the same time taking maintenance as well.
In my mind, unless you have some special requirements that require a full access to the OS (and upcoming Azure release will let you actually install stuff on your instances like legacy COM components, etc) I would stick with Azure as it has a less of an administrative cost.

Windows Azure gives you VMs running Windows, just like Amazon EC2 does.

No. In Azure you get a VMs as well (one per role instance). They are just more abstracted from you, than Amazon or Rackspace.

You get different VMs in Azure as well. What happens in Amazon EC2 for instance is that the abstraction ends at the hardware level. Everything above the virtual machines, ie the operating system updates, the application frameworks, the web server, etc; everything needs to be managed by you.
With Azure, the abstraction is taken far above just the hardware level and to an entire application framework level. For instance Web roles are nothing but VMs, preloaded with IIS and .net framework (and other application frameworks) tuned to serve web traffic. You are able to just deploy your application and all the other configurations are handled for you, but underneath it, it is still a VM.

Related

Need clarification about IaaS - Infrastructure as a Service

I am totally new to Cloud Computing. I started learning Cloud computing basics.
I started with Infrastructure as Service and I didnt understand it fully
Please help me with the below questions
1) Does IaaS included the Operating System like (linux or Windows)
2) There are some online article says IaaS includes(network+Storage+servers+Virtualization)
3) In the above 2nd ponint..what is Virtualization..does it mean installing required number of Virtual Machines (VMs) on top of Hypervisor?
4)If the point 3 is true how the VMs are installed without OS
Please help
1) Does IaaS included the Operating System like (linux or Windows)
Infrastructure as a service (IaaS) typically is a cloud offering that grants a user full control over the operating system of a virtual machine (Linux or Windows). There may be some small overlap of traditional adminstrative controls of the VM and services that are provided by the cloud provider; for example, Azure allows you to configure automatic updates on a Windows VM during deployment.
2) There are some online article says IaaS includes(network+Storage+servers+Virtualization)
IaaS is a holistic offering of network, storage and compute where the underlying infrastructure is managed by the cloud provider, but the customer interacts with these elements through software. For example, Azure provides access to a VM running on Hyper-V, networking through Software Defined Networking, and storage through virtual disks. These abstractions grant the customer a high level of control over the resources they purchase without giving them direct hardware level access to the underlying hosting infrastructure.
3) In the above 2nd ponint..what is Virtualization..does it mean installing required number of Virtual Machines (VMs) on top of Hypervisor?
Yes, virtualization is the offering of virtual machines on top of a cloud provider managed hypervisor. You will commonly not have access to the hypervisor in most cloud provider platforms.
4)If the point 3 is true how the VMs are installed without OS
An OS is required in most IaaS platforms, as this is what you are paying for, rather than a blank virtual machine you configure from scratch. That being said, you can bring you own pre-configured OS disk or deploy from a Marketplace of operating system images. For example, Azure provides many versions of Windows, Ubuntu, CentOS, RHEL, etc. from their own repository that allow you to quickly provision a VM and start building your workload.
Great links:
- https://azure.microsoft.com/en-us/overview/what-is-iaas/
- https://gallery.technet.microsoft.com/Shared-Responsibilities-81d0ff91

Intsalling two servers on an Azure virtual machine

Can we install 2-3 windows servers on a single Azure virtual machine? Or, can we only install one operating system on a single virtual machine?
I would encourage you to look at Azure Websites. Azure Websites provides "slots" that can be configured as dev/test/staging/production very easily and you can run your entire environment on a single VM or multiple VM's (exactly what you were asking for). Websites also provides excellent publishing capabilities, whether directly from Visual Studio, TFS, Git or whatever.
Websites supports scheduled or auto-scaling, custom domains, SSL, scheduled backups (including the database) and if you need Worker Role (back-end processing) capabilities, WebJobs are built in and are easy to use.
Definitely worth checking out. It is extremely rare that I use VM's to host anything anymore. Azure Websites pretty nearly can handle anything.
Hope that helps.

Allow localhost endpoint in different Azure hosting options

I use a small webserver for inter-process-communication between .NET and and an executable process on the same machine, i.e. a POST request to http://localhost:3000/
This works fine on my local machine when I allow the process with Windows Firewall.
Having tried the same on Azure Websites, I get an error (kind of expected).
Now my question is, which of the other services allows me to open a port and listen locally? All of them? (VM, Workers, Web Roles)
Thanks
When you want to open a PORT (socket) you can use either of VM, Web Role or Worker Role. You just have to be aware of the specifics of each. Just quick tip for differences:
VM is a IaaS Service (Infrastructure-as-a-Service) - this is where you get a VM with OS and you take care of the OS from then on - updates, patches, everything
Web/Worker Roles are PaaS Service (Platform-as-a-Service) - here you get (a fully customizable) environment under Windows OS to run your code. However about OS and Framework patches and updates someone else is taking care of.
One very good article explaining IaaS, PaaS, SaaS is Pizza-as-a-Service. Which I recommend reading.
Then for your concrete scenario, I would advice you to go for a WebRole. You can combine WebRole with worker processes. Here is a quick tip on how to do this.
But, whenever you go for the cloud, be sure to check out the Azure migration cheat-sheet.

Choosing shared Linux AMI machine image for AWS

I know next to nothing about server management and just got started with Amazon Web Services.
I want to deploy a Linux server which runs Apache, MySQL, phpMyAdmin as well as email capabilities (account mgmt and webmail interface) and backup capabilities. I want to administer the server with a nice web user interface like cPanel, doing things like file management, email account management, access to phpMyAdmin.
Therefore I thought about deploying a shared Linux AMI, instead of building and configuring the server myself. I want to make my life easy, that is, deploying something pre-existing which is easy to manage (web user interface) since I haven't got time to learn all about server management right now.
I found this list of images. Which one of these would fit my requirements?
This is an inappropriate use case for EC2. As Amazons CTO Werner Vogels said a few months ago "an EC2 instance is not a server, it's a building block." EC2 is used to provide computing resources to an application that spans multiple, loosely-coupled services. It's not a drop in replacement for a standard VPS.
That's not to say that a lot of people aren't using EC2 instances as servers. However, these are often the same people who bitterly complain about excessive downtime on AWS without realizing that it's mostly their own fault. An application must be designed to be deployed in a cloud-based environment when it's built on an IaaS platform like AWS. If your application is not aware of autoscaling groups and other high-availability features then traditional dedicated hosting will be cheaper, less complex, and more durable than AWS.
I am aware of AMI's for webmin, but not for cPanel. Here is the link:
https://www.virtualmin.com/documentation/aws/virtualmin_gpl_ami
I would echo the comments made by #jamieb however in that this is really not a good use case for EC2. You are limited to a single elastic IP per instance, so you have no ability to do IP-based virtual hosts as you would with a typical VPS.

Can I host a website in Windows Azure VMRole

Does anyone know if one can host a website using the VMRole in Windows Azure?
If I have IIS running on the VM can I access that from the outside?
Also, if I scale to multiple instances of the same VM, will that endpoint be automatically load balanced, just like a WebRole?
Note: There are some requirements that I have that cannot be accomplished with the WebRole, so that is why I am not using it. (if you were wondering)
Thanks in advance!
Yes, you can host a web site in an VM Role. The VM Role must be Windows 2008 R2, which has IIS, so you should have everything you need to support your website. You'll just need to work with HyperV locally to construct the VHD, then prep it with Windows Azure tools, etc.
Just curious: What specific requirements do you have that cannot be accomplished with a Web Role? There are three core use cases for VM Role:
The setup process cannot be automated
The setup process is not 100% reliable (e.g. installers periodically fail)
The setup process takes too long (maybe more than 5 minutes or so)
With startup tasks, you shouldn't have any restrictions on installing software, registering COM controls, modifying the registry, etc.

Resources