0% found this document useful (0 votes)
16 views15 pages

Interviw Question April 2023

The document provides a comprehensive overview of key concepts related to DevOps and AWS, focusing on IAM roles, Kubernetes features, and components. It explains the roles of nodes, pods, services, and various tools used for container orchestration and monitoring. Additionally, it discusses the advantages and disadvantages of Kubernetes, along with its architecture and operational commands.

Uploaded by

Srikanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views15 pages

Interviw Question April 2023

The document provides a comprehensive overview of key concepts related to DevOps and AWS, focusing on IAM roles, Kubernetes features, and components. It explains the roles of nodes, pods, services, and various tools used for container orchestration and monitoring. Additionally, it discusses the advantages and disadvantages of Kubernetes, along with its architecture and operational commands.

Uploaded by

Srikanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 15

Devops and aws interview preparation Hyderabad:

🧐 IAM Roles
"An IAM role is an IAM identity that you can create in your account that has
specific permissions." It is not uniquely associated with a single person; it can
be used by anyone who needs it. A role does not have any security credential l,
i.e., username password or security key. It can be used to grant access to the AWS
resources, services IAM users, third parties, federated Users etc.

5. Name some of the main Kubernetes features.


Some of the main Kubernetes features that candidates may name include:
1. Simultaneous, multiple cluster management
2. Container management
3. Self-monitoring features for nodes and containers
4. Resource scaling options – both vertically and horizontally

Q. What is Kubernetes?
Kubernetes is an open-source container orchestration system for deploying, scaling,
and managing automated applications. It offers an excellent community and works
with all cloud providers. Hence, it is a multi-container management solution.

Q. What is a container?
Containers are a technology for collecting the compiled code for an application
when it is required at run-time. Each container allows you to run repeatable,
standard dependencies and the same behavior whenever the container runs. It divides
the application from the underlying host infrastructure to make the deployment much
easier in cloud or OS platforms.

Q3. What are the nodes that run inside Kubernetes?


A node is a worker machine or VM depending on the cluster. Each node contains
services to run the pods and the pods are managed by the master components.

Q4. What are the services that a node gives and its responsibilities?
The services that include in a node are as follows:
1. Container run-time
2. Kubelet
3. Kube-proxy
The Container run-time is responsible to start and manage the containers.
The kubelet is responsible for running the state of each node and receives commands
from the master to work on it and it is also responsible for the metric collection
of pods.
The Kube-proxy is a component that manages the subnets and makes services available
for all other components.

Q5. What is a master node in Kubernetes?


A master node is a node that controls and manages the set of worker nodes and
resembles a cluster in Kubernetes.

Q6. What are the main components of the master node?


The main components of the master node that help to manage worker nodes are as
follows:

Kube-server: It acts as a front end of the cluster and communicates with the
cluster through the API server.
Kube controller: It implements governance across the cluster and runs the set of
controllers for the running cluster.
Kube scheduler: It schedules the activities of the nodes and holds the node
resource to determine the proper action for triggering events.

Q7. What is a pod and what does it do?


A pod is a group of containers that are deployed together on the same host. It is
the basic execution unit of the Kubernetes application that can create or deploy
the Kubernetes unit of object models.

Kubernetes pods can be used in two ways. they are as follows:

Pods that can run in a single container


Pods that can run with multiple containers when it is required to work together

Q8. What are the different types of multiple-container pods?


There are three different types of multi-container pods. They are as follows:

Sidecar: The Sidecar pattern is a single node pattern made of two containers of the
application. It contains the core logic of the application and it sends the logic
files to the bucket.
Adapter: It is used to standardize and normalize the output application or monitor
data for aggregation. It performs restructuring, and reformatting and can write the
correct formatted output for the application.
Ambassador: It is a proxy pattern that allows connecting other containers with a
port on the localhost.

Q9. What is the Namespace? How many namespaces are there in Kubernetes?
A namespace is used to work with multiple teams or projects spread across. It is
used to divide the cluster resources for multiple users.

