As more large enterprises are now stepping towards cloud with purpose and as organisations look to deliver the technical element of their digital strategies, it is all about the applications – how they are used, how they are developed and how they can help you transform your business. The faster they can be delivered and the better they can perform, all helps you to be more competitive in the market you are operating in.
Evolution of thinking
The adoption of cloud computing mirrors the adoption of virtualisation across the enterprise in the early 2000s. It all started with the test & dev environment before progressing to production workloads. Indeed few CIOs would question the use of virtualisation technology for the deployment of production systems as it is now well understood that it brings significant advantage. But now the pace is accelerating once more. Many have gone past the deployment of virtual machines and are now looking at other strategies.
So, where do you go when you want to move beyond the deployment of a virtual machine?
Being Cloud Native
There are a number of routes you can take, containers, PaaS, serverless, SaaS – all these strategies have their place. You need to understand each of them and map them to your business needs and to the maturity of your existing systems or the future state you hope to get to.
When it comes to those custom built ‘home grown’ applications, most of the organisations we have worked with have understood that making existing (or legacy) applications more cloud native will help them achieve their goals around being more ‘digital’. This will typically involve re-architecting monolithic applications in to micro services and a degree of code refactoring to make them more resilient to a potentially less resilient infrastructure. The re-architecting and refactoring will usually be driven by a need to utilise a PaaS environment or containers (or both). In many cases this also gives them the chance to move away from traditional enterprise middleware software solutions and databases and embrace Open Source alternatives.
The other component of being cloud native is to have the processes that help you deliver a cloud native Software Development Life Cycle (SDLC) – an Agile development process and a DevOps culture – become so much easier when applications can be delivered natively on a cloud technology platform.
The Cloud Platform
The reason I talk about cloud technology is that it refers to the technology that makes cloud work and not the model in which it is delivered. It does not matter whether you are building your own cloud platform or you are consuming a platform from a public cloud supplier, there should be no difference in the approach you take to application delivery.
Many enterprises have recognised the wisdom of this common approach. It does not matter where the target is or will be – by taking a common approach they can use the same processes, common tooling and common applications. Many of the organisations we work with typically start by deploying some form of private Infrastructure as a Service (IaaS) either as an evolution of their existing VMware-based infrastructure or as a new build OpenStack environment. Where they have significant investment in custom developed applications and large development teams, they will have deployed an opinionated Platform as a Service (PaaS) such as Pivotal CF or Red Hat OpenShift. This implementation of cloud technologies supports the agile and DevOps processes and the enterprise quickly realises that for NEW applications this approach will deliver applications faster, of better quality, using less resource (people and infrastructure), and therefore they will be cheaper and easier to support. It is at this point we get the call requesting help on moving the existing and legacy applications to this new cloud environment.
Some enterprises are skipping PaaS and just going for a container route for their new applications. They just deploy using DevOps tooling straight in to the cloud environment they’ve chosen and get the provider to orchestrate their containers. It is fair to say that there is a growing convergence between the pure container world and the world of PaaS.
Regardless of approach, the common theme is that the key approach that delivers value back to businesses is taking an application centric approach, and it is this application centric approach that sets companies like SystemsUp and Fedr8 apart from the infrastructure specialists. By taking this approach, and aligning application delivery with business imperatives, together we can deliver greater value and better outcomes for customers.
This is a guest blog written by Rhys Sharp, Chief Technology Officer for Fedr8, the machine learning application analysis company. SystemsUp is a partner of their Green Rain programme.
If you want to know more about how SystemsUp works with Fedr8 to analyse and bring actionable insight and value to your application estate, please get in touch.