As I mentioned in an earlier post, the new SDK for PHP 2 for Amazon Web Services (AWS) is kind of lacking in documentation. Since the PHP SDK 2 for AWS is pretty new (November, 2012), hopefully this lack of documentation will be addressed. However, here are some notes which will help me and hopefully others.
At least for now, I'll focus on EC2 examples and code as that's what I need at the moment.
I'm pretty new to Amazon Web Services (AWS) and especially "managing" AWS through PHP, so hopefully this will help me and others.
There are apparently two ("1" and "2") PHP-based SDKs available to manage AWS with PHP. It looks like version two was announced in November, 2012.
When the PHP SDK 2 was released, it seemed like it didn't support as many AWS features as PHP SDK 1, but now SDK 2 seems to support all AWS features, including new ones like OpsWorks.
So which one is better?
SimpleTest is a nice testing framework for testing PHP-based applications at the unit and functional level. However, I (and others) have had trouble getting JUnit-compatible XML output for use in continuous integration servers like Jenkins.
SimpleTest provides a built-in XML-based output, but it seems to be mostly for internal communication by SimpleTest itself. It's not JUnit compatible.
To convert SimpleTest output into JUnit-compatible XML, I've seen at least a few posts :
Over the year's I've kind of gone back and forth on SimpleTest, a PHP-based unit test framework.
A few years ago, when PHPUnit was in its infancy, SimpleTest was the best PHP-based unit test framework. In the past few years, however, it seems like PHPUnit has been improved continually, while SimpleTest has languished somewhat.
Currently, I believe PHPUnit is the best choice for true "unit" ("micro") testing, while SimpleTest seems to be better for modest functional (integration) testing.
VirtualBox has been my main desktop virtualization solution for the past 3-4 years. VirtualBox started out as a kind of weaker version of VMware Workstation, but VirtualBox has really improved (branched snapshots etc.) over the past few years so I really can't complain especially since it has a liberal evaluation license.
VirtualBox is pretty friendly for desktop users, and is a so-called Type 2 hypervisor, so I wondered how it would fare in terms of performance relative to Hyper-V or ESXi. Turns out not too bad.
My performance tests indicated no clear winner in CPU-intensive tasks. Hyper-V sort of won the I/O tests, but I think you could probably get any desired outcome based on how you tweak the tests, so I'd even call that a wash.
So choosing the right virtualization solution for me comes down to usability and cost.
For me, Hyper-V seemed to have an edge in usability. I have no desire to earn a PhD in virtualization, and Hyper-V seems to have wizards and online docs which made things easier for me.
First, let me say that these results should be taken with a grain of salt. These are rather informal tests, and are geared to my environment and my way of working.
Still, I tried to be somewhat rigorous by using the excellent Phoronix Test Suite, and keeping conditions as uniform as possible across the various virtualization environments.
Testing with multiple VMs running concurrently
Initially, I wanted to test under three conditions :
* One VM running alone within the host
In my discussion of my home-based server, setting up an ESXi 5.0 server was one potential solution for my requirements.
I first heard about VMware back in 1998 or 1999 when reading a story about them in the Wall Street Journal (newspaper). I sensed immediately that they were onto something big. Turns out the company has executed well on bringing virtualization into the main stream.