Q. What is kubectl?
Kubectl is the command-line tool used to control the Kubernetes clusters. It
provides the CLI to run the command against clusters to create and manage the
Kubernetes components.

Q24. What are the different types of services in Kubernetes?


The different types of services that support Kubernetes are as follows:

1. Cluster IP: It exposes the services on cluster internal IP and makes the
services reachable within the cluster only.
2. Node port: It exposes the services on each node’s IP at the static port.
3. Load balancer: It provides services externally using a cloud provider’s load
balancer. It creates the service to route the external load balancer automatically.
4. External name: It navigates the service to the contents of the external field by
returning the CNAME record by its value.

Q25. Mention the various container resource monitoring tools.


The various container monitoring tools are as follows:

1.Grafana
2. Heapster
3. CAdvisor
4. InfluxDB
5. Prometheus

Q38. What is the role of clusters in Kubernetes?


Kubernetes allows the required state management by cluster services of a specified
configuration. These cluster services run the configurations in the infrastructure.
The following are steps that are involved in this process as follows:

1. The deployment file contains all the configuration that is fed into the cluster
2. These deployments are fed into the API server
3. The cluster services will schedule the pods in the environment
4. It also ensures the right number of pods were running
Q. What are the advantages of Kubernetes?
The advantages of Kubernetes are as follows:

1. Kubernetes is open-source and free


2. It is highly scalable and runs in any operating system
3. It provides more concepts and is more powerful than Docker swarm
4. It provides a scheduler, auto-scaling, rolling upgrades, and health checks
5. It has a flat network space and customized functionalities
6. It is easy to make effective CI/CD pipelines
7. It can improve productivity

Q. What are the disadvantages of Kubernetes?


The disadvantages of Kubernetes are as follows:

1. The installation process and configuration is highly difficult


2. It is not easy to manage the services
3. It takes a lot of time to run and compile
4. It is more expensive than the other alternatives
5. It can be overkill for simple application

Q11. How are Kubernetes related to docker?


Docker provides the lifecycle management of a container and the docker image builds
the run-time of a container. The containers run on multiple hosts through a link
and are orchestrated using Kubernetes. Dockers build these containers and help to
communicate with multiple hosts through Kubernetes

Q13. Why do we need Container orchestration in Kubernetes?


Container orchestration is used to communicate with several micro-services that are
placed inside a single container of an application to perform various tasks.

The use of container orchestration is as follows:

1. It controls and automates various tasks such as deployment, scaling, etc.,


2. Reduces the complexity of running time
3. Scaling becomes easy
4. It is used to deploy and manage complex containerized applications
5. Reduces manual setting up services

Q14. What are the tools of container orchestration?


There are many Container orchestration tools that provide a framework for managing
microservices and containers at scale. The popular tools for container
orchestration are as follows:

1. Kubernetes
2. Docker swarm
3. Apache Mesos

Q15. What are the major operations of Kubelet as a node service component in
Kubernetes?
The major operations that the Kubelet do as follows:

1. The Kubelet is a node that communicates with master components to work on all
the parts of the Kubernetes cluster.
2. It merges the available CPU, memory, and disk of a node into a large Kubernetes
cluster.
3. It provides access to the controller to check and report the status of the
cluster.
4. It is responsible for the collection of metric pods
Q16. Mention the list of objects of Kubernetes.
The following is the list of objects used to define the workloads.

1. Pods
2. Replication sets and controllers
3. Deployments
4. Distinctive identities
5. Stateful sets
6. Daemon sets
7. Jobs and cron jobs

Q17. What is the difference between the pod and the container?
Pods are the collection of containers used as the unit of replication in
Kubernetes. Containers are the set of codes to compile in a pod of the application.
Containers can communicate with other containers in the same pod

Q18. Explain Stateful sets in Kubernetes?


Ans: Stateful set is a workload API object used to manage the stateful application.
It is used to manage deployments and scale the sets of pods. The state information
and other resilient data of stateful pods were stored and maintained in the disk
storage that connects with the stateful set.

Q19. How to determine the status of deployment?


