In today’s computing environments we have many options if we want to load an operating system such as Ubuntu or Windows to explore. The first options that come to mind are local and cloud. What if I want ot run a fresh version of Windows 10 on my local Mac? Or I want to run Ubuntu Server in the cloud? What options do I have? This article explores options to launch operating systems and some of the plus and minuses of doing so on premis (local) or in the cloud (AWS)
On Premis Vituralization
Loading an alternative operating system on your local computer used to mean partitioning hard drive space, installing the OS, and booting from that partition. While there are still advantages of doing this, a quicker and easier and easier way is to use virtualization. Because I’m on a Mac, I am going to use VMWare Fusion, available here: VMWare Fusion
After downloading the .iso files, launch VMWare Fusion and load the file of the OS you want to run. In the first screen, select install from disc or image, and select the .iso file you downloaded.
![Installing an ISO with VMWare Fusion][/vmware-vs-aws/vmfusion-1.jpg]
VMWare Fusion makes it easy to install a Linux distro. Fill in the defaults on a few screens and away the installer goes
You can repeat this process for Windows 10 as well.
Downside of Virtualization
- ISO Images are huge! 1.8 gigabytes for Ubuntu Desktop and 4.7 gigabytes for Windows 10
- Running virtualized operating systems can be slow. My Macbook Pro is older with only 4 gigs of ram, this writeup has made my system come to a crawl.
- Installing the virtual machine OS takes time. With my slower Mac, 30 minutes for Windows 10.
Positives of Virtualization
- Able to test lower level operating system functionality easier. Example, I can play with GRUB (A boot loader for linux) to boot into sepearte partitions of my virtualized hard drives.
- Can save .iso files for backup and portability. Think USB drives.
The same operating systems are generally available in the cloud using Amazon Web Services EC2 service. To use EC2 services you will need to sign up for an AWS account at https://aws.amazon.com/. Once you have an account and can log into the AWS dashboard, visit the EC2 section
EC2 instances are for all extensive purposes virtual machines in the cloud. From the EC2 dashboard you can launch a new EC2 instance which will launch the new EC2 instance wizard. From here you can select an Amazon Machine Instance (AMI) which is similar to the selecting the virtual machine operating system. From the out of the box list of choices you can select many different flavors of Linux including Ubuntu, Redhat, and Suse. Windows Server OS is also available. Additionally, you can select from a vast collection of community driven AMI’s, some available for free, others for a cost. For this writeup I am going to launch an Ubuntu 18 server instance.
Configuring the instance options is similar to configuring a virtual machine. Instance type defines the amount of RAM and CPU your instance will have. Instance details tell how the instance will run in the cloud, including how it is networked, storage settings define how much storage space is allocated to your instance, and security groups are similar to how you would run a virtual machine behind a local firewall. When setting up EC2 instances for the first time most of these settings can be left at defaults.
Note: Amazon offers Lightsail, which is a dashboard to help you launch instances through easy to follow GUI operations. This is great for beginners or anyone who is looking to launch an EC2 instance without much knowledge of cloud concepts such as VPC and block store.
After launching an instance your EC2 dashboard will show the available instances, along with details about how your instance is running in the cloud. Because this instance is now running remotely in the cloud, you will need to connect via SSH (Linux instances) or Remote Desktop (Windows).
Negatives of Cloud
- Costs - While minimal at first can quickly grow
- Internet connection required
- Complexity, while easy at first, managing OS, networks, storage all in the cloud requires different thinking than traditional computing
Positives of Cloud
- No physical hardware to manage
- Easily spin up new instances that are just as powerful as local computing
- Scalability: Seamlessly scale applications to support few to many users instantaneously