What are Cloud Native Applications. How dow you design and develop Cloud Native applications.
Follow this general guidelines on how to design and develop Cloud Native Applications
- Microservices by Design – Build software applications as independent modular software components and expose them as well defined APIs. Each microservice packages its own dependencies and can be managed and deployed separately, without affecting other software components. Have well defined APIs interactions with cloud services for vendor neutrality.
- Leverage container based development for development and production environments – All microservices are shipped as containers and can be managed (rollout, rollback) independently.
- Leverage DevOps process – Leverages GitOps process for central config and version management and automated pipelines for building and deploying (or rollback) across environments.
- Scalable – Design microservices as stateless services that can be scaled independently and horizontally (using managed orchestration services provided by cloud like kubernetes etc)
- Secure – Security as first class citizen across design, development and deployment. Leverage role like RBAC, Container security, IAM, WAF etc offered by the cloud providers.
Checkout the Youtube video on What are Cloud Native Applications –