To determine the status of the deployment, use the command below:

kubectl rollout status

If the output runs, then the deployment is successfully completed.

Q20. Explain Replication controllers?


Replication controllers act as supervisors for all long-running pods. It ensures
that the specified number of pods are running at the run-time and also ensures that
a pod or a set of pods are homogeneous in nature. It maintains the desired number
of pods if the number of pods it will terminate the extra pod. And if there is a
failed pod, the controller will automatically replace the failed pod.

Q21. What are the features of Kubernetes?


The features of Kubernetes are as follows:

1. It provides an automated and advanced scheduler to launch the containers on the


cluster
2. Replacing, rescheduling, and restarting the containers that failed while
compilation
3. It supports rollouts and rollback for the desired state of the containerized
application
4. It can scale up and scale down as per the requirements.

Q22. What is kubectl?


Kubectl is the command-line tool used to control the Kubernetes clusters. It
provides the CLI to run the command against clusters to create and manage the
Kubernetes components.

Q23. What is the Google container engine?


The Google Container Engine (GKE) is the open-source management for the Docker
containers and the clusters. This Kubernetes-based container engine supports only
the clusters that run within the Google public cloud service.

Q24. What are the different types of services in Kubernetes?


The different types of services that support Kubernetes are as follows:

1. Cluster IP: It exposes the services on cluster internal IP and makes the
services reachable within the cluster only.
2. Node port: It exposes the services on each node’s IP at the static port.
3. Load balancer: It provides services externally using a cloud provider’s load
balancer. It creates the service to route the external load balancer automatically.
4. External name: It navigates the service to the contents of the external field by
returning the CNAME record by its value.

Q25. Mention the various container resource monitoring tools.


The various container monitoring tools are as follows:

1. Grafana
2. Heapster
3. CAdvisor
4. InfluxDB
5. Prometheus

Q26. What is Heapster?


Heapster is a performance monitoring and metric collection system. It provides
cluster-wide data aggregation by running with a kubelet on each node. It allows for
the collection of metrics, pods, workloads, containers, and other signals that are
generated by the clusters.

Q27. Explain Daemon sets?


A daemon set ensures that all the eligible nodes run a copy of the pod runs only
once in a host. It was created and scheduled by the daemon controller. It is a
process that runs in the background and does not produce any visible output.

Q28. What are the uses of Daemon sets?


The uses of Daemon sets are as follows:

1. It runs cluster storage such as ceph, glusterd on each node.


2. It runs the logs collection of daemons on every node such as fluentd or
filebeat.
3. It runs node monitoring on every node.

Q29. Explain the Replica set?


A Replica set is used to maintain a stable set of replica pods. It is used to
specify the available number of identical pods. It was also considered as a
replacement for the replication controller sometimes.

Q30. What is ETCD in Kubernetes?


ETCD is the distributed key-value store. It stores and replicates the configuring
data of the Kubernetes cluster.

Q31. Explain the Ingress controller?


An ingress controller is a pod that acts as an inbound traffic handler. It is
responsible for reading the ingress resource information and processing the data
accordingly.

Q32. What is the based selector that is used in the replication controller?
The Replication controller uses the Equity-Based selector that allows filtering by
labels key and values. It only looks for the pods which have the same values as
that of the label.

Q33. Explain the Load balancer in Kubernetes?


The load balancer is a way of distributing the loads, which is easy to implement at
the dispatch level. Each load balancer sits between the client devices and the
backend servers. It receives and distributes the incoming requests to all available
servers.

Q34. Explain the two different types of load balancers.


The two different load balancers are one is an internal load balancer that balances
the load and allocates the pods automatically with the required configuration. And
the other is the External load balancer that directs the traffic from external
loads to the backend pods.

Q35. What is Minikube?


Minikube is a type of tool that helps to run Kubernetes locally. It runs on a
single-node Kubernetes cluster inside a Virtual machine (VM).

Q36. What are the uses of the Google Kubernetes Engine?


