Linkedin Notes Flashcards
What does CAMS stand for?
Culture
Automation
Measurement
Sharing
What are the 3 ways of DevOPs?
- System Thinking and the Principles of flow
2.Amplifying feedback loops - Culture of continuous experimentation and learning.
What are the 5 practices of Dev OPs?
1) Culture
2) Process
3) Infrastructure as a code
4) Continuous delivery
5) Site reliability engineering
People over Process over Tools
Which practice area of DevOps focuses on creating and maintaining a stable and safe environment where your people can learn, share, experiment, succeed, and even fail?
Culture
How would you summarize the idea behind DevOps?
DevOps is a partnership of all the team members involved in software development and operations.
A plan to improve the overall throughput of a service would be best served by which DevOps principle?
Systems thinking requires an engineer to think about the entire system holistically.
Tools are chosen daily for many purposes. Which qualities should you look for in a tool before combining it into a toolchain?
1) Dynamically adaptable
2) Is not too large and complicated for the task at hand
3) Easily integrates with other tools
How can DevOps tangibly benefit an organization?
1) It helps a company focus on a small group of problems.
2) It allows a company to deal with high-pressure issues more efficiently.
3) It helps a company improve both IT and business outcomes.
What would be an example of practicing Infrastructure as Code?
creating and maintain systems using a software development approach instead of a manual worker approach
What are the three levels of DevOps understanding?
Values, principles, and practices
Values for what we believe, principles for how we formalize those beliefs into a detailed plan, and practices for how we put them into action.
Why is the KISS principle important when choosing tools?
Extensive complexity degrades your entire toolchain.
Too much complexity causes your entire stack to break down, jeopardizing your goals.
Which attribute is most detrimental in a DevOps tool?
only having a UI-driven interface
Which problem type does DevOps address?
DevOps promotes understanding among employees, which can lead to better business outcomes.
How can you implement the Third Way’s idea of experimentation and learning in your work environment?
Allow employees to work together to try out new approaches on real projects.
Learning by doing is how we advance the state of the art in our organizations.
Accepting goals that cross organizational silos describes which core value?
Culture is the “C” in CAMS. True change requires changes in approach at the people or cultural level, which then drives how you construct processes and what tools you choose.
What are the 3 types of organisation?
Pathological - Power oriented
Bureaucratic - Rule orientated
Generative - Performance oriented
What is Conway’s Law
Organisations that create designs as a copy of their own communication structure.
What does Kaizan mean?
Change for the better, translated to continuous improvement.
What are the 5 principles of Kaizen?
1.Know the customer
2.Enable smooth workflow
3.Go to the real place, or gemba
4.Empower people
5.Maintain transparency
What is the Kaisan improvement process (Kata)?
Act, plan, do, check, repeat
What is the single biggest impediment to building trust inside a DevOps organization?
Conflicting goals - Having conflicting goals means there are misunderstandings within the organization, so sharing information is discouraged.
What ends up resulting in more effective information flows in your organization?
Focusing on the overall mission
Focusing on the mission results in a generative organizational culture, which sports the healthiest communication paths.
How can you have a team facilitate a value flow without having to directly participate in it?
Provide self-service tooling
Let’s say you want to employ the Kaizen cultural practice in your company. What are the four main factors in the Kaizen cycle?
plan, do, check, and act
What does gemba emphasize?
examining where value is created
Kaizen emphasizes going right to the source where value is being created.
Companies need to tear down the _____ since it causes disunity and disharmony between the development and operations departments, instead of allowing them to collaborate collectively and align goals or objectives.
Wall of confusion is a wall that blocks cooperation and a open line of communication between the operations and development teams.
Suppose your dev team has frequent issues with an ops team in your company. Blame is often tossed around between both groups. How would you solve this issue?
Embed Ops engineers in your development teams, assign both teams to be in one chat room, and allow them to read each other’s source code.
How could you contribute to the wall of confusion?
releasing code that can only be maintained by one person
Code maintained by just one person fosters misunderstanding within the team, and can lead to testing failures.
What is the Agile manifesto?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is the Lean process?
Build
Measure
Learn
What are the 7 principles of Lean?
1) Eliminate Waste
2) Amplify Learning
3) Decide as late as possible
4) Deliver as fast as possible
5) Empower the team
6) Build quality in
7) Optimize the whole
What are the 3 types of waste in Lean?
All Japanese names
1) Muda - Necessary but no value added
Unnecessary
2) Muri - Irregularity
Leads to delays
3) Mura - Overburden
Leads to fatigue
Which software development methodology is discouraged by the DevOps approach?
waterfall
The DevOps approach aligns more with Agile than waterfall delivery, focusing on small, frequent delivery of value.
DevOps is an extension of _____ infrastructure in which its process is _____.
Agile; iterative
DevOps has roots in Agile and the process are iterative which generates quick product or solution delivery.
Which term in Lean identifies waste that does not add value?
Muda
The term muda means major waste in Japanese and describes activities that consume effort but do not create customer value in the product.
Let’s say your colleague wants to know more about the central tenet of Lean. How would you explain it to them?
The objective of lean is to ensure that value stream reaches the customer through products and services while eliminating waste.
Why are peer reviews the most effective means of review for most changes?
They are performed quickly, in a distributed fashion, by people familiar with the system being changed.
Peer reviews are optimal for the vast majority of changes that aren’t explicitly risky or cross-technology
What is an Imperative tool?
The tool executes specified command intended to produce a specific state.
What is a Declarative tool (Functional)
The tool takes a definition of a specific state and executes a command to bring the system to that state
What is Idempotent tool ?
The tool can execute the same procedure repeatedly and end up in the same state each time.
What is Immutable Infrastructure?
An approach to provisioning and deployment of IT resources where components are replaced rather than changed
Certain companies utilize immutable deployment, in which changes to the system are _____ as opposed to _____.
replaced; updated
Why is orchestration an important part of configuration management?
Online services require careful sequencing of changes to maintain uptime while upgrading applications.
What is the primary reason to bake images instead of performing runtime configuration?
To move time and risk up into the development and build cycle and out of the production deployment cycle
Which of the following explains the concept of containers?
Containers are stand-alone software packages that contain runtime components to function independently.
Suppose you and your project manager are interested in the infrastructure as code approach. What is the chief issue that your team may face when utilizing the infrastructure as code approach?
The mindset and habits of your team members.
What is the benefit to a purely code driven infrastructure provisioning tool?
It gives you the most flexibility in what you implement.
It’s harder and more complex and more costly, but the sky’s the limit on what you can do.
You spin up a system from code, but a week later the hosts file has changed. This is an example of what?
Drift is when your system changes from its intended and defined state.
Why is infrastructure as code a better approach than making manual changes?
It’s more repeatable and testable.
What is it called when you install applications on a system?
Deployment is installing and upgrading applications on a system.
What is Provisioning?
Provisioning is creating a system of computing infrastructure and making it ready for operation.
What is Orchestration?
Orchestration is coordination and management of computer systems and software.
What is configuration management?
Configuration management is a process to create and maintain computer systems and software in a desired, consistent state.
What is Infrastructure as a Code?
To create repeatable provisioning processes that can be checked into source control.
What is Continuous Integration (CI)
Automatically build and test each code change.
What is Continuous Delivery (CD) ?
Automatically deploy and test each code change.
What is continuous deployment?
Automatically release each passing release candidate to production.
What are the benefits of Continuous Integration?
1) Leverage the ability to make fast feedback loops
2) Lets you find and fix issues quickly
3) Drives up your quality while also drive up your velocity
What are the 6 continuous integration best practices?
1) Fast builds (less than 5 minutes)
2) Commit small changes
3) Don’t leave the build broken
4) Use a trunk-based development flow
5) Don’t allow flaky automated tests, fix them.
6) The build should return a status, a log, and an artifact.
What are steps for successful Continuous delivery?
1) Build artifacts only once
2) Artifacts should be immutable
3) Deploy to a production -like environment
4) Stop deploys if a previous step fails.
5) Deploys should be idempotent
What are the types of deployment?
1) Rolling( Phased - upgrade one identical system at a time)
2) Blue - Green (Create an entire new version of the system then cut user traffic over to new version
3) Canary - Upgrade one identical system and get a few users to test it.
4) A/B - Use feature flags and use system to allow it to a certain subset of users.
What are the different types of testing tool apps
- Unit Testing - Eg, GoLang
- Code hygiene (enforces code standards) Eg, Linters
- Integration Testing Eg, Pytest for Python, TestNG for Java
- Acceptance (end-to-end testing)
Eg, with UI - Selenium, Cypress.io
Without UI - Robot Framework or Postman
What are the 3 parts to DevOps Automated Configuration Management?
- Provisioning - Creating a system of computing infrastructure and making it ready for operation
- Deployment - Installing and upgrading applications on a system
- Orchestration - Coordination and management of computer systems and software
What is an Imperative tool?
The tool executes specific commands intended to produce a specific state
What is a Declarative (Functional) tool?
The tool takes a definition of a specific state and executes commands to bring the system to that state.
What is the Idempotent tool?
The tool can execute the same procedure repeatedly and end up in the same state each time.
What is Self-service
Configuration management activities safely automated to the point that an end user can perform them on demand
What is drift?
When the configuration of an environment changes and comes out of compliance with its defined state
_____ describe when software is deployed quickly into production since the team members make sure the application goes through complete automated testing.
Continuous deployments
Which single metric is most indicative of your CI toolchain’s health over time?
Overall cycle time
A fast overall cycle time promotes healthy behavior from developers and gets fast feedback
Jenkins is an example of _____.
a build system
Which task becomes easier when code is maintained in the cloud?
Having similar preproduction and production environments is made easier by using containers.
Artifacts should be _____.
built once and deployed as needed
Suppose some of your tests are slow. Which procedures should you select to handle a slow test?
Utilize time-scheduled testing.
Apply monitoring to complete some test objectives.
Employ a non-blocking test
What is the goal for every phase of the continuous delivery process?
Provide early and rapid feedback
By making and validating small changes as soon as they are made, including deploying and using them in a real production environment, you can reduce waste and increase quality.
Explain the concept of blue-green deployment?
There are two identical production environments in which one is live (Blue) and the other is idle (Green). When new software is fully tested and deployed to Green, the router switches traffic from Blue to Green
If you are developing end user test scenarios before writing code, then you are engaged in which type of development?
test-driven development
TDD focuses on building tests before you write the code to make them pass.
What is a build log?
It is a record of all the tests that were run along with their results.
Continuous delivery has all of these benefits except _____.
increasing fragile artifacts
Suppose some of your tests are slow. Which procedures should you select to handle a slow test?
Apply monitoring to complete some test objectives.
Employ a non-blocking test.
Utilize time-scheduled testing.
Which task is part of a trunk-based development flow?
having all developers commit to the main branch frequently.
A trunk-based development flow requires all developers to commit directly to the master branch.
A trunk-based development flow results in merges being smaller and more frequent.
Development branches are always active during the implementation phase of the software development life cycle.
Which belief has been disproven by organizations that utilize continuous delivery?
A high frequency of change leads to a decrease in quality.
A high frequency of change can lead to an increase in quality.
What is Reliability
The ability of a system to perform its intended function correctly and consistently when it is expected to. Needs to be:
Available
Perform as expected
Secure
What is Site Reliability Engineering?
The discipline of using a software engineering approach to automate to create reliable systems and automate operational process
What are the 4 areas of Dev Ops?
Area 1: Extend delivery to production
Area 2: Extend operations feedback to project.
Area 3: Embed project knowledge into operations
Area 4: Embed operations Knowledge into the project
What is the definition of resilience?
The ability of a system to maintain or regain a stable state and continue operations after a major mishap and / or in the presence of a continuous stress
What is resilience engineering
Focuses on understanding how complex adaptive systems respond to a surprise or disruption
What are the 5 areas of Observability?
- Synthetic checks - health checks
2.System and application metrics - End user performance
- System and application logs
- Security
what are the 3 activities of incident response?
1) Troubleshooting
2 Automation
3) communication
Name some Software as a Service monitoring tools
Datadog
Honeycomb
SumoLogic
Name some open-source tools?
Nagios
Grafana
Prometheus
Name some commercial monitoring tools?
SolarWinds
Splunk
What is a term for a well designed service?
a twelve-factor app
What is the implication of us realizing all our IT systems are sociotechnical systems?
It takes into account human activity in creating failures and maintaining system health
Why do we focus on resilience instead of just plain reliability?
All systems fail; resilience is engineering uptime with that truth in mind.
All systems fail; resilience is engineering uptime with that truth in mind.
security
SQL injection is a tool employed by hackers to defeat a system’s security defenses.
Let’s say your colleagues are debating whether to employ synthetic or real user monitoring. How is real user monitoring different than synthetic checks?
Real user monitoring records all the actual end user’s engagement with the web application. Synthetic checks simulate how a user might interact with the application.
Why is blame not a useful part of a retrospective?
It covers up systemic problems by scapegoating an individual
Which key metrics do SRE practices improve?
change failure rate; time to restore service; meeting reliability goals
What are the three key activities of incident response?
Troubleshooting, automation, communication
Site reliability engineering (SRE) the discipline of using a software engineering approach to _____ and _____.
create reliable systems; automate operational processes
SRE includes both operational automation and building in reliability in the first place.
Suppose your company is going to purchase a security monitoring tool. How should you select a security monitoring tool?
It should integrate well with your other systems and provide APIs so it can be shared across teams and groups.
The security monitoring tool should suit your system and is compatible with new deployments
Why should we take a Lean approach for tools, using Build-Measure-Learn?
Because we don’t want to overinvest resources into tools without knowing what we care about.
Which pattern would you need to build into your application to prevent cascading outages?
A circuit breaker can stop an outage from propagating to other connected systems.
What is platform Engineering?
The discipline of designing and building toolchains and work flows that enable self-service capabilities for software engineering organisations
What is shifting left?
Introducing security earlier in the development process and not waiting to do some kind of scan,
What is Kubernetes (K8s)
An open-source container orchestration system for automating software deployment, scaling and management.
What is Chaos Engineering?
The discipline of experimenting on a system in order to build confidence in the system’s capability to withstand real world conditions in production
What is fault injection?
Intentionally applying an outage or performance degradation to a live system component
What is MLOps?
Performing deployment and maintenance of machine learning models and including the needs of data scientists in the development process
What is Prompt Engineering
The process of structuring a text query that can be interpreted and understood by a generative AI model.
What of the built in benefits of AI?
Refactoring and documentation
Intelligent alerting
Automated remediation
Language conversion
Code reviews and security
Besides developers and operations, what is the other group most necessary to be part of MLOps?
Data scientists need to be involved with MLOps.
By practicing Chaos Engineering, what is the desired outcome?
Chaos Engineering advances resilience and reliability.
Shift Left has worked well in every organization and had a positive impact.
False
What are benefits of AIOps and using AI for DevOps work?
Code Reviews and Security
Language Conversion
Refactoring and Documentation
A good example of a paved road approach is a _____.
CI/CD Pipeline
What is MLOps?
The extension of DevOps for Machine Learning systems
When you hear people talking about Cloud Native, that usually suggests they are talking about _____.
Kubernetes
What is prompt engineering?
The process of structuring a text query that can be interpreted and understood by a generative AI model.
A pattern people use to find security friendly developers to advance security in a team or devops context is called: _____.
Security Champions
What is fault injection?
intentionally applying an outage or performance degradation to a live system component
What is Kubernetes?
open-source container orchestration system for automating software deployment, scaling, and management
Once you build a paved road you should require that other teams use it.
False
What tasks are build engineers or release managers generally responsible for?
They are specialists both in the continuous deployment pipeline and managing the packaging and rollout of releases.
What is the conference where DevOps started and still has 50+ events globally every year?
DevOpsDays started in Ghent, Belgium and is where DevOps began.
What are the top three, all-around books on DevOps?
DevOps Handbook, Accelerate, The Phoenix Project
For your next steps in DevOps, what a good place to find content for your customized learning path?
DevOps Foundations series on LinkedIn Learning has a lot of content for different paths in the wide field of DevOps.