Strategies for Cloud Agnostic Architectures

Strategies for Cloud Agnostic Architectures

Introduction

If your business uses cloud computing–as most businesses do these days–it’s very likely that you have at least one public cloud solution. Ninety-one percent of organizations have adopted the public cloud. What’s more, a full half of large enterprises now spend more than $1.2 million every year on their public cloud deployments.

The “public cloud” refers to cloud computing services such as storage, software, and virtual machines that are provided by third parties over the internet. Some of the biggest public cloud providers are Amazon Web Services, Microsoft Azure, and Google Cloud Platform.

Increasingly, however, companies are growing interested in a “cloud agnostic” strategy. So what does “cloud agnostic” mean, and how can your own business be cloud agnostic? 

This article has all the answers.

Cloud Agnostic: Definition and Examples

cloud agnostic infrastructure

One of the greatest benefits of cloud computing is its flexibility. If you’re running out of storage, for example, your public cloud solution can automatically scale it up for you so that your operations will continue seamlessly.

Being “cloud agnostic” takes this idea of the flexible cloud one step further. As the name suggests, cloud agnostic organizations are those capable of easily running their workloads and applications within any public cloud.

The fact that an organization is “cloud agnostic” doesn’t mean that it’s completely indifferent as to which cloud provider it uses for which workloads. Indeed, the organization will likely have established preferences for their cloud setup, based on factors such as price, region, and the offerings from each provider.

Rather, being cloud agnostic means that you’re capable of switching tracks to a different public cloud provider should the need arise, with minimal hiccups and disruption to your business.

Why Do Companies Want to Be Cloud Agnostic?

benefits of being cloud agnostic

It’s hardly surprising that more companies are looking to be cloud agnostic, given that 84 percent of enterprises now use a multi-cloud strategy. This involves using two or more public cloud solutions, allowing you to take advantage of the differentials in features or prices between providers.

Another reason that companies want to be cloud agnostic is to avoid vendor lock-in. Cloud computing has revolutionized the ways that companies do business. It does so by giving them access to more products and services without having to support and maintain their own hardware and infrastructure. However, this increased reliance on cloud computing also comes with the risk of dependency.

Management consulting firm Bain & Company finds that 22 percent of companies see vendor lock-in as one of their top concerns about the cloud. “Vendor lock-in” is a phenomenon when a business becomes overly dependent on products or services from one of its vendors. This is highly dangerous if the vendor hikes its prices, stops providing a certain offering, or even ceases operations.

The world of cloud computing is rife with vendor lock-in horror stories. One example is that of Nirvanix, a cloud storage firm that went out of business and gave clients only two weeks to move their data. While it might seem impossible for an Amazon or Google to go out of business, remembering companies like AOL show that it’s not completely unrealistic for a vendor to cut services. By making your company more flexible and adaptable, being cloud agnostic inoculates against the risk of vendor lock-in.

Cloud Agnostic: Pros and Cons

Cloud agnostic architectures

The Pros of Being Cloud Agnostic

  • No vendor lock-in: As mentioned above, being cloud agnostic makes the risk of vendor lock-in much less likely. Companies that are cloud agnostic can “diversify their portfolio” and become more resilient to failure and changes in the business IT landscape.
  • More customization: Using a strategy that’s cloud agnostic and multi-cloud lets you tweak and adjust your cloud roadmap exactly as you see fit. You don’t have to miss out on a feature that’s exclusive to a single provider just because you’re locked into a different solution.
  • Redundancy. Having systems in place across various clouds means you are covered should any one encounter problems.

The Cons of Being Cloud Agnostic

  • Greater complexity: Being cloud agnostic sounds great on paper, but the realities of implementation can be much more difficult. Creating a cloud strategy with portability built in from the ground up generally incurs additional complexity and cost.
  • “Lowest common denominator”: If you focus too much on being cloud agnostic, you may only be able to use services that are offered by all of the major public cloud providers. Even if AWS has a great new feature for your business, for example, you may be reluctant to use it unless you can guarantee that you can replicate it in Microsoft Azure or Google Cloud Platform. While more of a choice in enterprise strategy than a drawback, it is something to be aware of.

