I shall be documenting my understanding of the cloud native paradigm of application development as I progree through the learning journey on my way to building a cloud native KV datastore with the TiKV project.
A Cloud Native service espouses the properties of replicability(can be replaced/replicated), disaster recovery and most importantly scalability. A product in this realm is supposed to provide it's users with the ability to create applications that aren't heavily impacted by issues that might come from each service, truly abstracting them from the background details.
According to the CNCF the following definition is valid:
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. 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.
I shall be documenting my understanding of the Cloud Native paradigm here, as I grow my understanding of it.