Designed as Loosely Coupled Microservices
● Develop applications as a collection of small, independent services that
communicate using lightweight protocols, improving scalability and development
efficiency.
Developed with Best-optimum Languages and Frameworks
● Utilize the most suitable language and framework for each microservice, allowing for
a diverse and optimized application.
API-Centric Interaction and Collaboration
● Use lightweight APIs for communication between services, ensuring efficient
collaboration and better performance.
Stateless and Massively Scalable
● Design applications to be stateless and scalable, storing state in external databases
or entities for easy elasticity.
Elasticity and Dynamic Scaling
● Allow cloud-native applications to dynamically scale up or down according to
resource requirements and usage spikes.
Design for Resiliency
● Embrace failures by building applications that recover quickly and avoid
downtime or data loss.
Polyglot Architecture
● Utilize the most appropriate language or technology for each component,
considering team skillsets and time-to-market.
Packaged Lightweight Containers and Orchestration
● Package applications as lightweight containers using Docker and orchestrate
deployment, scaling, and management with Kubernetes.
Immutable Infrastructure
● Servers for hosting cloud-native applications remain unchanged after
deployment. By avoiding manual upgrades, immutable infrastructure makes
cloud-native deployment a predictable process