Strategies for Being Cloud Agnostic

A number of articles say that being truly cloud agnostic is a “myth.” These pieces argue that “cloud agnostic” is a state that’s not realistic or even desirable for most organizations.

In fact, being entirely cloud agnostic is an ideal that may or may not be achievable for you. Unless you are sure that the future won’t change, it may not be worth the effort to reach this goal. In large part, the tradeoff comes at the expense of your other IT and cloud objectives.

Nevertheless, there are a number of “low-hanging fruit” technologies that you can adopt on the path toward being cloud agnostic. These will be advantageous for your business no matter where you stand on the cloud agnostic spectrum.

For example, container technologies such as Docker and Kubernetes are an invaluable part of being cloud agnostic. Essentially, a “container” is a software unit that packages source code together with its libraries and dependencies. This allows the application to be quickly and easily ported from one computing environment to another.

Another tactic for being cloud agnostic is to use managed database services. These are public cloud offerings in which the provider installs, maintains, manages, and provides access to a database. The major public clouds such as AWS, Microsoft Azure, and Google all offer theoretical possibilities for migrating between providers.

That said, using products such as IronWorker that can deploy on any cloud, including fully on-premise deploys, is the easiest and most cost effective way to remain cloud agnostic. This is because with virtually one click, you can save your settings and deploy to whatever environment your enterprise wishes. In short, simplicity equals operational cost efficiency.

Conclusion

Technologies such as containers and managed database services will go far toward making your business more flexible and adaptable. This is true even if not completely cloud agnostic. If you do decide to become a cloud agnostic organization, consider using the services of Iron.io. Set up a consultation with us today to find out how our cloud agnostic IronFunctions platform can help your developers become more productive and efficient.

Introducing: Computerless™

Iron was one of the pioneers of Serverless, so we’re excited to announce that we’ll also be one of the first companies to offer the next generation of compute:  It’s called Computerless™.

Unlike Serverless, this technology removes the physical machine completely.  Our offering piggy-backs off the recent developments in fiber optic technology developed at the University of Oxford.  If you haven’t heard about this breakthrough, we’ll do our best to explain:

Researchers have found a way to control how light travels at the molecular level, thus being in complete control of the resulting attenuation.  Molecular gates can then be created, and state stored in finite wavelengths. It’s somewhat equivalent to qubits in quantum computing, but in the case of optical fiber, it’s a physical reality.

The end result of this technological release allows for computers to be fully encapsulated in fiber optic cable.  The usual components needed are now mapped 1-to-1, via light. This has allowed Iron’s infrastructure to completely change.  While we’ve run our infrastructure on public clouds like AWS and GCP in the past, we’ve been able to leave that all behind. We’re now able to push our entire suite of products into optical cable itself:


Iron’s new and improved infrastructure on a cheap plot of land in Arkansas

In the next few months, we’ll be pushing all of our customer’s sensitive data into the cables shown above as well as running all Worker jobs through them.  We’re pretty sure the cables we purchased are for multi-tenant applications, so you can probably rest assured that we’re doing the right thing. In fact, NASA has already expressed an interest in licensing this technology from Iron. Other interested parties include the government of French Guiana and defense conglomerate Stark Industries. 

Researchers have kind-of concluded that this technology is ready for prime time, and also are quick to state the fact that in 1998, The Undertaker threw Mankind off Hell In A Cell, and plummeted 16 ft through an announcer’s table.

On-Premises or On-Cloud? How to Make the Choice

on prem container management

Introduction

It was once a tech buzzword, but cloud computing has become a mature best practice for companies of all sizes and industries. Even if you don’t know it, it’s highly likely that part or all of your business has already moved into the cloud.

Case in point: A whopping 96 percent of organizations now report that they use cloud computing in some form or fashion.

Despite this lofty statistic, many companies are also choosing to maintain some or all of their technology on-premises. So what exactly is the difference between on-premises and on-cloud? How can you make the choice for yourself? We’ll discuss the answers in this article.

