Scaling technology in modern architectures
Recent acceleration and adoption of container technologies, along with constantly changing infrastructure and CI/CD configurations has made it complex for organisations to maximise value of delivery while minimising failure. To find out more about scaling technology in modern architectures and the ways it could affect organisations of all sizes, Glyn Roberts, CTO of Digital Solutions at iTechArt, caught up with Jon Hammant, Head of Compute for UK and Ireland at Amazon Web Services.
Glyn: Tell us a little about yourself and your background.
Jon: I’ve been in tech since I was tiny, literally probably around 3 years old and playing with my BBC Micro.
In the past I’ve had many roles, including Managing Director at Accenture where I ran the DevOps and Full Stack engineering practices for the UK and Ireland. Before that I worked client side for many years, acting as the head of infrastructure at Standard Chartered and running one of the largest DevOps teams at Credit Suisse.
I currently work at Amazon, which is a really interesting company in so many ways. Effectively, we split our business into smaller sections that can function like smaller startups. I head up the Compute business that sits in the UK and Ireland.
Glyn: What would you define as modern architecture and what would you consider as the bleeding edge?
Jon: In the past, modern architecture has taken on many different forms. At one point, monoliths, which are applications that are built as a single, indivisible unit, were considered the pinnacle of modern architecture. We’ve moved away from that now. Those tech choices that we’re made in the past weren’t inherently bad, but they do show how much we are moving forward and evolving.
To look at modern architecture now, I think we need to go back to Conway’s Law – organisations tend to design systems that mirror their own ways of communicating. I think the structure of an organisation can end up defining how its software is built and delivered. Large parts of the way traditional organisations are structured go back to military routes. Organisations were created with generals, or CTOs at the top and with ranks of officials underneath them. A lot of organisations, especially heritage organisations, still have that top-down command and control. The problem is that people at the top end up with too many levels between themselves and the actual work. To me, that’s inherently not a modern way to run an organisation and it’s also not a modern way to create applications.
When you look at organisations that are succeeding in the modern world, you see that there’s a lot of benefit to the smaller organisations that can be nimble and can draw on many different capabilities at the same time. They can move quickly and that gives them a big advantage over larger enterprises. On the flip side, larger enterprises aren’t stupid. They are large because they have very clever people who know how to achieve success and drive forwards. There has been a rapid realisation from modern organisations that the way to succeed is to structure their companies like they are almost a collection of startups.
For me, that’s the pinnacle of modern architecture. When it comes to technical architecture, I think we’re looking at creating really small, self-contained but flexible, reusable applications that can work together to create a more nimble whole. Microservice architecture is something that I think is really key.
In reality that’s only the beginning of where modern architecture is going. Too often I see people looking at microservices as all being contained within one application, but for me, modern architecture is moving back to being service orientated with small, individual services.
Looking at the real bleeding edge, I am fascinated by some of the worlds around cryptocurrency and things like ethereum where you have distributed architectures in which you don’t necessarily know the end node that it will be executing on.
Glyn: So it’s not just about technology; it’s about how you organise your structure as an organisation as well?
Jon: Yes, definitely. When you look at a good architectural layout, it spawns past the field of technology and right into the layout of your business.
On a daily basis I talk to our customers about how we drive value and make things that actually give value back. So much of that is about more than just technology. Over the years I’ve worked in many different organisations and fields and I’ve learned that often, the technical bit is the easy bit. It’s the people using it that can be the hard part.
Glyn: What is a modern application and what is the approach around it?
Jon: Modern applications get very interesting when you’re only building the differentiated components that sit within it.
I look back at my early days as a developer coding with C++ and I remember having these MSDN library books sitting on my desk. I would go through them and try to work out how to do everything from scratch.
For me, really good modern architecture allows you to only create the things that differentiate your application from other applications. To me, that is the most amazing change that has happened within development. I still code a little in my free time, and whenever I code in Node and Python and I go to do a basic pull-down, I’m always amazed by the number of well-written packages that are available for free. It’s that idea of standing on the shoulders of giants. There are a lot of parallels between that structure and modern container architectures.
Docker marked a huge moment of progress for developers. Controversially, I don’t think Docker itself was particularly magical. I don’t mean that as a criticism because Docker completely changed the way we use computers, but for me what was magical about it was the idea of the packaging format and the fact that you could suddenly package a container in one piece. Suddenly you can have standardised containers that roll down with standardised checks as you move through different stages. For me, that idea of standardised building blocks, normally through containers, is something that fits within modern architecture. The orchestration side of it is also very interesting too. And Kubernetes feels as close as you are going to get to a kind of end game IT at the moment.
One of the biggest changes that I think we will start to see more of is a move to serverless architecture. I can’t overstate the importance of serverless applications in the near future. There are all kinds of reasons why they will become the standard.
I’ve always enjoyed understanding the end-to-end journey that makes up your application, but we’re now at a tipping point because the IT landscape is becoming increasingly complex. It’s becoming very difficult for any one person to understand the end-to-end journey and that’s not necessarily a bad thing. I think serverless architecture is almost the IT industry coming to terms with that.
For me, modern applications are those that rely heavily on containers and serverless. The challenge of serverless is that it’s a huge step up. At AWS, one of the things we’re doing is trying to change that. Serverless still hasn’t been adopted as much as I thought it would be. That comes back to my earlier point. The most complicated thing in IT is actually the people, not the tech. It’s the training, the skills. It’s looking at how we ensure that there’s a new generation of people coming through who can take on that work. As an industry, that’s something we really need to think about.
At the real bleeding edge, the next step is looking at how you distribute and run those modern applications worldwide.
Glyn: What should organisations be aiming for to improve themselves and become more modern?
Jon: There are two sides to getting to a point where you can modernise: the technical side and the business value side. They go hand in hand. The people that really understand modern application design are the ones who have a good understanding of the technical side of things, and also a good understanding of the organisation. That’s really important because it enables them to bridge the gap between working with the application and being able to feed that back and make that work for the business in a meaningful way.
The move to analytics-driven applications is very interesting, and the move to an increasing use of A/B or multivariate testing is also something to watch.
When it comes to modern application design, I sometimes think there is too much focus on getting it ‘right’. The aim needs to be that whatever you do today should be better than what you did yesterday. That kind of gradual progress as an organisation is really beneficial. It’s like asking whether you want to earn compound interest or hold a lottery ticket. The reality is that although it would be fantastic to win the lottery, you’re probably going to have better long-term success with your 4% interest.
I also recommend making sure that you’re economically aligning the interests of everyone involved in the business. Make sure that the metrics of what you’re doing and how you’re defining value are something that everyone can benefit from. There are some really interesting business models that lie ahead of us around the democratisation of that value and how digital companies work together to achieve it.
Glyn: What changes should you consider within your team to achieve this?
Jon: There are so many things around ‘modern development’ that aren’t actually particularly modern ideas. I sometimes look back at my GCSE in business studies and realise that so many of the ideas we work with today are really just good quality management strategies that have been around for a while.
One of the things that really attracted me to working at Amazon is that they are a fantastic example of a modern organisation. It’s really interesting to look at how they’ve done that. Firstly, they have been really transparent about what they do. You can go to the Amazon website and see the leadership principles written up for everyone to read. When you’re working with teams, that same principle of transparency is important. Be clear with your team about what you are going to do, why you are going to do it and create principles that you can all adhere to. Make sure that every team member feels informed and included.
When I was a consultant, I could see the projects that were likely to fail a mile off. One of the biggest red flags was when people didn’t have a shared vision or a common understanding of why they were doing what they were doing. For my own internal barometer of whether change would be effective or not, I would often spend a lot of time asking different people within the business about what their vision for the organisation was. If everyone gave radically different answers then I didn’t have much faith in that organisation.
Glyn: What are the challenges with acceleration and adoption of containers?
Jon: Most of us, myself included, underestimated the challenge that sat within containers. The adoption of containers has taken a lot longer than I anticipated. There is a whole ancillary set of stuff that sits around the edges that I didn’t account for. Containers need support from a whole ecosystem that wasn’t quite there yet, but that has improved a lot recently. Kubernetes is part of that. It’s created a brilliant ecosystem thanks to the plug-ins.
I would be willing to take a bet that the majority of software will be distributed and run via containers as soon as 2024/2025. That’s everything from mainframe down. In IT terms, that’s a very rapid change and we need to appreciate the severity of that and how quickly it’s come around.
Glyn: Is containerisation relevant to companies of all sizes or is it better for large corporations?
Jon: It’s relevant across the board.
Modern architecture has completely changed the game. Let’s look at two companies who represent something about modern design and heritage design: Tesla and General Motors. General Motors used to have this huge advantage in that they had huge factories and very large plants where they made their cars. Then, very rapidly, the whole ecosystem began to change. In the UK by 2035 you won’t be able to buy a petrol car. All of the infrastructure that General Motors have built is suddenly a hindrance rather than a help. They’re too big to be nimble and to adapt quickly. For me, that sums up the change that’s happening with organisations at the moment. Being small and nimble offers advantages.
Modern architecture will continue to adapt and alter the way that we work and scale businesses, particularly over the next 4-5 years. So, my advice to organisations of all sizes would be to make sure you are hiring and training staff who will be able to work with these new technologies, making sure every single member of the team is informed and involved. Ensure that your team members can see how they will personally benefit from the outcome these changes bring. This will set you up for the best chances of success.
iTechArt would like to thank Jon Hammant for offering his time and thoughts for this interview.