Cloud native computing
Cloud native computing is an approach in software development that utilizes cloud computing to "build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds".[1] Technologies such as containers, microservices, serverless functions and immutable infrastructure, deployed via declarative code are common elements of this architectural style.[2][3]
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
Frequently, cloud-native applications are built as a set of microservices that run in Docker containers, and may be orchestrated in Kubernetes and managed and deployed using DevOps and Git CI workflows[4] (although there is a large amount of competing open source that supports cloud-native development). The advantage of using Docker containers is the ability to package all software needed to execute into one executable package. The container runs in a virtualized environment, which isolates the contained application from its environment.[2]
References
- "CNCF Cloud Native Definition v1.0". GitHub(CNCF). 2018-06-11. Retrieved 2020-05-15.
- "What is Cloud-Native? Is It Hype or the Future of Software Development?". Stackify. 2018-02-07. Retrieved 2019-08-29.
- "What is cloud native computing? - Open Source Insider". www.computerweekly.com. Retrieved 2019-08-29.
- "3 Reasons Why You Can't Afford to Ignore Cloud Native Computing". The New Stack. 2019-04-25. Retrieved 2019-08-29.