As we could learn from previous readings:
Kubernetes helps us developers manage complex distibuted systems by asbtracting the underlying infrastructure. It automates the management, scheudling and coordination of containers across a cluster of machines which allows a user to run applications efficiently withothout about the underlying infrastructure. Kubernetes also makes it easy to scale applications up or down based on demand, as this means you can scale the number of containers running an application automatically.
Some advantages of Kubernetes are:
- Portability and Flexibility
- Efficient Resource Utilization
- Rolling Updates and Rollbacks
and Docker
Docker helps us by allowing user to package an application and all of its dependencies into a standerized unit. It ensures that the applications run the same regardless of where they are deployed which eliminates a common of issue “it works on my machine” since the environment is consistent across all stages.
Some advantages of Docker are:
- Isolation
- Consistency Across Environments
- Lighweight and Fast