The uses of Google Kubernetes Engine are as follows:
1. It creates the Docker container cluster
2. It resizes the application controllers
3. It creates the containers pods, load balancer, services, replication controller
4. It updates and upgrades the container cluster
5. It helps to debug the container cluster

Q37. Explain Prometheus in Kubernetes.


Prometheus is an open-source toolkit that is used for metric-based monitoring and
alerting the application. It provides a data model and a query language and can
provide details and actions of metrics. It supports the instrumental application of
language for many languages. The Prometheus operator provides easy monitoring for
deployments and k8s services, besides Alertmanager and Grafana.

Q38. What is the role of clusters in Kubernetes?


Kubernetes allows the required state management by cluster services of a specified
configuration. These cluster services run the configurations in the infrastructure.
The following are steps that are involved in this process as follows:

1. The deployment file contains all the configuration that is fed into the cluster
2. These deployments are fed into the API server
3. The cluster services will schedule the pods in the environment
4. It also ensures the right number of pods were running

Q39. What is the Cluster IP?


The cluster Ip is a default Kubernetes service that provides a link between the
pods or map container port and the host ports. It provides the services within the
cluster and gives access to other apps which are inside the same cluster.

Q40. What are the types of controller managers?


The Different types of controller managers that can run on the master node are as
follows:

1. Endpoints controller
2. Namespace controller
3. Service account controller
4. Replication controller
5. Node controller
6. Token controller

Q41. What is Kubernetes architecture?


The Kubernetes architecture provides a flexible, coupled mechanism for the service.
It consists of one master node and multiple containers. The master node is
responsible for managing the clusters, API, and scheduling the pods. Each node runs
on the container runtime such as Docker, rkt along with the node that communicates
with the master.

Q42. What are the main components of Kubernetes architecture?


The two main components of the Kubernetes architecture are as follows:

1. Master node
2. Worker node

Q43. Define Kube-api server?


The Kube-API is the frontend of the master node that exposes all the components in
the API server. It provides communication between the Kubernetes nodes and the
master components.

Q44. What are the advantages of Kubernetes?


The advantages of Kubernetes are as follows:

1. Kubernetes is open-source and free


2. It is highly scalable and runs in any operating system
3. It provides more concepts and is more powerful than Docker swarm
4. It provides a scheduler, auto-scaling, rolling upgrades, and health checks
5. It has a flat network space and customized functionalities
6. It is easy to make effective CI/CD pipelines
7. It can improve productivity

Q45. What are the disadvantages of Kubernetes?


The disadvantages of Kubernetes are as follows:

1. The installation process and configuration is highly difficult


2. It is not easy to manage the services
3. It takes a lot of time to run and compile
4. It is more expensive than the other alternatives
5. It can be overkill for simple application

1. What is meant by Kibana?


Ans: Kibana is an open-source and free frontend tool that sits at the top of the
Elastic Stack, allowing users to search and visualize the data which is indexed in
Elasticsearch. Kibana is the user-friendly interface for managing, protecting and
monitoring an Elastic Stack cluster, as well as the administrative hub for built-in
solutions based on the Elastic Stack (formerly known as the ELK Stack after
Logstash, Kibana, and Elasticsearch). Kibana, which was developed in 2013 by
members of the Elasticsearch forum, has evolved into a window into the Elastic
Stack itself, providing a platform for individuals and businesses.

2. What is Kibana used for?


Ans: Kibana's strong integration with Elasticsearch and the significant Elastic
Stack is a perfect ideal for supporting the accompanying points:

A. Data indexed in Elasticsearch is searched, viewed, and visualized, and the data
is analyzed using tables, maps, pie charts, bar charts, and histograms. A dashboard
overview integrates various visual features to provide real-time analytical
perspectives into enormous data volumes in support of use cases like:
1. Business analytics
2. Infrastructure metrics and container monitoring
3. Geospatial data analysis and visualization
4. Logging and log analytics
5. Application performance monitoring (APM)
6. Security analytics
B. Using the web interface, you can secure, monitor and manage an Elastic Stack
instance.
C. Providing centralized access to built-in Elastic Stack solutions for enterprise
search applications, security and visibility.

