What does the phrase "Cloud Native" mean?
It is a descriptive term that that means having the qualities of cutting-edge cloud technologies. In our experience it connotes using microservices and containers primarily with open source technologies. In some ways it is cloud 2.0. Originally cloud computing referred to SaaS and possibly IaaS or PaaS, but now cloud computing is referring to CaaS and KaaS too.
Oracle's definition denotes a need for code without regard for the cloud itself:
"Cloud native technologies are characterized by the use of containers, microservices, serverless functions, development pipelines, and infrastructure expressed as code."
IBM's definition also suggests that cloud computing is not necessary, but IBM makes no mention of code for something to be cloud-native:
What is cloud-native? Cloud-native refers less to where an application resides and more to how it is built and deployed. A cloud-native application consists of discrete, reusable components known as microservices that are designed to integrate into any cloud environment. These microservices act as building blocks and are often packaged in containers. Microservices work together as a whole to comprise an application, yet each can be independently scaled, continuously improved, and quickly iterated through automation and orchestration processes. The flexibility of each microservice adds to the agility and continuous improvement of cloud-native applications.
"Cloud native" (with no hyphen) is used interchangeably with Kubernetes in
Kubernetes Patterns (page three of "Kubernetes Patterns by Bilgin Ibryam and Roland Huß (O'Reilly). Copyright 2019 Bilgin Ibryam and Roland Huß, 978-1-492-05028-5").
One blogger writes '“Cloud Native” is the name of a particular approach to designing, building and running applications based on infrastructure-as-a-service combined with new operational tools and services like continuous integration, container engines and orchestrators.'