Infrastructure and automation Flashcards

1
Q

What are three benefits of Infrastructure automation

A

Speed
Repeatability
The ability to work at scale, with reduced risk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an imperative procedure

A

an ordered sequence of commands aimed at achieving a goal. The sequence may include flow-control, conditions, functional structure, classes, and more.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is provisioning

A

refers to obtaining compute, storage, and network infrastructure (real or virtual), enabling communications, putting it into service, and making it ready for use by operators and developers (e.g., by installing an operating system, machine-level metrics, ssh keys, and the lowest level of operations tooling).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is configuration

A

means installing base applications and services and performing the operations, tasks, and tests required to prepare a low-level platform to deploy applications or a higher-level platform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does Deployment mean

A

involves building, arranging, integrating, and preparing multi-component applications (such as database clusters) or higher-level platforms (like Kubernetes clusters), often across multiple nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Orchestration

A

may refer to several things. When meant concretely, it usually refers to user-built or platform-inherent automation aimed at managing workload lifecycles and reacting dynamically to changing conditions (e.g., by autoscaling or self-healing), particularly in container environments. When meant abstractly, it may refer simply to processes or workflows that link automation tasks to deliver business benefits, like self-service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is provisioning

A

refers to obtaining compute, storage, and network infrastructure (real or virtual), enabling communications, putting it into service, and making it ready for use by operators and developers (e.g., by installing an operating system, machine-level metrics, ssh keys, and the lowest level of operations tooling)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Configuration

A

means installing base applications and services and performing the operations, tasks, and tests required to prepare a low-level platform to deploy applications or a higher-level platform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is deployment

A

involves building, arranging, integrating, and preparing multi-component applications (such as database clusters) or higher-level platforms (like Kubernetes clusters), often across multiple nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Orchestration

A

may refer to several things. When meant concretely, it usually refers to user-built or platform-inherent automation aimed at managing workload lifecycles and reacting dynamically to changing conditions (e.g., by autoscaling or self-healing), particularly in container environments. When meant abstractly, it may refer simply to processes or workflows that link automation tasks to deliver business benefits, like self-service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe a stateless / No state to store application

A

This app requires only atomic/synchronous interactions between client and server: each request from client to server returns a result wholly independent of prior and subsequent requests. An example of this application is a public web server that returns an HTML page, image, or other data on request from a browser. The application can be scaled by duplicating servers and data behind a simple load balancer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe Stateless / State stored on database app

A

User state is stored in a database accessible to any webserver in the middle tier. An example of this application is a web server that needs to be aware of the correspondence between a user ID and user cookie. New webservers and copies of the website can be added freely without disrupting user sessions in progress and without requiring that each request from a given user be routed to the specific server that maintains their session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe Stateful /State stored on server app

A

A record of user state must be maintained across a series of transactions. An example of this application is a website that requires authentication: the app isn’t allowed to serve pages to a user who is not logged in. User state is typically persisted by giving the client an identifying cookie that is returned to the server with each new request and used to match an ID stored there. This application can’t be scaled just by adding servers: if a logged-in user is routed to a server that hasn’t stored an ID matching the user’s cookie, that server won’t recognize them as being logged in, and will refuse their request.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a playbook in Ansible

A

lists of tasks that automatically execute against hosts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explain the basic workflow for Ansible using playbooks

A

Engineers create Ansible playbooks in YAML that describe a workflow or the configuration of infrastructure.

Ansible playbooks are deployed to an Ansible control station.

When the control station runs the Ansible playbooks, they typically copy modules written
in Python to remote hosts.

Finally, Ansible runs the modules on the remote hosts to perform the work described in playbooks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is procedural automation

A

be used to capture and share corporate knowledge including best practices, and to minimize errors with resulting decrease in incidents, improved safety and higher throughput.

17
Q

What is the goal of any script

A

to achieve a desired state in a system regardless of starting conditions

18
Q

What is idempotency

A

means that the result of a successfully performed request is independent of the number of times it is executed

19
Q

What is the meaning of the idempotency principle “Look before you leap”

A

Also known as “If it ain’t broke, don’t fix it” and “First, do no harm”. Ensure the change you want to make hasn’t already been made. Doing nothing is almost always a better choice than doing something wrong and possibly unrecoverable.

20
Q

