
General Experience and Tools
What are the tools in the Azure cloud?
Azure offers a variety of tools, including Azure Virtual Machines for compute resources, Azure Storage for data storage, Azure Kubernetes Service (AKS) for container orchestration, Azure DevOps for CI/CD pipelines, Azure Functions for serverless computing, Azure Active Directory for identity management, and Azure Cosmos DB for globally distributed databases, among others.
Explain End-to-End architecture in Azure.
End-to-end architecture in Azure involves designing and integrating various Azure services to build a complete solution. Typically, this includes using Azure Virtual Network for networking, Azure Load Balancer for traffic distribution, Azure Virtual Machines or App Services for compute, Azure SQL Database or Cosmos DB for data storage, and Azure Blob Storage for file storage. Azure Active Directory manages authentication, while Azure Monitor and Log Analytics handle monitoring and diagnostics. The entire architecture can be automated and deployed using tools like Azure DevOps or Terraform for infrastructure as code, ensuring scalability, security, and high availability.
Explain the Ansible Architecture.
Ansible architecture is agentless and follows a master-node model. The core components are:
Control Node: The machine where Ansible is installed and from which playbooks are executed. This acts as the central orchestrator.
Managed Nodes: The target machines that Ansible manages. These nodes do not require any agents, as Ansible connects via SSH or WinRM.
Inventory: A file that lists the hosts or groups of hosts to be managed.
Playbooks: YAML files that define the automation tasks. They contain sets of plays to be executed on the nodes.
Modules: Reusable units of code that perform tasks like installing software, configuring services, or managing resources.
Plugins: Extend Ansible's core functionality, such as connections, lookups, and inventory management.
Terraform Specific
Why is Terraform used for DevOps?
Terraform is used in DevOps because it automates infrastructure provisioning through Infrastructure as Code (IaC). It allows teams to manage and version their infrastructure like they manage application code. Terraform is cloud-agnostic, supports multi-cloud environments, ensures consistency across deployments, and facilitates collaboration, making it ideal for scaling and automating infrastructure in DevOps workflows.
Which is the most useful Terraform command?
The most useful Terraform command is 'terraform apply' because it executes the changes defined in the configuration files, provisioning or updating the infrastructure. It ensures the desired state is applied after planning.
What do you understand by the Terraform backend?
Terraform backend is responsible for storing and managing the state file. It allows for remote state storage, state locking, and collaboration across teams by using services like AWS S3, Azure Blob, or Google Cloud Storage. This ensures consistency and prevents conflicts during infrastructure changes.
What version control supports Terraform? (GitHub)
Terraform supports various version control systems, including GitHub, GitLab, and Bitbucket. These systems help manage and collaborate on Terraform configuration files, enabling teams to track changes and maintain version control over their infrastructure code.
What basic sub-command do you use with Terraform CLI in your daily life?
The most common sub-commands I use with Terraform CLI daily are 'terraform init' to initialize the working directory, 'terraform plan' to preview changes, and 'terraform apply' to implement those changes. These commands ensure smooth deployment and management of infrastructure.
How to implement Terraform?
To implement Terraform, you start by writing configuration files using HashiCorp Configuration Language (HCL) that define the desired infrastructure. Then, follow these steps:
Run 'terraform init' to initialize the working directory and download provider plugins.
Use 'terraform plan' to preview the changes Terraform will make.
Execute 'terraform apply' to provision or modify the infrastructure.
Finally, manage the state using a remote backend and version control to collaborate with the team, ensuring consistency and smooth updates.
Explain how to integrate VPC with Terraform.
To integrate a VPC with Terraform, you define the VPC configuration in a Terraform file using resources like 'aws_vpc'. Here's a simplified process:
In the configuration file, define the VPC resource with CIDR blocks, subnets, and route tables.
Use 'terraform init' to initialize the working directory.
Run 'terraform plan' to verify the configuration.
Execute terraform apply to create the VPC. You can also configure other resources like security groups, internet gateways, and NAT gateways to fully set up the VPC infrastructure.
Azure Specific
What is the Azure Container Registry?
Azure Container Registry (ACR) is a managed Docker container registry service provided by Microsoft Azure. It allows you to store, manage, and deploy container images and artifacts securely. ACR integrates seamlessly with Azure Kubernetes Service (AKS) and other Azure services, enabling easy access to your container images for application deployment.
What is Azure Cosmos DB?
Azure Cosmos DB is a globally distributed, multi-model database service provided by Microsoft Azure. It offers high availability, low latency, and scalability, supporting various data models, including document, key-value, graph, and column family. With features like automatic multi-region replication and comprehensive SLAs, Cosmos DB is designed for mission-critical applications that require fast and reliable access to data anywhere in the world.
How to create a resource group in Azure?
To create a resource group in Azure, follow these steps:
Sign in to Azure Portal: Go to portal.azure.com and log in with your Azure account.
Navigate to Resource Groups: In the left-hand menu, select "Resource Groups."
Click on "Create": Click the "+ Create" button at the top of the Resource Groups page.
Fill in the Details:
Subscription: Choose the subscription you want to use.
Resource Group Name: Enter a unique name for the resource group.
Region: Select the region where you want to create the resource group.
Review and Create: After filling in the details, click "Review + Create." Review your settings, then click "Create.
Explain AKS Architecture. (Azure Kubernetes Services)
Azure Kubernetes Service (AKS) architecture consists of:
Control Plane: Managed by Azure, it includes the API server, etcd, scheduler, and controllers, ensuring high availability and automated management.
Node Pools: Comprise one or more sets of virtual machines (VMs) that run containerized applications in pods.
Kubernetes Components: Key components like pods (the smallest deployable units), services (stable endpoints for accessing pods), and ingress controllers for managing external traffic.
Networking: Integrates with Azure Virtual Network for secure communication, utilizing Azure Load Balancers for traffic distribution.
Storage: Supports persistent storage through Azure Disks and Azure Files for stateful applications.
Monitoring and Security: Uses Azure Monitor for performance tracking and RBAC for access control, enhancing overall security.
This architecture enables efficient management, scaling, and deployment of containerized applications in the cloud.
EKS, VPC, and Automation
How do you implement EKS clusters? Are you using local tools or automation tools to create clusters or deploy applications through the cluster?
Comments