In this series of blogs, we will expand on a few terms we used in the recent cloud paper and explain more about them. We’ll explain why they are important to CXM and why they make a move to cloud inevitable. Each of the concepts have a common theme, they allow us to realise value quicker, in ways that aren't possible using legacy solutions.
Elastic compute - The ability to expand or decrease computing processing power quickly and easily. Often used with elastic storage.
Why is it important? In the good old bad days when we wanted to implement a system we'd go through tiresome and drawn out capital investment programmes. The investment would be written down over 3-5 years. Once kit was approved, delivered, built, commissioned and ready then we could start adding business value. Today we'll do that process in minutes, new storage and new servers are built by code (infrastructure as code), machines are created and destroyed as required. We do this because it allows a company to learn and fail fast. If we need to buy a bigger machine to crunch numbers or to try something we've never done before then we rent processing power.
This however does come with a warning attached. Elastic compute equals elastic costs and costs can increase rapidly if not controlled. Make sure you have a solid governance process in place to control and manage costs.
IaaS, PaaS, SaaS: 3 types of cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
- IaaS gives users a cloud-based alternative to on-premise infrastructure, renting capacity in the cloud. IaaS can be ideal starting point for companies who have legacy equipment and want to “lift and shift” to the cloud. The model allows companies to rent space but a lot of the elastic nature of PaaS / SaaS aren't as available. Companies are also responsible for backup, restores and managing the server.
Easiest way to think of this, you are using someone else's computer but renting instead of purchasing.
- SaaS makes software available to users over the internet, usually for a monthly subscription fee and is generally out of the box with solutions that are setup ready to go.
Think Gmail, Salesforce, Slack etc where the software is available without any complex configuration.
- PaaS is the middle ground between the two. It allows companies to create and develop solutions but without having the overhead of looking after all the infrastructure.
More and more we're finding PaaS hits all our sweet spots in data engineering and cloud development. We don't want our solution architecture experts having to worry about OS patching or updating certificates. We want our experts adding the most value by developing great solutions as quickly as possible.
Why is it important? Depending on the requirements a client has we need to deploy in different ways. If there are complex development requirements and configuration then PaaS might be the most appropriate way to go. If the requirements are certain and we're mainly configuring an application, then SaaS can be the most appropriate choice.
CI / CD: The process of continuously integrating and deploying software. Ensuring that we have automated builds, tests, and deployments.
Why is it important? In short businesses don't realise any value when software changes are in development. The quicker a change can be put into production, safely, the better. There is also a counter intuitive impact of changes, the smaller the change the easier it is to find out if its working or not. Take an example where a company has stored up hundreds of changes and deploys them all at once, something breaks, what was responsible for the outage? You'll have fun unpicking all those changes to find out. Take a CI/CD world where a change is released, and the impact of change is obvious.
Simply put CI/CD releases value and reduces risk.
In the next blog we'll talk about the migration process and how to ensure you have governance & control as part of a cloud strategy.
If you're interested in hearing more, reach out to us below.