IP addresses are important resources and must be carefully managed to avoid duplicated IP issues, which are sometimes very hard to troubleshoot. I still remember that it took a few of us couple of days to root cause a failing new feature, which worked sometimes and did not other times. Because it’s a new feature, we mostly thought it was somehow our bug in code. It turned out not, but caused by the vCenter we were testing actually used a duplicated IP address.
If you run VMware Player, you would have 3 networking options for virtual machines running there: Bridged, NAT, Host-Only. In the latest 5.0.1, I also found a new one: LAN Segment. This blog has a nice explanation on these three settings if you want to get more details.
In most of cases, I use NAT for networking because the virtual machine can have Internet access which allows me to install additional software as needed. By default, VMware Player uses DHCP to dynamically assign IP address while using NAT. So you cannot guarantee to get same IP address after each rebooting.
If you have a mobile phone and travel to other areas or countries, you can still use it to make and receive a call. Your phone number does not change. This is called roaming in the wireless telecommunications.
In the cloud environment, your virtual machine can “travel” around as well, maybe from one datacenter to another, from your enterprise to one of your service providers or the other way around, or from one service provider to another.
It’s relatively easy for a virtual machine
An operating system (OS) is a piece of software. It manages the computer hardware and provides common services for various applications. With the rise of cloud computing, people may wonder whether the OS is still relevant and what role it will play in the future cloud.
Key Components of OS
There are different flavors of operating systems: from real-time OS, desktop OS, all the way to a mainframe OS. The most recent OS is the Cloud OS.
In general, every OS has these common components:
- The kernel, which manages memory, processes, etc.
- Device drivers, which drive different hardware from different vendors.
- User interfaces, including command line shell and Window system.
- File system, which provides a hierarchical way to persist data.
- Security, which authenticates users and protects information.
Depending on the type of OS, you may miss something here or have something extra. For example, an embedded OS may not have a user interface and everything is controlled remotely. For the desktop OS, you may have extra commonly used applications such as a calculator, a calendar, a browser, and so on.