Cloud Native
Cloud Native is a Modern Software approach that makes use of cloud computing to build and execute scalable programs.
The goal of Cloud Native development
Speed of software development.
The concepts of Cloud Native
Cloud Native development is divided into four aspects:
-
DevOps
- Manage infrastructure as code
- Merge Developers and Operators
-
Continuous integration/Continuous development (CI/CD)
- Always shipping software
- Automation of testing software
-
Microservices
- Scaling of application components
- Communication between components via APIs
-
Containers
- Optimal packaging for applications and dependencies
- Specially useful for microservices
My view on Cloud Native
Personally, I find the technologies such as containerization and CI/CD pipelines very interesting. Since the OS is abstracted for the development of Cloud Native application it is logical that the roles of Developers and Operators merge, since now infrastructure is dealt as code: Microservices are shipped in containers and Kubernetes is treated as the Operating System.
However, I don’t want to live in a world where everything (including my data) is in the cloud and where I don’t even own my files. It seems that we are increasingly losing our digital freedoms and abilities by relying on cloud services and cloud native applications even for doing the most basic things such as listening to music or store files.