A brief technical overview of AWS
It's probably time we took a brief overview of how AWS is set up.
Each AWS region is broken down into availability zones.
Each availability zone shares nothing with the other availability zones within the same region. The upshot of this is that if there is a service outage within a particular availability zone, servers in the other availability zones will not be affected. However, the downside of this is than availability zone-specific items such as Elastic Block Store (EBS) disk, cannot be made available to other availability zones within the same region.
When migrating your applications to the AWS cloud, the first decision you will need to make is to select your region, and then your availability zone.
Tip
Picking the closest geographic region will ensure the lowest latency and best performance, however, note that there are minor price differentials between regions.
Public or Virtual Private Cloud
The second decision will be whether you would like a Public Cloud or a Virtual Private Cloud (VPC).
A Public Cloud is a self-contained group of servers within AWS that is protected by the AWS firewall from all external connections (including those from inside your own network). The benefit of a public cloud is that AWS allows servers—that you choose—to be selectively presented to the outside world. An example of a public cloud would be the hosting of web servers, which are available to the general public.
A Virtual Private Cloud (VPC) is also a self-contained group of servers within AWS; however, these servers are, for all intents and purposes, on your own internal network. The way AWS handles a VPC is significantly different to a public cloud. IP addresses are under your control, rather that AWS's. Security between the enterprise and servers in your VPC is your responsibility, and AWS security groups do not apply within your VPC.
Note
The exception to this is making servers in your VPC visible to the outside world.
The technology behind AWS
The technology behind AWS EC2 is based around Xen, a hypervisor virtualization technology used within many major organizations today. Xen provides an environment that allows multiple virtual instances to run in the same hardware environment, similar to VMware. Each instance has a measure of compute units to represent CPU and memory, which is guaranteed by the underlying Xen environment.
Note
Currently, it is not possible to run Microsoft HyperV or VMware on an AWS EC2 instance as the instance is already virtualized.