Blog

"Cloud Native" - Why it matters?

Oct 23 2024/Cloudsmith/3 min read
Picture of Dan McKinney
by Dan McKinney
The difference between "Cloud Native" and "Cloud Hosted" products lies in their architecture, design philosophy, and how they leverage cloud infrastructure. Let’s break down the key distinctions.

The difference between Cloud Native and Cloud Hosted products lies in their architecture, design philosophy, and how they leverage cloud infrastructure. Let’s break down the key distinctions:

Cloud Native Product

A Cloud Native product is specifically built for the cloud from the ground up. It is designed to fully utilize cloud computing capabilities such as scalability, elasticity, and high availability. 

Some characteristics include:

Microservices / Distributed Architecture: The application is often broken down into microservices and/or leverages Cloud-Provider managed services, with each service independently deployable, scalable, and manageable.

Elasticity and Scalability: They can automatically scale up or down based on demand, making them more efficient in handling fluctuating workloads. Also, the scaling can be more fine-grained, to specific parts of the service/platform

Cloud-Optimized Databases: Cloud-native applications are built to use cloud-specific databases (e.g., AWS Aurora Postgres, DynamoDB or Google Cloud Spanner etc) and services designed to take full advantage of cloud features. They are “Infrastructure Aware”. 

DevOps & Continuous Deployment: Cloud-native appliications typically support rapid development cycles, using CI/CD pipelines to automate deployments seamlessly with zero downtime. This means faster updates, releases, improvements and fixes.

Example:  A cloud-native SaaS product like Netflix or Slack is architected specifically for dynamic cloud environments, offering high availability, multi-region support, and easy  scaling.

Cloud Hosted Product   

A Cloud Hosted product is typically a legacy or traditional software application that was originally built for on-premise environments but has since been moved to the cloud. Instead of being designed with cloud-native principles, it's hosted on virtual machines or cloud infrastructure and usually does not fully leverage cloud-native features. 

Characteristics include:

Monolithic Architecture: These products are often built as large, single applications that run as an instance rather than being divided into smaller, scalable services.

Virtual Machines: Rather than using containers or orchestration, these apps may be hosted on traditional virtual machines or cloud servers (e.g., AWS EC2 or Azure VMs).

Less Elasticity and Scalability: Cloud Hosted products may not scale as efficiently or dynamically as cloud-native products, requiring the entire instance to be scaled up or additional whole instances spun up and clustered/replicated, making them less responsive to real-time demand compared to cloud-native apps.

Existing Infrastructure: These products often still rely on traditional infrastructure or databases (Like MySQL or Oracle), with those databases hosted in the cloud on a virtual machine. 

An example could be older CRM systems like SAP or older ERP software moved to the cloud but without restructuring/re-architecting the core software to fully utilize cloud-native principles.

Summary of Differences:

Aspect

Cloud Native 

Cloud Hosted 

Architecture

Microservices / Distributed.

Monolithic.

Scalability

Dynamic, auto-scaling.

Manual or less flexible scaling.

Cloud Resources

Optimized for containers, serverless, etc.

Relies on virtual machines or traditional instance-based setups.

DevOps & CI/CD

Continuous integration and deployment. Frequent updates

Traditional deployment, Slower / less frequent updates.

Performance

High elasticity and resilience.

Limited by original design, can be less responsive to changes.

In essence, "Cloud Native" means that an application is inherently designed to take full advantage of cloud computing, whereas "Cloud Hosted" applications are more of a legacy or traditional application that's been minimally adapted to run on cloud provider infrastructure. Cloudsmith is a true Cloud Native Artifact Management product.

Why do some Vendors offer Cloud Hosted? 

The short answer is: 

It’s just not easy to take a traditional application and make it Cloud Native, it’s much less development effort just to host that application on a cloud provider’s infrastructure. To be truly Cloud Native requires Cloud technologies and services to have been considered when an application was architected. To do this with a traditional application that can be installed on a server on-prem or a VM in the Cloud is essentially a rewrite of the application, and that is a monumental effort for a vendor, especially when they have an installed base of users. Ultimately, it would be an entirely new product. 

Get our next blog straight to your inbox