What Is On-Premise Computing?

On-premise computing (also known as “on-premises”) is the traditional (and, until recently, the dominant) model of enterprise IT.

In the on-premises model, organizations buy their own hardware and software, and then run applications and services on their own IT infrastructure. On-premises applications are sometimes called “shrinkwrap.” This refers to the plastic film used to package commercial off-the-shelf software.

The term “on-premises” implies that the technology is physically located on the organization’s own property. This could be in the building itself or at a nearby facility. This grants the organization full control over the technology’s management, monitoring, configuration, and security.

Companies that use the on-premises model usually need to purchase their own software licenses and handle their own tech support. For these reasons, on-premise computing is well-suited for larger enterprises. They are more likely to have sizable IT budgets and skilled IT employees.

What Is Cloud Computing?

Cloud computing vs. on premise

Cloud computing is an enterprise IT model in which hardware and/or software are hosted remotely, rather than on company premises.

There are two main types of cloud computing: public cloud and private cloud.

  • In a public cloud, a third party is responsible for providing your business cloud services, software, and storage via the internet. Your data is hosted within the cloud provider’s remote data center, separate from the data of other customers.
  • In a private cloud, your business owns or maintains its own cloud infrastructure. The cloud is provisioned for the use of a specific organization. Like the public cloud, software, storage, and services are provided remotely via the internet.

In addition to the public-private division, there are three different types of cloud computing that you should know about: IaaS, PaaS, and SaaS.

  • IaaS (infrastructure as a service): This is the most bare-bones cloud computing offering. Users rent IT infrastructure such as virtual machines (VMs), servers, networks, and storage and access them via the internet. However, they are responsible for managing all other aspects of the system: runtime, middleware, operating systems, applications, and data.
  • PaaS (platform as a service): PaaS includes all the services provided by IaaS, as well as the runtime, middleware, and operating system. Users are only responsible for managing the applications and data.
  • SaaS (software as a service): SaaS is an all-in-one offering that includes everything from the VMs and servers to the applications running atop them and the data that they use. A few examples of SaaS products are Dropbox, Google Apps, Microsoft Office 365, and Adobe Creative Cloud.

On-Premise vs. On-Cloud: The Pros and Cons

Rather than jumping on the cloud bandwagon, it’s important to perform a sober evaluation of the pros and cons of both on-premise and on-cloud for your own business needs. Now that we’ve defined both on-premise computing and cloud computing, let’s discuss which one is more convenient in terms of four considerations: cost, scalability, security, and backups.

Cost Model

In terms of cost, the cloud vs. on-premises comparison boils down to two different pricing models: capital expenses and operating expenses.

With on-premise computing, businesses need to make a large capital investment up front when buying hardware and software. They’re also responsible for any support and maintenance costs incurred during a product’s lifetime.

Cloud computing, meanwhile, is usually an operating expense. Businesses pay a monthly or annual subscription fee in order to have continued access to the cloud. Upgrades, support, and maintenance are the vendor’s responsibility and usually baked into the costs of the subscription.

Some companies find that the subscription model of cloud computing is more convenient for their purposes. Subscribing to a new service for a few months can be more cost-efficient for businesses that are looking to experiment, and for smaller businesses that don’t have large amounts of capital available. However, research by firms such as Gartner have shown that both cost models are equivalent over the long term.

Scalability

container management on-prem

Scalability refers to a system’s capacity to easily handle increases in load. For example, a website that usually sees very little traffic could suddenly have thousands or millions of visitors if it starts to receive attention on social media.

Cloud computing is able to rapidly scale storage and services up and down during peaks and lulls in activity. This is tremendously helpful for companies that see frequent changes in demand, such as a greeting card e-commerce website that does most of its business during a few holidays.

When compared with the cloud, on-premise computing is fairly brittle and difficult to scale. Businesses that operate on-premises may need to buy powerful hardware that goes unused for much of the time, wasting time and resources.

