Whenever I'm setting up a database, I almost never need to set up just one thing. I usually need to set up multiple environments, the combinations are endless but here are a few examples:
- Multiple machines each containing an Oracle RAC instance.
- Multiple Machines containing an Oracle Database Server, Application Server Infrastructure containing OID and an Oracle Application Server and a development environment containing a JDeveloper or SpringSource setup.
- Multiple machines containing a database server and multiple application servers like Apache, JBoss and Oracle Application Server for testing.
- Multiple test development platforms using an Oracle database server, Application Server and different development machines Eclipse, JDeveloper, SpringSource, .Net, etc.
- Multiple machines setting up MySQL instances for replication, testing backups, etc.
- Windows with SQL Server with domain controllers and software application platform.
Someone just needs to load a prebuilt vApp and then insert the guest customizations asking for IP addresses, host names, DNS servers, etc. and then all your virtual machines are configured to work together. Then you can immediately start using the virtual machines that are part of your vApp as if they were running on separate physical machines in your network.
The amount of effort to deploy these virtual appliances is almost nothing after they are built. Also, not mentioned are the tons of pre-configurations you've done to optimize the operating systems and applications that run in this appliance configuration. Linux kernel parameters properly defined, Oracle memory settings, etc. After recently going through an Oracle Database Server, Oracle Application Server Infrastructure, Oracle Application Server Middle-tier and development machines manually I thought I have to quit doing this the old way of using physical machines. I thought I've done these manual steps a billion times why am I doing this manually again. From now on I'm going to deploy test environments using virtual appliances and vApps where it makes sense.