3. Why use Kibana?


Ans: Elasticsearch's official interface is Kibana. Kibana is the most efficient
platform for obtaining data insights and actively managing the integrity of their
Elastic Stack for Elasticsearch users.
Kibana covers a wide range of scenarios. Elastic has put a lot of effort into
improving the visualization interface. Kibana's built-in abilities are used for
uptime monitoring, business analytics, security analytics, APM, geospatial
analytics, and other applications.
Kibana has a large and active user base. Kibana has a large community of users and
contributors since it is an open and free interface. Kibana users have a wide range
of experience, which is reflected in the documentation, training, and community
support they receive. Elastic also provides training and one-on-one support to help
users get started.

4. Explain about Elasticsearch?


Ans: Elasticsearch is a Java-based, open-source search, analytical engine
distributed based on Apache Lucene. It began as a modular implementation of the
open-source Lucene search platform, then incorporated the ability to expand the
Lucene indices dynamically. Elasticsearch allows you to easily analyze, store, and
search large amounts of data in near real-time, with results arriving in
milliseconds. It can produce quick search results because it searches an index
rather than searching the text directly. It has a document-based structure rather
than tables and schemas, and it has comprehensive REST APIs for searching and
storing the data. At its most basic level, Elasticsearch can be thought of as a
server that can accept JSON requests and return JSON data.

6. Explain about the Kibana dashboard?


Ans: A Kibana dashboard is a single pane that contains a variety of maps, graphs,
searches, and charts. Dashboards provide a glance of data insights from different
angles and allow users to delve deeper into the details.

Q1) What is Jenkins and why use it?


Ans: Jenkins is one of the leading open-source continuous integration tools. The
main functionality of this tool is to keep track of the version control system and
monitor the build system and provide notifications and reports to alert. It enables
you to deliver software by integrating with a large number of testing and
deployment technologies.

The following are the reasons to use Jenkins:

1. It possesses an installer package for major operating systems.


2. Integrates individual projects for a larger purpose

3. To keep your team in sync

4. Troubleshoot and audit past jobs effortlessly

5. Provides accurate data support for project management

Q2) What is continuous integration?


Ans: Continuous integration is a process of continuously checking the developer’s
code into a version control system several times a day and automating the build to
check and detect bugs in the written code. Continuous Integration includes the
following:
1. Development and Compilation

2. Database Integration

3. Unit Testing

4. Production Deployment

5. Code Labeling

6. Functional Testing

7. Generating and Analyzing Reports

Q3) What are the features of Jenkins?


Ans: Jenkins comes with the following features:

1. Free open source.

2. Easy installation on various operating systems.

3. Build Pipeline Support.

4. Workflow Plugin.

5. Test harness built around JUnit.

6. Easy upgrades.

7. Rapid release cycle.

8. Easy configuration setup.

9. Excellent community and documentation

10. Extensible with the use of third-party plugins.

Q4) What are the advantages of using Jenkins?


Ans: The advantages of using Jenkins are the following:

Open-source tool and user-friendly

Easy to install

Provides great collaboration between development and operations teams.

Code deployment is easy and happens in minutes, along with the generation of
reports.

Free of cost

Platform independent

Rich plugin ecosystem

Code errors can be detected as early as possible.

Automation of integration work, thereby reducing the number of integration issues.


Q5) What are the prerequisites to use Jenkins?
Ans: We require the following to use Jenkins:

A source code repository that is accessible, for instance, and a Git repository

A working build script. e.g., a Maven Script checked into the repository

Q6) Name some of the plugins in Jenkin?


Ans: Some of the important plugins in Jenkin includes:

Maven 2 project
Amazon EC2
HTML publisher
Copy Artifact
Join
Green Balls
Git plugin
Multi job plugin
Test Results Analyzer
Metrics

Q7) How to restart Jenkins manually?


Ans: To restart Jenkins manually, you can use any one of the following commands:

(jenkins_url)/safe restart - Allows all running jobs to complete. New jobs will
remain in the queue to run after the restart is complete.

