Question:- Explain the two levels of security in ADLS Gen2?
Answer:- The two levels of security applicable to ADLS Gen2 were also in effect for ADLS Gen1. Even though this is not new, it is worth calling out the two levels of security because it’s a very fundamental piece to getting started with the data lake and it is confusing for many people just getting started. Role-Based Access Control (RBAC). RBAC includes built-in Azure roles such as reader, contributor, owner, or custom roles. Typically, RBAC is assigned for two reasons. One is to specify who can manage the service itself (i.e., update settings and properties for the storage account). Another reason is to permit the use of built-in data explorer tools, which require reader permissions. Access Control Lists (ACLs). Access control lists specify exactly which data objects a user may read, write, or execute (execute is required to browse the directory structure). ACLs are POSIX-compliant, thus familiar to those with a Unix or Linux background. POSIX does not operate on a security inheritance model, which means that access ACLs are specified for every object. The concept of default ACLs is critical for new files within a directory to obtain the correct security settings, but it should not be thought of as an inheritance. Because of the overhead assigning ACLs to every object, and because there is a limit of 32 ACLs for every object, it is extremely important to manage data-level security in ADLS Gen1 or Gen2 via Azure Active Directory groups.
Question:- What is Terraform?
Answer:- Terraform is an infrastructure as code tool that allows you to specify cloud and on-premises resources in human-readable configuration files that can be versioned, reused, and shared. After that, you can utilize a standardized procedure to provide and manage all of your infrastructures throughout their lifespan. Terraform can manage both low-level components like compute, storage, and networking resources as well as high-level components like DNS records and SaaS functionality.
Question:- What do you mean Terraform init?
Answer:- Terraform initializes the code with the terraform init command. This command is used to create the Terraform configuration files’ working directory. It is safe to execute this command several times. The init command can be used for: 1. Plugin Installation 2. Child Module Installation 3. The backend is being set up.
Question:- What is a Terraform provider?
Answer:- Terraform is a software application for controlling and informing infrastructure resources such as physical computers, virtual machines (VMs), network switches, containers, and others. API interactions that are smart and disclose resources are the responsibility of the provider. Terraform collaborates with a wide range of cloud providers.
Question:- What is the Terraform Work Process?
Answer:- Terraform init is used at the initial step to generate an operational directory including all Terraform configuration file contents. The Terraform plan, as the name implies, is to apply an execution strategy in a specific stage of development. It is significant since it will serve as the judging criteria to determine whether the expectations are reached. Terraform apply will guarantee that the plan is implemented within the timeframe specified in order to achieve the needed intended state of the infrastructure. Terraform destruction is the last stage in which this technology is utilized to remove all deployed resources.
Question:- Explain the workflow of the core terraform?
Answer:- Core Terraform’s workflow process consists of three steps: • Write – Develop infrastructure in the form of code • Plan – Plan ahead of time to see how the changes will appear before implementing them. • Apply – Create a repeatable infrastructure by applying.
Question:- Define Terragrunt?
Answer:- Terragrunt is a thin, covering layer that is used to cover terraform. This layer assists in the implementation of terraform-advocated and validated techniques. Terragrunt is useful for writing code on Terraform, but it is only available once. This reduces the need to develop code for each environment structure and deletes redundant code. It has several capabilities, such as lifespan, and it also gives flexibility when utilizing Terraform by supporting a continuous deployment process.
Question:- Explain the Terraform request flow architecture
Answer:- Command Line Interface (CLI): When a user begins the terraform program, execution instantly jumps into one of the command package’s “command” implementations, except for some early bootstrapping in the root package (not shown in the diagram). The commands save the mapping between user-facing command names and command package kinds. The go file is in the root directory of the repository. The role of the command implementation for these commands is to read and analyze any command line arguments, command-line options, and environment variables necessary for the specified command and use them to build a backend. operation’s target After that, the action is sent to the currently specified backend. Backend: A Terraform backend is in charge of several things: • Deploy appropriate operations (e.g. plan, apply) • Variables that have been defined in the workspace can be saved. • To keep track of the current status The local backend uses a state manager (either statemgr.Filesystem if the local backend is used directly, or an implementation provided by whatever backend is being wrapped) to retrieve the current state for the workspace specified in the operation, and then uses the config loader to load and perform initial processing/validation of the configuration specified in the operation. It then constructs a terraform. context object with these arguments and the other parameters sent via the procedure. Terraform activities are carried out by the primary object. Configuration Loader: In package configurations, model types represent the top-level configuration structure. A configuration is represented by Config (the root module and all of its child modules). Although the configs package has some low-level configuration object creation capabilities, the configload is the major access point. Loader is included in the configload subpackage. A loader manages the intricacies of installing child modules (during terraform init) and then finding those modules when a configuration is loaded by a backend. It takes the path to the root module and recursively loads all of the child modules to build a single configuration. State Manager: The state manager is responsible for storing and retrieving snapshots of the Terraform state of a workspace. Each manager implements a subset of the statemgr package’s interfaces, with the majority of managers handling the whole set of statemgr. Finish the procedure. Other function signatures typically employ the smaller interfaces to describe what actions the function may perform on the state manager; there is no reason to build a state manager that does not implement all of statemgr. Graph Builder: The landscape. A graph builder is invoked via the Context method. To depict the essential steps of the operation, as well as the dependencies between them, a graph builder is employed. Each operation has its own graph builder due to variances in the graph-building process. A graph must be generated directly from the configuration for a “plan” operation, whereas a graph is constructed from the set of adjustments indicated in the plan being applied for a “apply” action. Graph Walk: The graph walking approach investigates each vertex of the graph while keeping in mind the graph’s “happens after” edges. Every vertex in the graph is assessed in such a way that the “happens after” edges are considered. If possible, the graph walk algorithm will assess numerous vertices at once. Vertex Evaluation: The action executed for each vertex during a graph walk is referred to as execution. Execution executes a series of random operations suited for the vertex type in question. A vertex must be successfully finished before the graph walk may begin assessing further vertices with “happens after” edges. When one or more errors occur during evaluation, the graph walk is terminated and the errors are returned to the user.
Question:- What Terraform commands are the most useful?
Answer:- Here are some useful Terraform Commands • fmt • init • validate • plan • apply • destroy • output • show • state • version
Question:- Explain Resource Graph in Terraform.
Answer:- A resource graph is a graphical presentation of the resources that are accessible. It allows for the simultaneous alternation and generation of separate resources. Terraform generates plans and refreshes the state by creating a plan for the graph’s configuration. It promptly and successfully builds structure to assist us in understanding the drawbacks.
Question:- Define Dependencies in Terraform?
Answer:- You can use depends_on to identify the dependency. You may also use the relies on the parameter to indicate several resources, and Terraform will build the target resource when all of them have been built.
Question:- What do you mean by State File Locking?
Answer:- State file locking is a Terraform technique that prohibits multiple users from doing actions on the same state file at the same time. Once one user’s lock on a state file is released, any other user who has a lock on it can act on it. This helps to prevent state file corruption. A backend operation is gaining a lock on a state file in the backend. If getting a lock on the state file takes longer than intended, a status message will be produced.
Question:- Mention some of the version control tools that Terraform supports.
Answer:- Terraform supports the following version control tools: • GitHub • GitLab CE • Bucket Cloud • GitLab EE
Question:- Define Terraform cloud?
Answer:- Terraform Cloud is software that enables teams to work together on Terraform. It provides features such as easy access to shared state and secret data, access controls for approving infrastructure changes, a private registry for sharing Terraform modules, detailed policy controls for governing the contents of Terraform configurations, and more to ensure that Terraform runs in a consistent and reliable environment.