What is the meaning of the idempotency principle “Get to a known-good state, if possible, before making changes”

A

Secure a functional state before you go and change it

21
Q

What is the meaning of the idempotency principle “Test for idempotency “

A

Be scrupulous about building automation free from side effects

22
Q

What is the meaning of the idempotency principle “One bad apple spoils the bunch”

A

Only if all components of a procedure are known to be idempotent can the procedure as a whole be idempotent.

23
Q

What are the methods to configure a remote system

A

You can store scripts locally, transmit them to target machines with a shell utility like scp, then log into the remote machine using ssh and execute them.

You can pipe scripts to a remote machine using cat | ssh and execute them in sequence with other commands, capturing and returning results to your terminal, all in one command.

You can install a general-purpose secure file-transfer client like SFTP, then use that utility to connect to the remote machine, transfer, set appropriate permissions, then execute your script file.

You can store scripts on a webserver, log into the remote machine and retrieve them with wget, curl, or other utilities, or store the scripts in a Git repository — installing git on the remote machine, cloning the repo to it, checking out a branch, and executing the scripts found there.

You can install a full remote-operations solution like VNC or NoMachine locally, install its server on the target (this usually requires also installing a graphical desktop environment), transmit/copy and then execute scripts.

If your target devices are provisioned on a cloud framework (for example, UCS, AWS, Azure, GCP), there’s usually a way to inject a configuration script via the same CLI command or WebUI action that manifests the platform.

24
Q

What do automation tools do

A

“wrap” operating system utilities and API functions to simplify and standardize access

25
Q

What do automation tools enable

A

Compilation of variable definitions.
Server inventory as structured data and other details separate from generic code.
Orderly means to inject variable values into code, config file templates, and other destinations at runtime.

26
Q

What does ansible vault do

A

supports sophisticated functionality for encrypting sensitive files and variables, securely editing encrypted file contents, and more.

27
Q

Describe a stateful app

A

An app that saves important information in files or in a database on the local file.

28
Q

Describe a Stateless app

A

An app that persists its state to a separate database or that provides service that requires no memory of state between invocations.

29
Q

Describe a Stateless/ No state to store app

A

This app requires only atomic/synchronous interactions between client and server: each request from client to server returns a result wholly independent of prior and subsequent requests. An example of this application is a public web server that returns an HTML page, image, or other data on request from a browser. The application can be scaled by duplicating servers and data behind a simple load balancer.

30
Q

Describe a Stateless / State stored on database app

A

User state is stored in a database accessible to any webserver in the middle tier. An example of this application is a web server that needs to be aware of the correspondence between a user ID and user cookie. New webservers and copies of the website can be added freely without disrupting user sessions in progress and without requiring that each request from a given user be routed to the specific server that maintains their session.

31
Q

Describe a stateful / state stored on server app

A

A record of user state must be maintained across a series of transactions. An example of this application is a website that requires authentication: the app isn’t allowed to serve pages to a user who is not logged in. User state is typically persisted by giving the client an identifying cookie that is returned to the server with each new request and used to match an ID stored there. This application can’t be scaled just by adding servers: if a logged-in user is routed to a server that hasn’t stored an ID matching the user’s cookie, that server won’t recognize them as being logged in, and will refuse their request.

32
Q

What is Blue/green deployment

A

a method for reducing or eliminating downtime in production environments. It requires you to maintain two identical production environments (you don’t absolutely have to call them “Blue” and “Green” — people have been known to call them “Red” and “Black,” as well), and develop the new capability of quickly redirecting application traffic to one or the other (e.g., through ACI automation; load balancing; programmable DNS; or other means).

33
Q

What is canary testing

A

The migration between old and new deployments is performed on a customer-by-customer (or even user-by-user) basis, and migrations are made intentionally to reduce risk and improve the quality of feedback.

34
Q

What is Cisco DNA center

A

an open, extensible, software driven architecture for Catalyst 9000 and other IOSXE devices for enterprise network.

35
Q

What is application Centeric Infrastructure (ACI)

A

a comprehensive data center solution that runs on top of Nexus 9000 and APIC-enabled devices and enables abstraction and programmability of total network functionality via the Application Policy Infrastructure Controller (APIC).

36
Q

What is pyATS

A

a Python-based network device test and validation solution, originally developed by Cisco for internal use, then made available to the public and partially open-sourced.