Cloud Engineering in Liberty IT - A chat with Dave, Mark and Mike
Thursday, November 19, 2020
Our Director of Technology, Dave Anderson, recently sat down with colleagues Mark McCann and Mike O’Reilly to discuss what we are doing in cloud engineering.
Dave – so what does cloud engineering mean to you?
Mike – I define it as traditional software engineering, but also meeting traditional developer operations, but all in the cloud. Typically a cloud engineer would design and architect solutions that are secure, can scale, have really low running costs, have very high automation, and meet a business purpose or solve a business problem.
Dave – so you think cloud engineering is really just traditional software engineering, but in a public cloud environment?
Mike – exactly! But with access to many more capabilities.
Mark – a lot of the roles and responsibilities in a traditional engineering environment would have been spread across multiple teams - within the cloud engineering environment a lot of those roles and capabilities are now within the cloud engineer, and they have access to all the services and capabilities to be able to do those roles very effectively.
Dave – so in more traditional environments there may have been lots of handoffs between different teams. Once you go into a proper cloud engineering team then it’s one team writes everything, it’s actual full stack. So then that leads us to serverless – how does serverless make that easier?
Mike – for me serverless lessens the burden of the DevOps, of the engineering side of things, so the cloud providers like Amazon or Azure do a lot of that work for us. Things like high availability, scalability resiliency, that's all taken care of. So effectively, it allows us to solve our problems quicker, without having to do a lot of that traditional dev-ops of the past such as application server configuration, scaling, patching etc
Mark – I agree I think with serverless it really helps our development teams focus on delivering business value. A lot of the things they had to do for traditional tech stacks, they no longer need to worry so much about, because the cloud providers take care of it for us.
Dave – so really a lot of the difficult things engineers had to do it in the past around non-functional requirements, are now basically done for them in serverless. So do you think serverless is lambda, or is it more than that?
Mark – serverless is much more around that managed server ecosystem, using capabilities that the cloud providers provide, in a managed service way to meet those business needs.
Mike – I would add that Mark uses a phrase which always resonates with me – it’s something around an ‘application or a tech stack that is serverless appreciates in value over time, whereas a traditional software tech stack depreciates over time’. Your stack may improve if you did nothing.
Mark – I think code ultimately is a liability – with a serverless approach you’re minimising those liabilities. Following a serverless-first approach, over time our architectural solutions become cheaper, faster, more secure and have more features, because the cloud providers are constantly refining and updating and adding capabilities to service runtimes and the services around that.
Dave – so you're saying that you could define cloud engineering as being engineers writing the least amount of code to solve a business problem, and not writing code that isn't tied to a business problem.
Mark – correct. We are an insurance company after all. We want our high performance engineers and our teams to be laser focused on delivering business value with the least amount of code that they can put together.
Mike – I think ideally what we're shooting for is teams that can solve one problem and move on to the next problem, and continue to do so.
Dave – so why is that important from a business perspective?
Mike – typically what we're seeing with teams that operate in the serverless space is that they get to spend a lot more time in the emerging areas of the tech industry. Because they don't have to spend a lot of time in infrastructure provision, they can do a lot more investigation, a lot more pioneering type work in the emerging space and try and bring that through that environment. Teams in a serverless ecosystem have a lot more capabilities that they can leverage in their solutions than your typical non-cloud engineering team.
Mark – by following the serverless approach, our engineers can be focused on delivering products and product capability really quickly into the hands of our users.
Dave – so what should an engineer learn today, what advice would you give?
Mike – Cloud engineers need to be experts in all the traditional engineering practices, it’s essential. So learn about good coding, good design, good security, good performance. Once you've got a bit of experience around that, then progress into things like cloud formation and get to learn more about what services are in AWS. Play about with a lot of the serverless services, and maybe even potentially go after a certification.
Mark – I would like our engineers to be looking where the industry is going, to start positioning themselves there – learning serverless and learning the serverless mindset, embracing the lambda service but also the managed service ecosystem to deliver business outcomes.
Mike – LIT is a company that has a lot of very highly experienced cloud engineers who are very skilled in this area. So you would come into a team, or an environment, that has a lot of previous experience in delivering these types of solutions
To find out more about jobs at Liberty IT, visit our current vacancies page.