You might have heard this terminology bandied about – but do you know what it means? If you’ve wondered exactly what it is and whether it is something that your organisation should be exploring, this brief explainer is for you.
To understand what cloud native means and whether the concept has relevance to your organisation, it’s worth recapping a little bit about what a typical organisational cloud migration journey will look like.
Most organisations will take a number of steps on their cloud journey:
•Typically, it starts with dabbling with software as a service (SaaS) solutions, such as Microsoft Teams, Microsoft 365 or Salesforce.
•As confidence grows, organisations typically adopt infrastructure as service (IaaS), perhaps moving servers to cloud hosting in order to avoid the overheads of managing on-premises infrastructure. Initially, this often takes the form of a basic “lift & shift” – a simple re-host in which data and applications are transferred from a local, on-premises data centre to the public cloud.
•Platform as a Service (PaaS) services are often next to be utilised because they offer an easier way to manage the resources you have in the cloud.
•At present, the final step in optimising the applications you have running in the cloud is to modernise them for a serverless or microservices framework. This is (usually) what we mean when we talk about “cloud native” apps.
The business drivers for moving to cloud native technologies are much the same for moving to the cloud: greater agility, resilience and cost efficiencies.
As Accenture(1) points out, “When considering your strategy for migrating to the cloud, it’s important to understand that it’s not just about getting there, it’s also about what you do when you get there. For instance, what are your options for rebuilding applications so they can perform optimally in cloud? The process of cloud migration is making companies ask the question: what is application modernisation?”
Cloud native design and technologies answer this question by providing a vision of what application modernisation looks like when apps are designed to optimise the benefits of running your workloads in the cloud.
Microsoft describes cloud native architecture and technologies as “an approach to designing, constructing and operating workloads that are built in the cloud and take full advantage of the cloud computing model”.
The kinds of technologies usually employed will include containers, service meshes, microservices, immutable infrastructure and declarative APIs. They will typically run in a platform-as-a-service infrastructure, such as Microsoft Azure, in order to make use of the native tooling within Azure.
Cloud native workloads treat the underlying cloud architecture as disposable, i.e. it can be provisioned in minutes and resized, scaled or destroyed on demand. This gives you an indication of why they are so well-suited for achieving the economies that cloud promises.
Cloud native systems rely on new approaches in order to deliver these efficiencies. One such approach is microservices. Microservices are a way of constructing modern applications. They are self-contained, independent services that compose together to form an application. The benefit for software developers is that each microservice has an autonomous lifecycle, so it can evolve independently. You don’t need to wait for a general software update to be released to update the individual components of the application.
Microservices can also scale independently – so you can scale up the services required without needing to scale up the entire application. Each microservice is containerised, further helping the reduce the footprint of the overall application. A containerised architecture offers advantages for scalability, agility and resilience. It runs directly on the cloud platform, instead of requiring server infrastructure to run. This helps to reduce the cost of running your environment in the cloud.
There are many technologies that one might use when constructing and managing cloud native workloads.
When it comes to containerisation, the two most common technologies are Docker and Kubernetes. Docker is the market-leading tool for containerisation. Kubernetes is the leading container orchestrator or, in other words, the de facto standard for managing containerised workloads.
Other tools will come into play for managing your infrastructure and your new development pipeline. You may hear terminology such as DevOps and CI/CD in this context and products such as Ansible or Terraform. Such tools help to automate the provisioning of the infrastructure and cloud resources that the containerised microservices need to run – helping you to make sure you achieve the potential cost efficiencies. Most of us will never really need to understand these technologies, thankfully – we can leave that up to our infrastructure architects and software developers! However, we share the details here so that you can recognise some of the common terms and products associated with a cloud native approach.
The degree to which any of this matters to your business will really depend on the size of your organisation and the number of bespoke, inhouse or specialist applications you are running.
For small businesses, or for organisations which are generally running off-the-shelf software-as-a-service applications, the move to a cloud native approach will have little to no direct impact. However, it is worth considering this evolution of technology within your purchasing strategies and decision-making processes.
If you are purchasing new software solutions, it is worth understanding the underlying technology choices of those software vendors, so you can understand the likely lifecycle of the solutions in which you’re investing. Plus, if your chosen solutions are cloud native and using microservices architecture this may create new opportunities for integrations and innovation.
For larger organisations which use software solutions that they are running on their own infrastructure, then it is definitely worth understanding the underlying technology choices of your software vendors, their development roadmaps and their adoption of cloud native and microservices technologies. Likely, these underlying technology decisions may have an impact on your own consumption of cloud resources used to host your software solutions, the management of those environments and the cost. Plus, arguably, if you are investing in solutions that aren’t cloud native (or don’t have a roadmap to get there) you are acquiring technical debt.
For larger organisations or for organisations that are running bespoke or internally developed applications, if you aren’t already looking at cloud native technologies you probably need to be. The danger if you don’t start making the transition is that the technology world around you moves on and you are left with obsolete technology. Perhaps running old, unsupported servers in order to run your legacy applications – and this, of course, leaves you vulnerable to cyber attack. As well as helping you to avoid technical debt, modernising your apps makes a lot of sense in terms of improving agility, resilience, cost-efficiency and cyber-security.
Inevitably, the transformation towards cloud native is going to have most impact for software developers – but that doesn’t mean we shouldn’t all be thinking about it.
If you are interested in learning more about any of the topics touched on in this article, please reach out to our team. We’re always happy to share advice, direct you to relevant resources or to talk with you about your technology roadmap.
Call us on: 0808 164 4142
Or message us.
Further reading
You can find further information about the latest technology topics on our blog:
•AWS, Azure or Google: Which cloud should you choose?
•Inspiration for driving digitalisation: Five business processes that could be ripe for automation in your organisation
•Read our Tips for getting the most from Power Platform
•How do you solve a problem like Suella? The cyber-security lessons we can take from the UK Home Secretary!
•Cyber Essentials has just undergone the biggest update in its eight-year history. So what’s changed?
•And: What Does the War in Ukraine Mean for Your Cyber Security?
Sources:
1. https://www.accenture.com/gb-en/insights/cloud-migration-index