Should we move our technology to the cloud?
Defining what the cloud is can be harder than it first seems any software company or Enterprise which has a reasonable technology architecture stack, or have more than one computer connected via a network. We think of any network which is either a wide area network or local area network as being on-premise, whereas anything connected to to computers on another network outside of your own own network as being a cloud based architecture. we could have just gone to Google and look it up but we found it easier to just trying to find it for ourselves. This allows us to consider Amazon web Services Google Cloud, Microsoft Azure, as fitting this kind of cloud-based infrastructure.
We at Info Rhino have traditionally worked on premise offering consultancy to enterprises managing their data technology and information architecture. these clients have specific business verticals and projects needing to be delivered where they have a heightened sense of security and restrictions put on them by regulators. these clients tend to be more reluctant to move to the cloud.
It is the latest trend is it not? We have amazing services offered by cloud providers with fantastic user interfaces that helps us to manage significant parts of our software architecture with relative ease, or does it?
We have thought of a cloud has been not much more than servers hosted remotely with some "bells and whistles" on top, indeed what we have tended to find with most evolution of software is the more they become user-friendly the less flexible they are to experts. it won't be possible to go through the entire strengths and weaknesses of cloud based architecture indeed nobody is in a position to say 100% yes or no to this. Instead this article will try to focus on observations via found whilst using cloud vs on premise architecture.
Companies with a website email capabilities perhaps a small order entry system will fall into this small technology footprint company category. They may have assets such as mobile phones, stocks, computers, materials that needs to be kept a note of. There will be a CRM system and database. Should a company such as this move all of them architecture to the cloud, does it make sense? Assuming there are not too many staff, it makes sense to have the email hosted by an email hosting provider. the website will be better served from a website hosting provider than from a cloud-based provider the expertise required to manage the cloud-based website is higher than most website hosting providers. We have also found that at today's money in 2022 it cost more money to host a website on a cloud provider than with a web hosting company. It can be easy to get drawn into using a cloud provider in the short-term to then see quite high costs that were unexpected in the longer term it is possible to have desktops hosted in the cloud and to ensure that your technology hardware requirements cost is much lower, however we have found that the cost of having a hosted machine can be more money than a typical computer. We should consider the cost of electricity to when factoring in these differences in cost.
Another thing to consider is that you don't have to go all in on cloud or no cloud. For example, many small businesses will be more than happy with backing up key data to a data storage cloud provider, just retaining these in case of any disaster recovery requirements. This is what we do at Info Rhino.
The smaller business with a technology focus
We, at Info Rhino, fall into this category. We develop software, we have data processing, we have a website hosted on a website hosting provider, and we work with cloud-based technology including Google Cloud and Microsoft Azure. It is worth highlighting but we are very precise in how we decide where to host a architecture due to licencing costs. we also note that in many situations the cloud-based version of a specific technology is inferior to the equivalent on-premise technology we find this with Microsoft azure where it does not allow for Microsoft analysis services in the failed but this is still available on premise in another example we have worked with SQL Server Azure Database to find that many of the functionality available in Microsoft SQL Server standard edition are not in the cloud based version. Examples being memory optimised tables, SQL Server Maintenance Plans, and many more.
It is worth highlighting that smaller technology companies should approach cloud versus on-premise with a hybrid strategy. One of the issues we have found when working with cloud-based technology is that because they use rappers around this tech what is easier to do on a desktop or server can prove very complicated to achieve within the cloud. Sometimes this can involve creating many more jobs, and using more components and features from the cloud hosting provider, which will in turn lead to a higher cost. Developers can lose much of their productive capability by why spending too much time figuring out how the cloud based architecture works obviously developers learn and adapt but this can be a potential inhibitor to getting maximum productivity out of the development team.
We genuinely think we can run software locally on a computer in the office, which will be cheaper to run than in the Cloud. We would definitely move certain technology to the cloud once we felt it was the best approach remember. Alternatively, we could use a web hosting provider's database to do much of this processing, if we felt it to be the case, and because we are experts in building software, we can reduce the costs of this approach.
The Small to Medium Sized Enterprise with technology focus
We still think a hybrid approach is required. We don't necessarily believe that this type of organisation should have everything in the Cloud. The enterprise is likely to see massive costs by overlooking small details such as misconfigurations, unless they have a very good DevOps function they will struggle to fully leverage the benefits of the cloud versus on-premise. We are we are developers too but it is worth noting that developers love new technology and new gadgets, it can be very tempting to go down the Cloud path without truly evaluating whether it provides true benefit to the organisation.
Large Enterprises should they move to the cloud?
This is the million-dollar question - quite literally. research shows the cloud-based hosting for larger Enterprises is a significant saver of costs however you lose that granularity and control with cloud-based architecture and of course the inability to do things as intuitively with on-premise software. An esoteric example, few will consider is batch scheduling workload automation. If we choose to look at azure pipelines and in particular azure data factory a powerful workflow automation is inbuilt to this mirroring what SSIS can do do within the enterprise, companies need to have a very powerful process for overseeing their entire workload or automation. Traditionally, there is an operations team oversee these processes. The only question to ask is the software and capabilities offered by the cloud architecture better than the highly evolved batch automation software used by enterprises? We would say - resoundingly no! What can appear to be quite straightforward may turn into a nightmare architecturally if a cloud based approach is adopted.
Truthfully - we are huge fans of Microsoft Azure. We have also been exploring Google Cloud recently, writing a neat application to generate audio files from documents. This has helped us to create video content on YouTube relatively quickly. We want to really pick apart Microsoft SQL Server, to really explain the challenges to be found when using cloud-based architecture. Please note - this is not just about SQL Server.
- There are no maintenance plans with in Azure SQL database. We need to explore other mechanisms to do the same thing which costs a lot more time to set up.
- Database administrators who are experts in managing databases have to reskill themselves without significant benefit.
- Developers can find themselves struggling to do basic things and having to learn turn different syntax different components which they know natively work better with on-premise software.
- Many of the features available in the versions of on-premise Microsoft SQL Server are not available in Azure SQL database.
- Software developers majorly have very poor levels of understanding when managing databases. The mere mention of AI can provide a comfort blanket that is ineffective. Many facets of azure SQL database and Azure in general, try to leverage on removing the need for expertise knowledge because as artificial intelligence can take over this. We into at Info Rhino analysed a database to find hundreds of issues with how the database was optimised and structured. We gave the artificial based intelligence wizard ago to see what it came up with and it suggested just three improvements on indexes, which were actually not appropriate.
Should we move to Cloud? Thoughts and conclusions.
The reason we wrote this article is because of the fervour of many technology departments in moving everything to the cloud. We are all still students of the cloud and there is a lot more to learn as these services evolve and improve. Embracing change is not necessarily a good thing, understanding what the change can offer is a good thing. We think many enterprises can get themselves into other trouble by assuming that the cloud is a panacea of cost savings and higher productivity. At the same time these advanced capabilities offered within cloud providers are unrivalled if comparing it to what many companies would be able to produce themselves in-house. Taking the cognitive voice cloud solutions for example.
Another challenge which may seem to be a small risk at the moment, but we have seen this happen to some well-known businesses that fall foul of popular opinion and censorship. As business is centralised and depends more upon cloud-based hosting, they themselves run the risk of being deplatformed. Companies can get architecture up and running quite quickly if they moved to a new server infrastructure. They can deploy the same backed up databases and code. If they are using very specific cloud-based software to manage their infrastructure the moment they have to switch to a different cloud provider they will spend a lot of time trying to get their infrastructure up and running. Interference from ESG and CSR may seem far-fetched, but any risk assessment will include this in their Disaster Recovery strategy.
Our opinion is that all companies, of whatever size, should take a hybrid approach to cloud based hosting. They should try to use a service oriented approach or microservices strategy to give them a relative layer of insulation from the underline architecture this will be hard to do when using cloud-based infrastructure but thinking more in terms of promises will help to give some degree of immunity from the risks of cloud-based after architecture. We do not feel to be in a position to say yes or no with regards to whether companies should be in a cold or not instead what we prefer to do is highlight where we think there are issues with going all in on the cloud or failing to take advantage of the cloud by sticking to on premise we ourselves are Data Solutions providers and when will you write development software on our own desktops we are always thinking that at some point they will probably be running in a cloud-based infrastructure. We should avoid becoming fascinated by the whole gizmo/gadget/shiny new toy vibe of the cloud.
We are happy to work on cloud on premise we see strengths and weaknesses with both approaches. If you want to find out more about what we do take a look at our website and contact us if you feel the wish to do so.
Written with StackEdit.