(jenkins_url)/restart - Forces a restart without waiting for builds to complete.

Q8) What are the components that you can integrate Jenkins with?
Ans: Jenkins is mainly integrated with the following:

Version Control system like GIT, SVN


And build tools like Apache Maven.

Q9) How does Hudson relate to Jenkins?


Ans: Jenkins was a renamed version of Hudson.

Q10) How to install Jenkins?


Ans:

Install Java Version 8

Install Apache Tomcat Version 9

Download Jenkins war File

Deploy Jenkins war File

Install Suggested Plugins

Q11) How can you start Jenkins manually?


Ans: Jenkins can be manually started by opening the Console/Command line and using
the below commands:

Start Jenkins: jenkins.exe start

Stop Jenkins: jenkins.exe stop


Restart Jenkins: jenkins.exe restart

Q13) Name a few Jenkins environment variables.


Ans: By default, there are numerous variables available in Jenkins. Some of them
are:

$NODE_NAME

$JOB_NAME

$WORKSPACE

$JOB_URL

$BUILD_URL

Q14) How can you deploy a custom build of a core plugin?


Ans: To deploy a custom build of a core plugin, you have to do the following:

Stop Jenkins.
Copy the custom HPI to $Jenkins_Home/plugins.
Delete the previously expanded plugin directory.
Make an empty file called <plugin>. hpi. pinned.
Start Jenkins.

1. Version Control Tool: Git (GitLab, GitHub, Bitbucket)


Git is perhaps the best and most widely used version control tool in a development
era characterized by dynamism and collaboration. Version control provides
developers with a means by which they can keep track of all the changes and updates
in their codes such that in the event of a mishap, it is quite easy to return to
and use the previous versions of the code and Git happens to be the best for many
reasons.

Git DevOps tool is easy to implement as it is compatible with most protocols


including HTTP, SSH, and FTP. It offers the best advantage for non-linear shared-
repository development projects, unlike most other centralized version control
tools. This makes it a good deal for mission-critical software.

Git features three storage tools including, GitHub and GitLab cloud-hosted code
repository services as well as BitBucket the source code hosting service. Of the
three, GitLab and BitBucket are specifically designed for enterprise-range version
control.

2. Build Tool: Maven


Maven is one of the important DevOps tools for building projects. Unlike the ANT
build system, Apache Maven is more than just an automation build framework. It is
also designed to manage reporting, documentation, distribution, releases, and
dependencies processes. Written in Java language, Maven can build and manage
projects written in Java or C#, Ruby, Scala, and other languages using project
object model (POM) plugins.

Maven offers a host of benefits to its users. It eases the build and monitoring
process through automation and maintains a uniform build process allowing for
consistency and efficiency. This tool also offers comprehensive project information
through quality documentation, a valuable resource for the development of best
practices hence the name Maven, translated from the Yiddish language to mean
accumulator of knowledge. Finally, Maven provides a very simplified feature
migration process.
It has a rich repository of plugins to enhance the build process and wide
compatibility with IDEs like Eclipse, JBuilder, MyEclipse, NetBeans, IntelliJ IDEA,
and others.

3. Continuous Integration Tool: Jenkins


Jenkins is an integration DevOps tool. For continuous integration (CI), Jenkins
stands out as it is designed for both internal and plugin extensions. Jenkins is an
open-source Java-based automation CI server that is supported by multiple operating
systems including Windows, macOS, and other Unix OSs. Jenkins can also be deployed
on cloud-based platforms.

Continuous Integration and Continuous Delivery are two core practices of the DevOps
methodology which makes Jenkins an indispensable DevOps tool. Jenkins is compatible
with most CI/CD integration tools and services thanks to the over 1,500 plugins
available to provide integration points for delivering customized functionality
during software development.

A valuable automation CI tool, Jenkins is pretty easy to install and configure. It


is designed to support distributed workflows for accelerated and transparent
builds, tests, and deployments across platforms.

4. Configuration Management Tool: Ansible


