What is Cloud Native?
Cloud native or commonly refered to as Cloud Native Computing is an approach in software development that utilizes cloud computing to build, run and scale applications in modern and dynamic environments.
These enviroments include public, private, and hybrid cloud enviroments often offered by cloud providers such as Google Cloud Platform, Amazon AWS, Microsoft Azure Cloud Platform, Digital Ocean and many more.
Technologies build with approaches such as container orchestration, the microservice architecture, serverless functions and immutable infrastructure, deployed via declarative code are common elements closely associated with the cloud native architectural style.
In this guideline we will focus on working with containers and microservices for a start. At later stage we will then get introduced to working with serveless functions and immutable infrastructures.
Containers are used to run a single application with all required dependencies. Containers are easy to manage, deploy, and fast to recover. As such, often, a microservice-based architecture is chosen in tandem with cloud-native tooling.
Microservices are used to manage (run, test or deploy) and configure a collection of small, independent services that can be easily packaged and executed within a container.