#9: Introduction to the Cloud

In the last couple of episodes I've introduced the concepts of Minimum Viable Product, Lean and Agile.

I believe these help us to adjust our mind-set to one more conducive to getting Better ROI from Software Development.

In this episode, I introduce the Cloud; which I believe enables some core practicalities that our new mind-set requires.

Or listen at:

Published: Wed, 18 Sep 2019 16:08:05 GMT


In the last couple of episodes I've introduced the concepts of Minimum Viable Product, Lean and Agile.

I believe these help us to adjust our mind-set to one more conducive to getting Better ROI from Software Development.

In this episode, I introduce the Cloud; which I believe enables some core practicalities that our new mind-set requires.

Again like Agile and Lean, a concrete definition for the Cloud can sometimes be difficult to pin down.

I personally like to introduce the Cloud as a way of using computing resources as a utility - like water or electricity.

If we want water we turn on a tap, water comes out. We don't have to prepare or think about anything before we turn on that tap.

We don't have to dig a well, put in the necessary pumps, pipes & filters.

We just turn on the a tap.

In the same way, the Cloud allows us to get computing resource effectively by just turning on a tap.

Computing resources like web servers, data storage, etc are available for us to utilize in the Cloud - once of course you have set up an account and provided your credit card.

In comparing the Cloud to how we would have traditionally acquired that computing resource;

I'd have generally expected weeks to setup a new web server;

  • I'd have to decide on the specification of the server
  • Get quotes
  • Raise a purchase order
  • Get it approved
  • Place the order
  • Wait on delivery
  • Receive it
  • Unblock it
  • Physically rack it, connect it to power and network
  • Install relevant software
  • Test that it works

And that is a fairly trivial example - it easily becomes much more complex.

Let's compare that to spinning up a web server in the Cloud

  • I log onto the Cloud
  • I select the size and type of server
  • Click go

Within seconds it will be available to me to use.

You may at this point be asking why I'm introducing the Cloud at this stage given that the past few episodes have introduced Minimum Viable Product, Lean and Agile.

I'm introducing the Cloud at this stage as it is an enabler.

It really does make the idea of small, quick experiments practical.

Yes - you could probably do Minimum Viable Product experiments without the Cloud - but the Cloud just makes it so much easier.

The Cloud provides a considerable level of flexibility to just try something.

In my own personal development, I find myself regularly creating resources in the Cloud to simply "try something out".

I have an idea, an inch I want to scratch - the Cloud provides me with that flexibility to just do it.

And you know what?

The minute I've finished trying my idea - the itch has been scratched - I can destroy that resource.

So I may be experimenting for only a few minutes - and I'm just paying for those few minutes.

I haven't had to make an upfront outlay for expensive computer equipment - just to find my idea wasn't very good. I've maybe spent a few pence.

If I needed to buy a £3k server, await 3 weeks to get it shipped to me, spend time setting it up, etc - how often do you think I would bother with my little experiments?

The short answer is I wouldn't.

And this is why I see the Cloud as being such an enabler of that quick experimental mind-set advocated by Minimum Viable Product, Lean & Agile.

Many organisations will look to implement the Cloud as a cost saving.

And there certainly are opportunities to save cost by moving to the Cloud - but that won't always be the case.

Back to the water example; if you know you will be using a consistently high volume of water - it may prove more cost effective (over the long term) to actually source your own water rather than pay out to a utility company.

You certainly find this occurring with electricity generation. You can find that running your own solar panels or wind turbine can produce saving over the long term.

And same maybe true for computing resources. In certain circumstances, it may actually be cheaper over the long term to not use the Cloud.

Personally however I would be hard pressed to think of a situation where I would recommend anything other than the Cloud though. And its not for any cost savings.

Its for that flexibility I talked about previously.

Flexibility should be a stronger motivator that pure cost.

In addition to the flexibility (and highly likely cost savings) from the Cloud, you will find a host of benefits that are difficult to replicate locally.

If you look at the main two Cloud providers, AWS from Amazon and Azure from Microsoft, you will find they provide an ever growing list of services that could prove an advantage to your organisation.

The service offerings receive considerable investment from their respective owners - both Amazon and Microsoft are betting big on you bringing your business to their cloud - it is very much a core of their business model.

For you as the consumer, you benefit greatly from this, not only in a continual effort from both parties to provide better value (normally through price reductions), but also from providing a fairly consistent set of service across them.

In most cases if one comes up with something new, the other will not be far behind.

While there are niche differences between the two; it would be rare that those differences would have a material difference to most organisations.

As I say both AWS and Azure invest heavily in there service offering.

While not all of those services will be useful for every business, they could provide an excellent opportunity for innovation and experimentation.

I doubt many organisation will use the Ground Station service from AWS for controlling satellites;

However services like image recognition or sentiment analysis may be something that open unique doors in your market.

In addition to those services, the Cloud providers invest heavily in security.

Security is of growing importance to every business in the digital age - and something that I'll dive into more in a future episode;

While the efforts put in by the Cloud providers doesn't absolve you of the security responsibility or stop you from making huge mistakes - they definitely helps to provide a much better starting point than pretty much an organisation can achieve independently.

No doubt I will return to the Cloud and its benefits in coming episodes.

For now though, the key takeaway is that it provides us with a practical platform on which it operate quickly and efficiently.

This enabled us to experiment quickly.

Which allows us to get value to our customer quicker. It allows us to get feedback from our customer quicker.

It is an enabled along the path of achieving better return on your software development investment.

In next week's episode;

I will introduce DevOps.

DevOps takes the principals set out in Lean, practices defined by the Agile community and the flexibility of the cloud.

DevOps is where we start to pull the last few episodes together.

Thanks you for listening. If you have any feedback or questions on the podcast please reach out to me on Twitter.