Prefer Cloud Agnosticism?

What Cloud Agnostic means?

Cloud Agnostic means being free enough to have tools, platforms, and applications that are compatible with every cloud provider’s platform, deployment shall be dynamic enough to be ready to move from any cloud provider to another without technical issues.

Use Case

As all of us know business requirements always change, suppose a business requires to move the deployment of an application from country to country to meet some country's policies; for example, to keep citizens’ data within the same country, and no permission to move such data outside even if the cloud provider is outside.

The main problem behind such requirement is you may not find a data center for the same cloud platform you are using available in the new country!

In-Country Deployment

Whatever system you are building, it should reach to delivery phase (deployment), and working with cloud today provides different cloud providers like AWS, Azure, Oracle, etc.

Dealing with such providers needs attention to every component you are going to use, and the problem that you might face is having Cloud providers’ Specifics!

For example, AWS has specific services and data centers in different countries, services like S3, SQS, and ELK, and moving to Microsoft Azure will require changing such services to something else that can work on that platform.

From Cloud-Specific to Cloud Agnostic

choosing the component itself required some level of focus, from performance and compatibility points of view, research should be conducted, pros and cons should be discussed, and the decision should be made by a team of experts.

Is it all about System Components?

Being cloud agnostic isn’t only about system components and services you are going to use, but it is about communications, and a complete understanding of what is being used by engineering teams, that way teams can safely choose not only component they are going to use, but also code compatibility they are going to develop.

For example, notice the impact of a small change in the following java code

Looks good! Right? But what if the developer introduced the following in the code already?

Looks good! Right? But what if the developer introduced the following in the code already?

The code is no more compatible with different cloud providers, and will not work on any platform but AWS. So, It was really important for the engineering team to give attention to such a process, review the systems from different angles, and adapt the code if required.

Conclusion

Cloud Agnostic can protect you from lots of pains and suffering you may face because of business requirements that are exposed to country policies, planning to be agnostic from day one is the best way to achieve so, meetings and following-ups are required to govern the process.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sweelam

Sweelam

Software Engineer and Software Architecture Fan