Well that’s a stupid question, isn’t it? It’s “Development done right”, “Fast, Elastic, Dependable” and on “Any Cloud”, right?
If you are unclear as to what phpcloud.com is, what the Zend Application Fabric is and what the DevCloud is then this is a good post for you.
Before I say what it is, let me say what it is not. It is NOT a hosting platform. It is not intended for production usage. It is intended to give you a quick DEVELOPMENT environment. I use caps because I think this is the biggest source of confusion for people. We have a path to production, but the containers that you will be working in are intended for development use and the functionality you will see in the future is going to reflect that.
First off is the Zend Application Fabric. You may think about it as simply Zend Server. While that might be true to some extent it is not complete. Yes, the fabric runs on Zend Server but it is more than simply “Zend Server in the cloud”. Think of a weaving loom. One thread is just one thread. Put two together and you have, well, two threads. The Zend Application Fabric is kind of like the loom. It keeps the whole application together and gives it structure without you doing much. The fabric it creates can shrink or contact based on the needs of the time. It’s kind of like your weaving loom were creating Marty McFly’s jacket in Back To The Future 2.
What it comes down to is that the Fabric is a combination of server components, APIs and runtimes. The fabric is watching your application and responding to its needs.
The Zend Application Fabric is implemented in production solutions by installing Zend Server and integrating it into your environment, or by working with one of our cloud partners such as Amazon, IBM, Rackspace or Rightscale. The key part is the integrating part. That’s why we didn’t want to just call it “Zend Server in the Cloud”. We intend for it to be more than just a place to run PHP or get error introspection but rather have it integrated into the automation in your infrastructure whether that automation is handled internally or by some kind of cloud management service. But if your infrastructure can run Zend Server it can run the Fabric.
OK cool. So if that’s for production what is the DevCloud? The DevCloud is a slice of the Fabric running in the cloud. A thread of the fabric, as it were. It won’t scale, it’s not meant for hosting (though some people have tried) and it won’t give you the same freedom that you might be used to in local development. But wait! Isn’t that a bad thing?! Well, not really. Think of this for a bit. How much crap has gone into PHP applications because people could do whatever it is they felt like doing at the time? Anarchy, as fun as it may be, does not work. Not in real life and not in software development. Have a defined, predictable environment makes for easy transferal of skills and stable environments. For example, there are a bunch of PECL extensions that are perfectly stable but many that are not or are unsupported. Depending on an unsupported extension in a production environment is generally a bad thing. And for any type of fabric mixing materials is generally not good. For example, you wouldn’t mix kevlar threads with water soluble basting threads. As more PHP development moves into the cloud I believe that PHP developers are going to have to become less used to hacking things together. If you keep hacking things that means you have to manage them and if you’re managing them they you’re losing the benefits of the cloud.
And phpcloud.com? That’s the place to start. You do your development off of the infrastructure in phpcloud.com. The infrastructure is built on the Zend Application Fabric. Therefore when you deploy to your production environment, based off of the Zend Application Fabric, you have the same environment that you built it on.
So, the Fabric is the loom, DevCloud is a thread spool and phpcloud.com is the lever you pull to start.