Ansible is an open-source CM DevOps tool that is also used for deployment,
automation, and orchestration. While Ansible leverages infrastructure as a code
architecture, it uses SSH connection for its push nodes thus agentless. Of the
three, Ansible is considered easy to learn and use as its Playbooks are written in
YAML with minimal commands and are readable by humans.

5. Container Platforms: Docker


Container platforms are application solutions that allow developers to build, test,
and ship applications in resource-independent environments. Each container
comprises a complete runtime environment including the specific application, its
libraries, source code, configurations, and all its dependencies. Container
platforms offer orchestration, automation, security, governance, and other
capabilities.

DevOps heavily relies on containerization and microservices for efficient


application development and deployment with Docker and Kubernetes as the most
widely used container technologies.

6. Docker
The Docker engine is designed to automate the development, deployment, and
management of containerized applications on single nodes. Docker is open-source and
compatible with cloud services like AWS, GCP, and Azure Cloud. Docker also runs on
Windows and Linux operating systems.

8. Container Platforms: Kubernetes


Kubernetes, on the other hand, is an automation orchestration platform that enables
developers to run containerized applications across Kubernetes clusters referring
to a group of nodes. Developers harness Kubernetes to automate such processes as
container configuration, scaling, networking, security, and more to achieve speed
and efficiency in production.

9. AWS Cloud Computing and Storage in DevOps


AWS features the widest range of service offerings under PaaS, SaaS, and IaaS
categories including compute, identity and access management (ACM), networking, and
storage. While AWS offers public, private, and hybrid clouds, its focus is more on
the public cloud.
Devops and aws interview preparation Hyderabad:
Q 1: What do you mean by Terraform?
Answer: Terraform is open-source communication as a system software tool created by
HashiCorp. It is an instrument for building, altering, and versioning
transportation safely and professionally. Terraform can direct existing and
accepted service providers as well as convention in-house solutions.

Q 2: What are the reasons for choosing Terraform for DevOps?


Answer: Below are the reasons for choosing Terraform for DevOps:

1. It can do complete orchestration and not just configuration management (like


Ansible and Puppet).
2. Has amazing support of almost all the popular cloud providers like AWS, Azure,
GCP, DigitalOcean etc.
3. Easily manages the configuration of an immutable (dynamic) infrastructure.
4. Provide immutable infrastructure where configuration changes smoothly.
5. Works on HCL (HashiCorp configuration language), which is very easy to learn and
understand.
6. Easily portable from one provider to another.
7. Easy Installation.

Question 3: Define Terraform init?


Answer: Terraform initialises the code with the command terraform init. This
command is used to set up the working directory for Terraform configuration files.
It is safe to run this command multiple times.

You can use the init command for:

Installing Plugins
Installation of a Child Module
Initialization of the backend

Question 4: Name some major competitors of Terraform?


Answer: Some of them are:

Packer
Cloud Foundry
Ansible
Kubernetes

Question 5: Define Terraform provider?


Answer: Terraform is a tool for managing and informing infrastructure resources
such as physical machines, virtual machines (VMs), network switches, containers,
and more. A provider is responsible for API interactions that are thoughtful and
reveal resources. Terraform is compatible with a wide range of cloud providers.

Question 6: How does Terraform work?


Answer: Terraform creates an implementation plan, defines what it will do to
achieve the desired state, and then executes it to build the infrastructure
described. Terraform is capable of determining what changed and generating
incremental execution plans that are practical as the configuration changes.

Q. What is AWS in DevOps?


Ans: AWS is Amazon’s cloud service platform that lets users carry out DevOps
practices easily. The tools provided will help immensely to automate manual tasks,
thereby assisting teams to manage complex environments and engineers to work
efficiently with the high velocity that DevOps provides.

Q. DevOps and Cloud computing: What is the need?


Ans: Development and Operations are considered to be one single entity in the
DevOps practice. This means that any form of Agile development, alongside Cloud
Computing, will give it a straight-up advantage in scaling practices and creating
strategies to bring about a change in business adaptability. If the cloud is
considered to be a car, then DevOps would be its wheels.

