We are thrilled to be included in the most recent IDC Innovators report for cloud-native application delivery controller (ADC) solutions.
This brings us to an intriguing topic - what is “cloud-native”? And how, if at all, is it different from “cloud-first” or “cloud-only” architectures? Well, let us parse through each of these terms:
- Cloud-first: The technical definition is that a “cloud-first” organization considers deploying their applications or services using cloud infrastructure before deploying within a more traditional architecture.
Here’s the explanation I prefer: “Enterprises think that cloud is a fad and consider deploying their applications and services using cloud infrastructure with an objective of eventually reverting to on-prem.”
- Cloud-only: Enterprises deploy their applications and services using cloud infrastructures and adopt architectures to ensure resiliency and availability.
Here's the explanation I prefer: “Enterprises acknowledge that cloud is here to stay and make a conscious decision to shift from on-prem to deploying all their applications and services in a cloud environment.”
- Cloud-native: Enterprises deploy cloud-native apps that are purpose-built for the cloud model.
The explanation I prefer: “Enterprises go through the primary culture and mindset shift in how they build and deploy their applications and services. These firms comprehend the balance of on-prem and cloud infrastructures they need to deliver the best experience to their customers.”
DevOps methodologies and continuous integration/delivery become much more relevant and important because these applications are built and deployed in a rapid cadence by small, dedicated feature teams to a platform that offers easy scale-out and hardware decoupling—offer organizations greater agility, resilience, and portability across clouds. (Check out these articles on cloud-native and twelve-factor app for more info).
Therefore, “cloud-native” has become a more compelling approach.
Cloud-native Software Load Balancing, by Avi Networks
At Avi Networks, when we refer to “cloud-native,” we are referring to the architectural patterns that deliver application services faster and more reliable than with traditional hardware architectures. This not only enables network administrators with flexible and scalable architecture but also empowers app owners to roll out applications quickly while minimizing interruptions or outages.
Here are a few key differences between traditional and cloud-native application architectures:
Appliances Quickly Become Shelfware
Enterprises that deploy expensive and proprietary hardware appliances expect these appliances to run for several years. However, appliances quickly become shelfware for these two reasons: (a) with the rapidly changing application architectures, delivery, and scaling approaches, the appliance architecture quickly becomes obsolete and enterprises will need to wait until the hardware refresh cycle (b) typical load balancer utilization is a mere 8% because enterprises overprovision for peak utilization.
Cloud-native deployments, however, are different. Resources need to be created and terminated on-demand. This allows the infrastructure to be more resilient in outages and handle large fluctuations in traffic and scale. Cloud-based architecture gives us the ability to be more dynamic in controlling workflow variations with on-demand scaling up or scaling out of resources.
Tech giants such as Facebook, Google, Netflix, etc. have adopted software solutions and cloud-native architectures due to the flexibility and elasticity benefits. Web-scale elasticity is the ability to scale the resources (not just scaling up, but also scaling down) on-demand allowing application owners to deploy their applications quickly.
Note that elasticity and scalability are not the same; scalability refers to growth or shrinkage over time whereas elasticity refers to fluctuations within a specific period. Traffic spikes and resource shortages are common problems among e-commerce retailers during the holiday shopping season. However, these issues are not the result of steady month-over-month growth; they are the result of a sudden influx of traffic over a short period, which, in most cases, does not justify the expense of purchasing new hardware.
When compared with traditional server architectures, cloud-native architectures offer key differences that application owners, infrastructure owners, and network administrators need to consider. App-centricity is key to cloud-native infrastructure so it can scale to meet application traffic needs unlike the single-purpose, proprietary appliances that you are stuck with, for 24-36 months, until that next hardware refresh cycle.