21. What is Kubernetes? Explain
It is a massively scalable tool for managing containers, made by Google. It is used internally on huge deployments and because of that, it is maybe the best option for production use of containers. It supports self-healing by restating non-responsive containers, it packs containers in a way that they take fewer resources and has many other great features.
22. What is the purpose of CM tools and which one you have used?
Configuration Management tools’ purpose is to automatize deployment and configuration of software on big number of servers. Most CM tools usually use agent architecture which means that every machine being manged needs to have an agent installed. My favorite tool is one that uses agentless architecture – Ansible. It only requires SSH and Python. And if the raw module is being used, not even Python is required because it can run raw bash commands. Other available and popular CM tools are Puppet, Chef, SaltStack.
23. What is the role of a configuration management tool in DevOps?
Automation plays an essential role in server configuration management. For that purpose we use CM tools, they store information about versions and builds of the software and testware and provide the traceability between software and testware.
24. What are the easiest ways to build a small cloud?
VMfest is one one of the options for making IaaS cloud from VirtualBox VMs in no time. If you want a lightweight PaaS there is Dokku which is basically a bash script that makes PaaS out of Dokku containers.
25. What are the main advantages of Git over CVS?
The biggest advantage is that Git is distributed while CVS is centralized. Changes in CVS are per file, while changes (commits) in Git they always refer to the whole project. Git offers much more tools than CVS.
26. What is Continuous Testing?
Continuous Testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with the latest build.
27. What are the key elements of continuous testing?
Risk assessment, policy analysis, requirements traceability, advanced analysis, test optimization, and service virtualization
28. What is Continuous Integration?
Continuous Integration is a very important component of the Agile process. Typically developers work on features or user stories within a sprint and commit their changes to the version control repository.
Once the code is committed, then the entire work of developers is well integrated and the build is performed on a regular basis based on every check-in or schedule. Hence, Continuous Integration as a practice forces the developer to integrate their changes with the others so as to get an early feedback.
29. Explain Continuous Delivery
Continuous Delivery is an extension of Continuous Integration which primarily helps to get the features which the developers are developing out to the end users as soon as possible. During this process, it goes through various stages of QA, Staging etc., and then for delivery to the PRODUCTION system.
30. Explain Continuous Monitoring.
As the application is developed and deployed, we do need to monitor its performance. Monitoring is also very important as it might help to uncover the defects which might not have been detected earlier