Monday 16 November 2015

Why PaaS sucks

Praising PaaS or SaaS, why not.. yes it saves on maintenance time, thus cost.

The "Cloud" is good, in many ways. But Platform as a Service just sucks. here is why:

- You get application containers out of the box
- Everything is there, what's is left to do is push you app code,
- Here you go your server is running. Rails, Node.js, Java, PHP.
- Those container gets updated automagically, great !

But what is actually running on those hosts ? Errrr whatever the provider choose to maintain.
So, currently, OpenShift decided to stick to Node 0.10

Can I control the container ? no. Can I decide when to upgrade, No !

So I have this baked application, running on Node.js 4, arguably it could run on 0.12. But not on 0.10 (pretty lagging behind there OpenShift!)

[nodejs-hackathonboard.rhcloud.com hackboard]\> node app.js 

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1024:19)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at EventEmitter.listen (/var/lib/openshift/5649ab437628e1e2a400019f/app-root/runtime/repo/hackboard/node_modules/express/lib/application.js:617:24)
    at Object.<anonymous> (/var/lib/openshift/5649ab437628e1e2a400019f/app-root/runtime/repo/hackboard/app.js:199:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3

Yay, I don't have to maintain the environment or database servers, but I now have to troubleshoot and refactor the application code just to get it running ? ...

Unpacking binary distribution
build/Release/bitcoind.node
build/Release/bitcoind.node.sig
npm ERR! EEXIST, open '/var/lib/openshift/5649ab437628e1e2a400019f/.npm/d6b027ca--npm-bluebird-2-10-2-package-tgz.lock'
File exists: /var/lib/openshift/5649ab437628e1e2a400019f/.npm/d6b027ca--npm-bluebird-2-10-2-package-tgz.lock
Move it away, and try again. 

npm ERR! System Linux 2.6.32-504.34.1.el6.x86_64
npm ERR! command "node" "/opt/rh/nodejs010/root/usr/bin/npm" "install"
npm ERR! cwd /var/lib/openshift/5649ab437628e1e2a400019f/app-root/runtime/repo/hackboard
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR! path /var/lib/openshift/5649ab437628e1e2a400019f/.npm/d6b027ca--npm-bluebird-2-10-2-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0

Taking those steps wouldn't really solve the core issue anyway, a single dependency requiring a newer versions of the container would make the app fail. Thus forbidding huge portions of the rapidly evolving gems one can find out there for web development.

Sorry PaaS, you already put me off by having to install your own tools just to be able to upload an application, which both with Heroku and OpenShift gave me a headache early on.

I don't call this a sustainable business, hiring engineers to write tools supposedly assisting clients to deploy, run, and scale easily.
What clients need is bare infrastructure, no provider can maintain the numerous combination of versions an application might need to run at best. This business is *not* about solving real problems, it solves some and create a whole bunch of new ones. In particular for production applications.

IaaS is an infrastructure I have full control over, that's what we need. Not a restricted environment where the provider decides which versions to run. It defeats the very purpose of PaaS claims: Getting ride of cumbersome maintenance.

Also, all of this run on hardware provided by other IaaS provider. So, even considering the economy of scale, I'm being charged your service + the service of the IaaS provider, right ?



I will pay for the goods right from the source, EC2, Azure, whatever. No middle men thank you.


Sunday 1 November 2015

What I like about Penang

Staying here for a while here's the good things about this place.




  • Coffee shops generally close after 11pm, and yes there is WiFi.
  • Food is everywhere, a delicious fresh meal costs under £2 with a drink.
  • It's warm 365 days a year.
  • People do speak a decent English in this part of South East Asia.
  • Broadband is truly high speed.
  •  Free 90 days Visa on arrival