Compliance and Security

For many organizations, concerns about security and compliance are the biggest reason that they haven’t yet moved their data and infrastructure into the cloud. Fifty-six percent of IT security decision-makers say that their company’s on-premises security is better than what they can have in the cloud.

Industries that handle sensitive personal information — such as heath care, finance, and retail — have their own regulations about how this data can be stored and processed. In addition, many U.S. federal agencies have chosen to keep some or all of their workloads on-premises.

Nevertheless, despite popular concerns about the security of cloud computing, there has yet to be a large-scale breach of one of the major public cloud providers that was due to a fault in their technology. The breaches involving Amazon Web Services, Microsoft Azure, and Google Cloud Platform have been due to human error. This presents one advantage of on-premise: containment of human errors.

As Adrian Sanabria, director of ThreatCare says: “Since everything in the cloud is virtualized, it’s possible to access almost everything through a console. Failing to secure everything from the console’s perspective is a common (and BIG) mistake. Understanding access controls for your AWS S3 buckets is a big example of this. Just try Googling “exposed S3 bucket” to see what I mean.”

With an on-premise workload, if a person makes a configuration error, the possibility of a breach is lessened because there is no single console for everything in their IT system. So a single error is less likely to result in a data loss, big or small. After all, human errors will persist for the foreseeable future.

As a final note, both on-premises and cloud storage solutions support encryption for data while in transit and at rest.

Backups and Disaster Recovery

running containers on premise devops

One of the biggest selling points of the cloud is the ability to securely back up your data and applications to a remote location.

Whether it’s a natural disaster or a cyberattack, the effects of a catastrophe can devastate organizations that are caught unprepared. According to FEMA, 40 to 60 percent of small businesses never reopen after suffering a disaster.

In an era when threats both natural and virtual are multiplying, it’s critical to have a robust strategy for disaster recovery and business continuity. Customers, employees, and vendors must all be assured that your doors will be reopened as soon as possible.

The benefits of the cloud as a backup strategy are clear. Data stored in the cloud will survive any natural disaster that befalls your physical infrastructure, thanks to its storage at a remote site.

However, this benefit is also a double-edged sword; restoring data from cloud backups is usually slower than restoring data from on-premises. Therefore, organizations that can afford it often choose a two-pronged backup strategy: on-premises backups as the first line of defense, as well as secondary backups in the cloud.

Hybrid Cloud: The Best of Both Worlds?

So far we’ve presented on-premises and the cloud as polar opposites. However, reality isn’t quite that simple. Fifty-one percent of organizations have chosen to pursue a “hybrid” cloud strategy.

In a hybrid cloud solution, businesses use a combination of both on-premises and cloud technology, mixing and matching as best suits their goals and requirements.

For example, the city government of Los Angeles has opted for a hybrid cloud deployment using both public cloud and on-premises infrastructure. Officials decided that data and applications from certain departments — such as emergency services, traffic control, and wastewater management — are too risky to host in the cloud.

Other enterprises are attracted by the features of the cloud, but are still content with their current on-premises deployment. These organizations choose a hybrid strategy for now, slowly migrating to the cloud while replacing their on-premises infrastructure piece by piece.

Still other companies prefer the business agility that a hybrid cloud strategy offers. Different software, data, and components can operate between different clouds and between the cloud and on-premises. These organizations usually have needs and objectives that evolve quickly, making flexibility an essential concern.

Conclusion

Whether you’re staying on-premises for now or you’re totally committed to the cloud, there’s no wrong answer when it comes to on-premises and on-cloud. Instead of blindly following trends, each business needs to examine its own situation to determine the best fit.

Here at Iron.io, we understand that each organization has a unique timeline and different goals for its enterprise IT. That’s why we offer both IronWorker and IronMQ in cloud, hybrid, and on-premise deployments.  IronMQ is a high-performance message queue solution, while IronWorker is a highly flexible container orchestration tool that allows background task processing with ease.

Want to find out more? Get in touch with us to sign up for a free trial of IronWorker and IronMQ today.