A term that often crops up in cloud discussions is “cloud-agnostic”. But, what exactly do we mean by this?
In order to understand the meaning, you need to know that all cloud environments work differently in some way or another. Microsoft Azure ticks differently than Amazon AWS, which in turn ticks differently than Google’s Cloud Platform. Services in one cloud are configured differently than in the other clouds. Hardly anything works the same. Thus, it is also not so easy to “port” a service that works without problems on one cloud to another cloud.
In some cases, this only requires a slightly different configuration, but in other cases an existing application would have to be adapted in the source code and regenerated in a worst case scenario. This would in turn trigger a number of other activities in the software development environment, such as a completely new test cycle with manual functional testing. This normally means a considerable amount of additional effort. Thus, it often does not make economic sense to move a cloud application from one cloud to another. This quickly leads to a “vendor lock-in” or “cloud lock-in”. In other words, once you have decided on a target platform or cloud, you are locked in and can only move away with enormous time and financial effort.
We try to circumvent this “lock-in” problem in software development by developing “cloud-agnostic”, which means “independent of a specific cloud environment, instead executable on any (cloud) platform”. This can be achieved, for example, through cloud independent technologies like “Kubernetes”.
Oh man, and what is Kubernetes again?
A not quite exact but for understanding maybe useful description of Kubernetes could be:
Kubernetes provides a standardized runtime environment in which software built for that purpose can run. Regardless of how Kubernetes is deployed, whether as a Kubernetes service in a cloud, on virtual servers in the cloud, or on its own servers, it behaves the same.
Thus, software built for Kubernetes is workable on the vast majority of clouds, if you can just somehow deploy Kubernetes there. And what can I say, luck is with us… every reputable cloud provider also offers Kubernetes “as a service”. This means that an application developed for Kubernetes can usually be deployed on multiple cloud environments with minimal effort.
Of course, I/O.nite is fully cloud-agnostic. The IoT platform that adjusts to you and your business needs, not the other way around.
If you have any more questions simply contact our experts via firstname.lastname@example.org