Taking everything into account, we believe the Cloud has been a true game changer. It was messy in the early days but as it has matured and the choice of contender providers has grown, it is now truly a first class technology option. Most if not all of your most favourite apps and services are running in the Cloud. Without the need to purchase or lease and then provision and support your own equipment you are at a clear advantage compared to businesses of the recent past. You can start small, and then grow organically with your business. The fact that your technology needs will grow in line with your business growth, and hopefully revenue, means that you have a consistent mapping of technology cost and value it provides to your business.
In terms of technology support and development, once certain security provisions have been made, you can employ people the world over to support you and develop new technology platforms and features if you need them. Modern software and technology tools almost assume that those working on things are remote of each other. The freedom you gain from this is hugely beneficial, especially in the early days of a business when flexibility, adaptability and speed of execution are the primary focus points
That's the good news, and yes, you should be seriously considering the cloud, but let's get prudent and practical for a minute, as there is a few gotchas to contend with, some of which can be very costly
There are really only two limitations to the cloud. One is your imagination and ambition and the other more importantly, is the depth of your companies pocket. Yes, the cloud can be costly. Stories of unexpected bill spikes are common and if you don't do you due diligence then you might get stung and have to throw too much of your valuable capital and expenditure into your technology stack. Because the cloud is so vast, it can accommodate even the most resource intensive and greedy technology, swallowing up VMs, CPU cycles and RAM and disk space at record speed. These things will dictate your operating costs in the cloud and you must keep them in mind at all times, regardless of what size your business or organisation is. Business is all about minimizing the money out and maximizing the money in. Your cloud spend should have high visibility in your cost management process. To maintain control over your cloud deployment, you must employ discipline, planning and a restrictive attitude while building your technology stack in the cloud.
The easiest and most important way to keep that cloud cost down is to embrace simplicity in your technology stack. We published a post called Decide What You Want From Your Technology Before You Start Building which outlined the approach to understanding what you you need before you begin your build or engage a third party to build it for you. The result of this approach is that you remain focused on exactly what you need and nothing more.
Over-engineering and building for the future now, are two huge mistakes in the modern technology stack development process. Fast, iterative software development means that you build in tiny increments and always only have exactly what you need. Using the simplest and sometimes more manual processes can provide huge benefit. You increase your understanding of your technology and therefore your understanding of what you technology needs are now and into the future. Don't rush to buy third party software to manage parts of your stack. You won't need their features any time soon if your starting out and their software will only increase your cloud deployment costs to implement it, sometimes for very little value.
The key to keeping it simple then, is first, know what you need, build only what you need and restrict change by every proposed change or addition having to justify it's technology feature to a business use case. It is important to remember here, that anything that reduces cost or increases efficiency in your ability to deliver your software is a valid business use case. Listen to your engineers and understand what they are saying.
The cloud is priced based on resource usage. Resources in the cloud come in the form of gigabytes of RAM, disk space, CPU processing power and number of virtual machines among other cloud provider specific technologies. Make sure your development team or third party provider can show you they understand the resource requirements of what they are building. Only choose virtual machines that fit the memory requirements of your applications - yes your developers should know what these runtime requirements are - and then encourage a lean and quality software development process to ensure that you are not wasting valuable resources when building the software.
This can be difficult and your developers will not want to develop in this restrictive way, but this is your valuable funds we are talking about and in the end, you will end up with a higher quality software stack and a higher quality team of developers (or preferred technology provider if going external)
Your business will evolve over time and the cloud provides you the ability to directly map your business growth to your technology growth. This means you must review your technology regularly and change it regularly so that it continues to support your business use cases. If you have built according to the only what you need mantra we have discussed, your technology stack will be open for continuous improvement and incur very little technical debt as you go. it will remain lean and focused and of high quality.
Another side to this part of your cloud technology strategy is that if you find something is not working correctly tackle it immediately and avoid building up a list of things that need fixing. This list will grow and it will never get done. Your software quality will nosedive and you will increase your costs. This is called Technical Debt and it is a silent killer for all software and technology.
Technical debt used to be something that we could hide, or ignore. Large institutions routinely pay lip service to reducing Technical debt to appease their software and technology teams, but once you go to the cloud it becomes a hard source of running cost increases. If you leave code running that is redundant, if you refuse to fix memory leaking code, if you hack and put sticky plasters on parts of your software stack that are under-performing and of low quality, your costs will increase. You cannot get sentimental about your technology and change has to be something that everyone is very familiar with. If you have built based on the previously discussed guidelines, change will be possible in a swift, controllable and high confidence building way. Aim for that. Aim for the confidence to say yes to every release to your production environment at any time.
In terms of what you should be aiming for this is the core list
If you can manage all this, you should have a business that thrives and a technology stack that maps exactly to your business.Your technology should be a digital representation of your real life business processes and capabilities, with no waste. We are not saying this is an easy task - we are dealing with human beings in an organization after all - but striving for this lean and adaptable cloud deployment will pay dividends immediately and keep those cloud costs under control.
We’re ready when you are. Simple schedule some time below and let's discuss your business.