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.
Comments
Joel Clermont
What is the production version of Zend Application Fabric? Is it just running several servers with Zend Server installed? Is it the Zend Solution Pack from Rightscale? Or is it something separate I can buy and deploy directly on Amazon, Softlayer, etc?
Kevin Schroeder
Thanks for the question. I will update this blog post with an answer.
Development Blog With Code Updates : Developercast.com » Kevin Schroeder’s Blog: What is phpcloud.com? » Development Blog With Code Updates : Developercast.com
[…] Kevin Schroeder answers a question about a product his employer, Zend currently offers – what is phpcloud.com? Well that’s a stupid question, isn’t it? It’s “Development done […]
Kevin Schroeder’s Blog: What is phpcloud.com?
[…] Kevin Schroeder answers a question about a product his employer, Zend currently offers – what is phpcloud.com? Well that’s a stupid question, isn’t it? It’s “Development done […]
Rezaazar
I just found out today! Up on connection to a container, I had to wait for it to come out hibernation! Neat!
Connecting to PHPCloud.com through Zend Studio 9 – HackIX: Small Hacks for a Large World
[…] is the landing page for our new cloud offering. Using the Zend Application Fabric you can build your applications in the same environment as you will be deploying your […]
iwalz
I’ve tested PHPCloud now for a few days and for me it looks a little bit more than a staging environment instead of a development environment. The “deploy” or “version control” task, before you can see it in the browser is 1 step too much for productive work I guess.
I hoped to be able to remove all the server based stuff for development from my local machine – but this will not work for me!
PHPCloud is a nice and lovely concept, but currently a mix between “development environment” and “staging environment” with not 100% Best practise implementation for development.
For example the Version Control: A big milestone in professional development, and you got it from scratch in the phpcloud – nice! But … To “test” every small change for the first view if it works has to be comitted for uploading, if you remove your local services?! I’ve seen, there is a way with the origins to upload via one and one for managing the version control. That means you need version control server for professional development – also not able to remove. Am I wrong with the idea behind or wrong in general maybe? That’s currently my point of view on it 🙂
kschroeder
@iwalz That’s not quite accurate. When you commit your code it is pushed to your server, yes (just like the other cloud providers), but you can also open up an SFTP connection and upload them directly to the server. Check out some of the articles on my blog for instructions on how to do that (http://www.eschrade.com/page/tag/phpcloud/)
iwalz
I’ve still tested every integration in the IDE, manual uploads and git commits. It seems to be nice as a “cloud test environment”, but the articles make it sound like a “development environment”, where you have every service you need for effective coding, without having it on your local machine. Maybe the handling of the sources (especially the Zend Studio integration) will be a little bit more transparent and the sources/projects a little bit better in sync in future. @kschroeder @iwalz