| > No it still really does matter, because if your company needs to deploy those microservices in different ways then you need more people to support the deployment infrastructure. This is what PaaSes make a non-problem. I should know, I worked on Cloud Foundry Buildpacks. Here's how to deploy the PHP app: cf push your-php-app
And the Nodejs app: cf push your-nodejs-app
And hell, why not a Ruby app too: cf push your-ruby-app
And let's not forget that Python microservice: cf push python-code-works-the-same-way
We also kept up with the cool kids: cf push your-go-code-with-a-godeps-file
And for the "boring" crowd: cf push your-java-app-too
In general, these are all intended to Just Work™.You know how making these surprisingly unalike systems deploy identically is really hard? So does Heroku, from whom a large body of Cloud Foundry buildpacks code is derived. So did we, when we found issues specific to making code that assumes a connected environment work in a disconnected environment. The point is, if you're doing this all by hand, you're doing it wrong. You should rent or install a PaaS and move along to the part where you create value instead of inventing a cool-sounding wheel. |
That makes a lot of sense for small organizations, but I'm sorry PaaSs absolutely do not scale to the needs of many organizations.
> In general, these are all intended to Just Work™.
My emphasis added. When they don't Just Work it's really nice to own that infrastructure and be able to fix it yourself. It's also nice to be able to tailor things more specifically to your needs. Again, I agree that owning that infrastructure is not the right solution for organizations of all sizes, but neither are PaaSs.