Sun VirtualBox – Desktop Virtualization
Sun VirtualBox software is Sun’s enterprise-class, open-source virtualization solution for desktops and laptops. It runs multiple OS’s at the same time on the same hardware; enables cross- platform, multi-tier applications; supports virtual server environments; and provides remote access to guest virtual machines from anywhere. It’s the first application of its kind to support the most popular host OS’s, including Windows, Mac OS X, Linux, Solaris, and OpenSolaris, and the first virtualization platform to support the new Open Virtual Machine Format (OVF) portability standard. It has been rapidly growing in popularity, surpassing 11 million downloads worldwide (as of April 1, 2009) and 25,000 download a day.
If you are trying to cut down the number of systems your developers need to build and maintain applications and give them more flexibility in what they run as their primary workstation Sun VirtualBox software is for you.
Step 1: Obtaining Sun Virtualbox
Sun VirtualBox software is available at http://www.virtualbox.org/wiki/Downloads. Select the binary depending on the operating system you are trying to install it on.
Step 2: Installation
Launch the binary file double-clicking on it.
Click Next and proceed
Accept the license agreement and click next.
Leave the custom setup as is. Select you installation location and click Next:
Choose the options below as you like and click Next.
Click on Install Button. This would lead to the installation which might take a few minutes. You might receive some popup that might say that the software did not pass Microsoft test. You may ignore these warnings.
Finally you would see the confirmation. Select Finish and this would launch VirtualBox.
Now that you have installed VirtualBox we would add a machine. In this tutorial we would add a virtual box running Open-Source Ubuntu OS on it.
To add a new machine. Click on the new Button. This would launch the form where required information needs to be added.
Provide a name for your new box, select the Operating system and version appropriately and Click Next.
First time might have to leave the default options as shown below. For users who have already got a valid .vdi files may browse it, if they want. Click Next.
It is advisable to select the default option “Dynamically Expanding Storage”. Read the screenshot below.
Specify where you want to store your vdi file and Click next.
Click Finish on the summary pages.
After this you will see that a machine is added to your VirtualBox as shown below. Click on the start button.
The following dialog box would appear. Click Next.
Select how you want to install your OS. In this tutorial I have used the ubuntu image file (.iso) that I downloaded from ubuntu site. Click on the browse button and add the image file as shown in the screenshots below. After this Click Next.
Follow the instructions on the screen and your new box is ready for use as shown in the screenshot below.
Note: Some of the following sections were compiled from Sun Microsystems articles.
How to make VirtualBox Fullscreen?
- Load your virtual machine.
- Install the VirtualBox guest additionsoftware for the given operating system. Click “Device,” then “Install Guest Additions.” When asked permission to download the guest additions image, click “Yes” and follow the on-screen prompts within the guest machine to complete installation. Complete the process by restarting your guest machine.
- Press your host key and the “F” key when your guest machine reboots.
If you’re not sure what your host key is, it’s probably the default: the right “Ctl” button. Try pressing your right “Ctl” key and “F” to enter full screen.
- Press your host key and “G,” if the full-screen mode isn’t quite filling the screen. This will adjust the virtual machine’s resolution.
- Press your host key and “F” again when you want to leave full-screen mode.
Virtualization has become indispensable to getting the most from today’s typically underutilized computing resources. Underutilization is common because computers are so powerful; even an inexpensive computer running a typical Web application is only about 5% utilized. Virtualization is a means of making one computer appear to be multiple systems, thus allowing it to host multiple services. This saves money by allowing organizations to fully utilize existing resources and make the most of new investments in servers.
In addition, organizations are finding virtualization valuable as a way to improve:
• IT management, since virtualization allows for more flexible management of resources
• Reliability, because it is easy in a virtual environment to failover to another virtual machine when necessary and to quickly restart virtual machines and applications
• Flexibility, by being able to readily build up and tear down virtual datacenters based on changing business needs
For even greater flexibility and the advantage of more functionality, businesses are discovering the advantages of open-source virtualization. In particular, Sun opensource solutions for virtualization at the server, client, and operating system levels have become increasingly popular, offering degrees of functionality and flexibility that often far surpass those offered by proprietary solutions.
Virtualization throughout the Technology Environment
To understand why open source is valuable in operating system and hardware virtualization, it helps to understand how virtualization is used at the server, client and OS levels.
• Server virtualization makes it possible to run several separate OS instances concurrently on the same server, rather than having to have different servers to run different OS’s and applications. This enables enterprises to cut costs and decrease complexity while also improving business agility through shortened server provisioning time. By moving to fewer physical servers but a larger number of virtualized servers, enterprises can simplify their operations, lower the costs of power and cooling, and reduce the size of their datacenters. Having multiple OS instances makes it easier to consolidate existing environments; the tradeoff is that there is additional overhead compared to OS virtualization.
• Client virtualization targets the desktop. Virtualizing servers is important, but there are far more desktops than servers. Virtualizing desktops can provide value in terms of power savings, ease of management, and increased flexibility and employee mobility. Virtualization at this level makes it possible to run different OS’s on one desktop or laptop to meet the needs of different types of computing environments. For example, a developer may run a separate development environment on a laptop without interfering with or putting at risk personal applications such as email and office software; desktop virtualization keeps the two environments separate.
• OS virtualization is a means of using resources more efficiently by creating multiple application containers on a single OS, making it appear that there are multiple computers where there is really only one. A single computer running a single copy of an operating system could then host multiple applications such as a database, an application server, and a Web server—but with each administered separately in order to provide full resource, fault, and security isolation.
Why Open Source for Virtualization?
Open source offers several advantages over proprietary development of virtualization solutions.
• Flexibility. Proprietary virtualization solutions are generally designed to work with a particular OS and/or hardware platform and are not easily portable to other platforms. Most enterprises prefer heterogeneous environments running multiple operating systems that can interoperate, because this reduces dependency on a single vendor’s virtualization technology. Open-source virtualization avoids vendor lock-in, which helps minimize financial risk.
• Functionality. Proprietary virtualization solutions don’t have the advantage of the wealth of contributions that comes from a large and diverse development community. For example, Sun’s VirtualBox™ solution for desktop virtualization includes extensive APIs that make it easy for developers to incorporate the technology into their own solutions.
• Feedback. Having a community development model helps to ensure that the features and functions that are included in open virtualization solutions are exactly those that users need. It also helps ensure that issues with these features and functions can be identified and addressed in a timely way. Through this model, feedback from users about what they require in a product is immediate and direct, and the development community can respond to it rapidly and effectively.
• Free. Proprietary virtualization solutions can be costly upfront; open-source solutions typically offer as much or more value without the high acquisition cost. A proprietary solution for server virtualization, for example, can carry licensing and other costs amounting to $3,000 a server. True, it may deliver far higher value in increased utilization and efficiency, but so will an open-source, freely available solution with as much or more functionality.
About the Author
Sushil Ojha is a lead architect in a leading MNC with an extensive experience on developing and maintaining SOA compliant Java EE applications. His areas of expertise involves Web Services, SOA,ESB and BPEL. Susil has also contributed to renowned Java forums and other publications.
- Flash Remoting for J2EE
- J2EE Checklists
- AWT vs Swings
- What is Beehive
- CGI Tutorials
- CORBA tutorials
- J2EE Application server
- J2EE History
- J2EE Design Patterns
- J2EE Interview Questions
- Application Server
- What is Manifest
- What is Maven
- Maven 2
- POJO Application Frameworks
- Web 2.0
- AWT vs Swings
- J2ME- Java2,Micro Edition
- iBatis DAO
- Working with eclipse and CVS
- XDoclet tutorial
- Cross-site scripting
- Cross-site scripting – part 2
- Workflow Component
- How to check performance in J2EE applications
- Sun VirtualBox
- Secure Coding Guidelines
- Eclipse Shortcuts
- Applications on Eclipse
- Extension Points
- Best place in the internet where you will get Java J2ee pdf tutorials
- DISTRIBUTED MULTI-TIERED APPLICATION
- J2EE Containers
- Adaptive vs Responsive design
- Creating an Eclipse RCP application
- ElasticSearch – Storage Architecture using Inverted Indexes
- Architectural Considerations for using Elasticsearch
- How to use Elasticsearch with SQL Server