Cloud Platform Selection for Developer Experience

engels

 

Everywhere I go people are either thinking about moving to the Cloud or evaluating their first steps and debating what their next step should be.

(Ok, so given what we do at Profit4Cloud that is not like a representative sample of what goes on in companies all the time; they probably have a business to run, a world to improve, etc., but you get the point.)

A question that comes up a lot is “Which Cloud platform should we use?”.

The short answer to that question, and an answer that you should expect from an architect who has worked from the trenches, is as always: “it depends”. If the situation calls for it, I add “on many, many factors” 🙂 This is a ‘truism still worth mentioning’ to set the tone for a more elaborate answer where I used to explain and approach this question like a typical ‘package selection’:

  • we should make a list of an organization’s requirements,
  • we should decide on selection criteria and their weight,
  • we should look at the skills already available within an organization,
  • we shouldn’t forget about the costs, both for implementation and operation,
  • and finally select the best fit.

While this still is a good selection methodology for selecting software, I feel there is something special going on with ‘the move to the Cloud’ and the selection process that accompanies it. These organizations are in the middle of an improvement process and want to use their move to the Cloud in order to actually implement that change. There is a will, an urgency, to up their game. They typically went from ‘being agile’ via DevOps (and maybe even BizDevOps) to a situation where their software development process is no longer the bottleneck. It became apparent that while the development and operations teams no longer operated in silos, they suffer from a bad developer experience:

  • they want to push apps/features out fast, but they lack a programmable platform to automate this easily,
  • they have ops responsibilities now, but lack easy access to dashboards and metrics with configurable events for monitoring their applications.

Of course, if you have money to spend you can have a platform support team to create and manage a development platform that fulfils these requirements, but this effort is better spent elsewhere to generate greater returns, i.e. by using a Cloud platform that is ready to go.

Back to the original question: “Which Cloud platform should we use?” Short answer: It still depends on many factors, but largely on what your developers want.