Question-6: What do you mean by infrastructure as a code?

Answer: In a very simple term I can say that it represent how declarative way you can create any required infrastructure and commit all these declaration files in the source control system like defining a template to create new infrastructure and whenever you want to create new infrastructure specially in the cloud env, checkout the template and use it create the env. You can maintain all version of templates and any time if it is required rollback, use the previous version of the templates and rollback the system.

Question-7: Can you give an example of Kubernetes self-healing behavior?

Answer: Imaging you need 5 containers and one of the developers manually start the sixth container then Kubernetes will check and make sure one container is destroyed. Because it needs only 5 containers. Similarly, if one container is destroyed then Kubernetes would make sure, it starts a new container.

Question-8: What are the common abstractions you find in Kubernetes?

Answer: Following are the common abstractions we can found in Kubernetes.

  • PODs: This is also known as group of containers. And a single team can work on group of containers (pods) and make it single deployable unit.
  • Isolation: Kubernetes Services provides load balancing, naming and discovery features and we can isolate one microservice to another microservice.
  • Namespaces: Using namespaces we can have isolation and access control. Hence, each microservice can control the interaction between services.
  • Ingress: With the Ingress we can have single frontend which can combine multiple microservices into a single centralized API layer.

Question-9: What is KaaS?

Answer: Almost every public cloud provider (Azure, AWS, Google cloud etc.) are providing managed Kubernetes-as-a-service solution. However, cloud provider operator has their own limitation for using this Kubernetes clusters. Like any new feature of Kubernetes may not be available immediately on KaaS, as they have to maintain cluster for multiple clients and it can create issue for having new features as soon as it is available, they want to test before providing on KaaS.

Question-10: If I have to make Kubernetes application fully portable across cloud provider, what should I take care?

Answer: You have to make sure your Kubernetes applications/containers are not depending on any of the cloud specific services like in DB AWS DynamoDB. Keep it completely independent from cloud provider specific services.