3. Why AWS for DevOps?

Ans: There are numerous benefits of using AWS for DevOps. Some of them are as
follows:

1. AWS is a ready-to-use service, which does not require any headroom for software
and setups to get started with.
2. Be it one instance or scaling up to hundreds at a time, with AWS, the provision
of computational resources are endless.
3. The pay-as-you-go policy with AWS will keep your pricing and budgets in check to
ensure that you can mobilize enough and get an equal return on investment.
4. AWS brings DevOps practices closer to automation to help you build faster and
achieve effective results in terms of development, deployment, and testing
processes.
5. AWS services can easily be used via the command-line interface or by using SDKs
and APIs, which make it highly programmable and effective.

What is Ansible?
A product of RedHat, Ansible is a management tool for service deployment. It is an
open-source solution for software provisioning, application deployment, and
configuration management; Ansible has become increasingly popular because it offers
its users numerous facilities. You can automate multiple IT processes by using
Ansible. Moreover, its design is for multi-tier deployment so it can handle your
different systems together.

Advantages of Ansible
1. Allows you to model complicated IT workflows easily
2. It is open-source
3. No requirements for downloading additional software on the client platform
4. No requirements for setting up separate management structures
5. Easy to use language with simple English-focused syntax

What is Jenkins?
Jenkins is an open-source tool in Java for automation and Continuous Integration
tasks. Jenkins allows users to create and test their projects continuously while
integrating changes quickly. One of the biggest highlights of Jenkins is its large
number of plugins. Plugins allow Jenkins to integrate with other software solutions
and enhance its capabilities in multitudes.

Jenkins can integrate the entire development life-cycle process of an application.


This means it can handle creation, testing, packaging, deployment, analysis, and
other operations.

Advantages of Jenkins
1. It is open-source, so you can use it for free
2. It has an active and thriving community
3. It has various plugins that enable it to work well with other CI and CD tools
4. Jenkins supports distributed builds
5. Easy installation, configuration, and upgrade
6. Easy to monitor external jobs

What is Terraform?
Terraform is one of the most popular IAC tools used by every cloud engineer. It
allows us to define both cloud and on-premise resources in human-readable
configuration files and thereby provision these resources programmatically. The
most notable feature of Terraform is that, unlike most IAC tools out there, it is
not limited to a single cloud provider. You can use Terraform to run your
applications on multiple cloud platforms simultaneously.

#1. What do you understand by Terraform?


Terraform is an open-source IAC tool created by HashiCorp. It is used to create,
update, delete and version your infrastructure on multiple cloud platforms.

#2. What are the reasons to choose Terraform for DevOps?


Using Terraform for provisioning infrastructure leaves no room for human errors,
hence improving the quality, consistency, and efficiency of Cloud and on-prem
infrastructure. Terraform uses the HCL language, which is fairly similar to JSON
and easy to learn and use. Unlike the other IAC tools offered by cloud providers
like Cloudformation for AWS, we can use Terraform with a number of cloud platforms
simultaneously. This avoids the need to learn multiple IAC tools and improves the
scope of collaboration.

#3. How does Terraform work?


Terraform uses plugins called the Terraform providers to interact with APIs on
Cloud Platforms and provision our resources. As an end-user, terraform workflow has
three steps.

Write: Author the infrastructure as code.

Plan: Preview changes Terraform will make before applying.

Apply: Provision the infrastructure and apply the changes.

#4. What do you mean by Terraform cloud?


Terraform Cloud is a remote environment that is optimized for the Terraform
workflow. It provides features like workspaces and state locking, which allows
people in big teams to collaborate.

#5. What do you understand by State in Terraform?


As an IAC tool, terraform should know the current state of configurations and
infrastructure under its management. Terraform stores this information in a file
called the state file.

#6. What is the benefit of Terraform State?


The Terraform State allows Terraform to map real-world resources to your
configuration, keep track of metadata, and improve performance when planning
changes for complex infrastructures. It is a critical component of Terraform

You might also like