John is an experienced business and digital transformation specialist with an impressive track record in architecture.
With combined architecture deliveries of over £500m, John is a cloud and agile evangelist and now a CTO, he is responsible for the delivery of the world’s first global student accommodation booking engine.
John took the time out to discuss cloud technology and the link between API’s and Microservices as well as providing insight into workforces across the globe.
VINTAGE: Can you provide insight into how cloud enables scalability and flexibility within an organisation?
I’m a real cloud convert.
When I initially saw cloud and, given that this essentially involves an expensive re-platforming, I thought it only had 2 use cases.
The first was where an application is so large and unknown that the only way to get a gauge on it was to put it in the cloud.
Once that’s done, you bring it back in house and run it on your own cheaper (ie depreciated) kit. The second use case for me was for organisations that didn’t want to run a full time DBA department. Cloud then gives you the opportunity to have a computing capability but without all the overheads.
However, having seen the speed at which you can knock an environment up – and down – you can then try out ideas which previously wouldn’t have stood the business case test.
Remember here that my experience was in organisations where it would take 3 months to assemble the kit to develop on so no-one was prepared to do that without a fully approved business case. As a consequence, really good ideas that were a little off the wall or more marginal just didn’t get a look in.
The phenomenal benefit with cloud is that you can sample this without having to bear the risk of having expensive kit left over at the end. If it doesn’t work, you just collapse the vpc. In my experience, this supercharges the ability to sample ideas. I do subscribe to the model of ‘fail fast’ but that also requires a change in mindset from the management to recognise that early failure is a good thing rather than expecting a 100% success rate. This was brought home to me one day when we built a multi-server environment in a matter of hours and then destroyed it again in minutes. It cost less than a cup of coffee to do so.
Cloud also brings a huge element of good behaviour. You need to design for the cloud and that is fundamentally different to the way you design on-premise. On-premise, the running kit is sacrosanct. In the cloud, it’s just another instance. If it crashes, another instance will boot more or less immediately. And, whilst a number of customers may have a halted journey, good design will mitigate that issue and enable completion of the journey.
I don’t subscribe to the idea that one should just migrate everything to the cloud.
It really does cost more than the kit you have (especially if it has been depreciated) so it’s more of a strategic direction. A strategy needs to be developed that allows you to migrate applications across to the cloud at a point that makes sense. Care needs to be taken that this doesn’t break the way that on-premise applications run and that invariably means some form of re-architecting. Again, I don’t subscribe to the lift-and -shift model of moving to the cloud. Cloud brings all sorts of good behaviour and it is highly unlikely that applications grown over many years using traditional development techniques will be able to transition easily. It really takes a long hard look at what you’re trying to achieve and then being brave about how you execute.
Some organisations have the ambition to use cloud technology but ultimately funding dictates the progression of projects.
In my experience, a company must buy into using cloud technology and not just based on faddism. The worst message I can be given is ‘I want one of those’. That invariably means that the requester has recognised a winning formula but typically in an external organisation that doesn’t resemble your own in any way. You’re then set an impossible task to try and replicate that for all the wrong reasons.
To get cloud established properly means a special set of conditions with sponsorship and buy in from senior stakeholders which then filters down to the technical teams. This becomes a pillar on the side of the existing organisation that (can) slowly cannibalise(s) the rest of the business.
VINTAGE: Is there a link between API, Microservices and Cloud technology?
JC: In my opinion it is the holy grail. Gone are the days when an organisation lived with monolithic applications. Making code upgrades was a nightmare because the interdependency of the elements of the monolith was absolute making changes very brittle. Similarly, to scale one element meant scaling all elements with the consequence that there was significant cost for elements that didn’t need it. With microservices, each element is individually scalable and, with the code written properly, that can be a matter of BAU for a cloud-based organisation. Even better, the scaling works in both directions and the overhead just arrives as an additional operational cost over and above the normal workload. Simply put, any modern business that isn’t thinking of these stratagems will be eaten up by competitors that do.
The new paradigm is to make significant investments in API’s and Microservices which allows legacy and cloud systems to work efficiently together. It provides companies with time to be selective on which applications to redevelop. The decision to invest in API’s and Microservice to connect legacy systems to cloud environments is less risky and cheaper than moving legacy workloads. Globally, we’re still in a place where on-premise is still a large percentage of the IT budget but it is clear that the cloud-based organisations move at a different speed. Ultimately, all of an organisations compute can be externalised. The one element that needs to stay under an organisations control is the integration layer which is the magic glue between systems.
Fundamentally, any good delivery needs good requirements. The chances of getting a 100% complete set of requirements on day one is nil and there should be an expectation that an organisation will work its way towards a better place. That means that change is a concomitant part of the development and, in my experience, that is done most effectively through microservices and the attendant APIs.
VINTAGE: What are the benefits of API- driven architecture?
It is now a customer expectation to have an instantaneous response to the extent that they will leave the site and go elsewhere if you
haven’t responded to them in a matter of seconds. APIs for me then are the lifeblood of an ecommerce business. They ultimately provide the speed to respond to the customer and the agility for businesses to evolve. At heart, it gives you a highly morphable, resilient capability. If you can couple your security model to your API’s you can effectively use the same APIs externally as internally. The user permissions then control what you can do but it simplifies the development workload by only having to build one set of functions.
I try to adopt a couple of defining principles wherever I go: make systems event driven and message based. That brings a near real time capability to an organisation and makes them extremely responsive.
VINTAGE: With experience working in different countries, are there any key similarities or differences within technology workforces?
There are definitely cultural differences which need to be recognised and managed. Yes in one country means a lot different to yes in another country and that can be difficult to grasp. Occasionally, ‘yes’ in some countries means ‘no’ but you won’t find out for a while. That often means you have to be less strident and listen more.
The cultural stereotypes do hold true to some extent. In the UK, workforces are good at communicating and more transparent in their approach, clearer on objectives and timelines. That’s probably less so than other eastern countries but you just have to play the cards that you hold.
I’ve recently been working with a far eastern delivery team and that has been a revelation. This team is China based and I have to say that I am very impressed. They are a very intelligent, talented, articulate workforce with a fantastic work ethic. I have really enjoyed working with them. More so, they have actively looked for a European CTO which, to me, indicates a very open mindset.
VINTAGE: Finally, what blogs, articles, podcasts, industry leaders do you follow?
I’m largely old school so not a great follower of vlogs, blogs and podcasts. I do subscribe to evenbrite and pick up a number of good topics from there. My day to day reading is limited to The Register which I find takes a refreshingly sacrilegious view of the world.
Thanks again for your time today John. Fantastic insight into a number of hot topics!