Reddit DevOps
273 subscribers
30 photos
31.5K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
What excites you about being a DevOps engineer?

I just made a career switch to DevOps and am curious to know what my fellow engineers get excited about in their day to day work.

https://redd.it/uombzv
@r_devops
3 Months to get ready for global lead position

Hi all,


So the good news is I managed to successfully apply for and get a Global lead devops position in a large enough company. It's a massive step up for me and the fear is starting to kick in .


There's definitely some elements of imposter syndrome at play but I'm honest enough as well to understand how limited technically I am , and realistically out of my depth I might be.


I've be a devops lead for 2 years but in my current company/project I've camouflaged my weaknesses technically with soft skills. The project I was working on essentially had no CI/CD in place and really bad infrastructure as code. So I am comfortable with Terraform and designed the projects CI pipelines giving them the option of CD if they ever choose to do it ( They're a bank so likely won't ) .
But If i was to describe the technologies I'm comfortable with it would be


Terraform
Gitlab CI
helm charts/ helmfile
K8s

And that's kinda it ! Which is why I'm panicking massively. I got referred to the CTO by someone on the project who the CTO respects but otherwise I'm really not qualified for the role

\- If someone asked me to implement terraform dynamic credentials with vault I wouldn't even begin to know where to start.

\- My Observability knowledge is useless. I have such foundational knowledge of grafana/loki etc that it's borderline criminal.

\- I've never used anything other than helmfile to deploy applications.


So really the only thing I'm confident with is my people management skills ... But I have 3 months to fix this until I start. I'm definitely willing to put in the time and have access to a udemy account if I need to access training materials etc


Hopefully the rant isn't too long but what would you suggest I work on improving in terms of priority , just right now I feel like there's so much I'm missing I don't know where to start

https://redd.it/uov0i6
@r_devops
All you need to know about DORA Metrics!

The DORA metrics are a set of metrics that measure the quality and velocity of software delivery of an engineering organization. By measuring and continuously iterating on these metrics, engineering teams can deliver better software to their customers faster, and achieve significantly better business outcomes.

## Where did the DORA metrics come from?

The DORA metrics were put forth by the **DevOps Research and Assessment (DORA) organization** that synthesized several years of research studying engineering teams and their DevOps processes. The group publishes a yearly report called the State of DevOps Report, and was acquired by Google in 2018. In 2018 the group also published a widely acclaimed book called Accelerate on building and scaling high performing technology organizations.

## Why are the DORA metrics interesting?

The DORA metrics are especially interesting because they correlate with actual business outcomes and employee satisfaction. In addition, they finally give the software engineering world a set of industry standards to benchmark against. It’s not an overwhelming set of indicators either. Turns out, just 4 key metrics are sufficient to distinguish truly elite engineering teams from mediocre ones.

# So what are the DORA metrics exactly?

The DORA metrics were inspired by lean manufacturing principles. The first two metrics are measures of software delivery velocity. They are:

1. Deployment frequency: *“How often an organization successfully releases to production”*This metric measures the frequency at which an organization successfully releases code to production. There is some latitude in how “production” is defined, depending on a team’s individual business requirements. But in essence, smaller, more frequent releases incur less risk and indicate a more predictable, consistent delivery of value to customers. Elite teams are able to deploy on-demand, typically several times a day, while lower performing teams make more big-bang releases once every several months.

2. Lead Time: *“The amount of time it takes for changes to get deployed to production”*This metric measures how long it takes on average for committed code to reach production. The metric is thus a measure of the efficiency of the DevOps tool chain and processes in an organization. Quicker deployments mean faster value delivery to customers. For elite teams, it typically takes less than an hour from when code gets checked in to when it gets deployed in production.

The next two metrics are measures of quality and stability in software delivery. They are:

3. Change Failure Rate: *“The percentage of deployments that cause a failure in production”*This metric measures the quality and stability of the code that a team is shipping. It is calculated as the percentage of deployments that result in severe service degradation and require immediate remediation such as a rollback or a hotfix. For elite engineering teams, no more than 15% of their deployments result in degraded services.

4. Time to Restoration: *“How long it takes an organization to recover from a failure in production”*And finally, unplanned outages always happen. This last metric measures how quickly organizations can recover from them and restore service availability for the end user. Elite teams typically take less than an hour to restore degraded services.The table below taken from the **State of DevOps Report 2021** summarizes four distinct performance profiles for engineering teams, with statistically significant differences in measures among them.

## How can you measure your DORA metrics?

Measuring and monitoring an organization’s DORA metrics can be difficult because the underlying data needed to compute them often comes from many different systems and isn’t always easy to correlate. For instance, in order to measure the average lead time for changes, you need to be able to compute
the delta of all the changes that got shipped to production since the last release to production and average all of their lead times. This requires tracing data across your CI/CD systems, your artifact repositories, and your source control system for all the many applications that your organization deploys. This is hard enough to do for one application, but as organizations grow and tooling and pipelines explode, this can be an entirely non-trivial endeavor.At Faros AI, we put a lot of thought into making it super easy for engineering teams to connect up their individual data sources to our EngOps Platform. Faros then does the hard work of connecting the dots between the data sources automatically. Hooking up known vendors such as GitHub, BitBucket, Jira, Jenkins etc. to the Faros AI Platform is as simple as clicking a button on the UI; custom home-grown systems can also be easily integrated with the Faros SDK. Faros AI munges all the data, imputes changesets, correlates incidents with deployments, and so forth, to build a complete trace of every change from idea to production and beyond (and every stage in between). The result is DORA dashboards out of the box with no change in process.

## Continuous improvement with data

With live DORA dashboards in place, engineering organizations can start to see where they stand relative to other engineering organizations, and what the scope for improvement is in their software delivery processes. The ability to slice and dice lead time or failure recovery time by application, team, and stage helps in identifying bottlenecks in processes — whether in code review, QA, build times, or triage. At the same time, trends over time enable organizations to assess the true impact of interventions — with data. More generally, engineering organizations can finally start to take a data-informed approach to improving the efficiency and effectiveness of their operations.

## See Faros AI in Action

Head on over to **GitHub** to get started today OR **Request a demo** and we will be happy to set up time to walk you through the platform.

(This post was originally published at: https://www.faros.ai/blog/all-you-need-to-know-about-the-dora-metrics-and-how-to-measure-them)

https://redd.it/uowoe4
@r_devops
poll: what IAC does your org use with AWS

if you would like to participate in the poll, the link is here:

link

this is for me personally (professionally), as we're starting the process of formalizing across our entire enterprise our cloud standards, as opposed to siloed standards.

i'd like to formalize terraform as our standard, but others are pushing for cloudformation.

there are a number of reasons why to choose one over another, but, i feel like market adoption is one of them and would like to see some community numbers.

maybe this will help others, too.

apologies if this violates any rules, i didn't see anything in the subreddit wiki/rules that suggested this isn't allowed.

https://redd.it/uoyz88
@r_devops
What Orgs Can Learn from the Atlassian Nightmare Outage of 2022

We unpack some of the learnings from arguably one of the biggest and most public incidents this year, Atlassian here.

What were your takeaways from this?

https://redd.it/uozy19
@r_devops
How do u get started at DevOps as a former Ops /Infra (SharePoint OnPrem) guy?

I dont even know advanced scripting yet, but i want to jump on the boat. I got a windows server background with sharepoint onprem experience

https://redd.it/up11zb
@r_devops
xDebug settings doesn't work when using WSL2

Here's my xdebug.ini:

zendextension=xdebug

xdebug.mode=debug,develop
xdebug.client
host=host.docker.internal
xdebug.remoteconnectback=1
xdebug.clientport=5902 #same port as in launch.json

#Uncomment this line to enable xdebug for each request
xdebug.start
withrequest=yes


Here's my launch.json config:

{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
// I changed the port, by default xdebug 3 uses 9003
"port": 5902,
"pathMappings": {
"/home/john/projects/ecommerce": "${workspaceFolder}"
},
"hostname": "localhost"
},
]
}

So the pathMappings doesn't seem to work. The weird thing is that if I put a breakpoint it doesn't work, but if I put xdebug
break(), it does break, but it says there's no file on var/www/public/some/folder/file.php, but the path in my WSL2 directory is /home/john/projects/ecommerce and not /var/www/public. Like what is pathMappings, and why is there zero documentation on this and how to use this properly? Because I have no idea what I am supposed to put in there and it's frustrating. I am using PHP Debug for VS Code.

https://redd.it/up6icv
@r_devops
An open-source tool to seed a development database with real data

A bunch of contributors and myself have created RepliByte - an open-source tool to seed a development database from a production database.

## Features 🔥

- Support data backup and restore for PostgreSQL, MySQL, and MongoDB
- Replace sensitive data with fake data
- Works on large database (> 10GB) (read Design)
- Database Subsetting: Scale down a production database to a more reasonable size
- Start a local database with the prod data in a single command
- On-the-fly data (de)compression (Zlib)
- On-the-fly data de/encryption (AES-256)
- Fully stateless (no server, no daemon) and lightweight binary
- Use custom transformers

## My motivation 🏃‍♂️

As a developer, creating a fake dataset for running tests is tedious. Plus, it does not reflect real-world data and is painful to keep updated. If you prefer to run your app tests with production data. Then RepliByte is for you as well.

Available for MacOSX, Linux, and Windows.

https://github.com/qovery/replibyte

https://redd.it/upas38
@r_devops
Converting python script to Ansible/Terraform module, yes or no?

Apologies if it is a stupid question, but I'm new to this.

Currently, I've got the following Jenkins jobs:

1. Build IaC with Terraform → builds the environment in AWS
2. Build IaC with Terraform 2 → build another environment in Azure
3. Configure and manage app with Ansible → configures deployed VMs with Ansible (installs docker with some Rest APIs)

Now, we want to add another private cloud after step 2. The private cloud provider supplies Rest APIs to manage it (build the environment, network etc.). We currently manage it via custom Python script and requests.

Should I create an Ansible or maybe a Terraform module with that Python script, so it's consistent with step 1 and 2 or simply use python scripts with that Jenkins job?

Any input is highly appreciated, guys!

https://redd.it/upe7eu
@r_devops
System design in DevOps

Hy, I am currently working as backend developer and I am looking to soon transition into more of the DevOps-y waters while still doing some backend coding, was doing some interviews I noticed lots of companies do system design questions in interviews but from the context of DevOps, my question is, is there any way to learn this (from books, courses, classes) or this is strictly just a result of on hands work experience because I already know basics of the tools(Kubernetes, Docker, Cloud platforms etc..).

https://redd.it/upg88i
@r_devops
So how credible is DORA?

I'm talking about "DevOps research and assessment": https://www.devops-research.com/research.html

It's all sounds right and nice but are they promoted way of DevOps holds ground in real life for most startup or are there hidden caveats and assumptions? What are your thoughts 💭?

https://redd.it/upjk08
@r_devops
What does your manager/management do well? How about poorly?

Just got promoted to management. Looking for any insight I might not be considering and other problems I can be more proactive on or generally what people enjoy as part of their work.

https://redd.it/upk9nh
@r_devops
What should I be familiar with before my my internship so i don't look really incompetent

I landed an internship and I know they expect that I don't know much, they kind of reassured me of that too. However, I really don't want to look...plain out of it. I mean the practices are not taught in university at all and I really don't know much. I understand what devops is and its importance but as far as actually working in it, i really don't posses much relevant skills other that than my python scripting skills and some familiarity working on the bash. Some terminology i don't understand either. However I don't want to be all over the place searching and prepping either so some pointers on what I should focus on is really appreciated. I mean even if it's basic just drop it in the comments, probably won't know it. I just don't want to show up and just stare at them when they start explaining technical things.

https://redd.it/upky9k
@r_devops
Kibana log monitoring

Is it possible to create a email alert based on a specific error message?

https://redd.it/upn826
@r_devops
Suggestion for VM software for M1 Mac

I'm a student who's currently learning about DevOps. I tried to install a VM on my M1 Mac but because of the limitations of the ARM64 architecture, Virtualbox doesn't run on it. I have installed parallels for now, but $40/yr is pretty expensive in my currency. Can I use UTM instead? (it's a one-time payment of $10). Is the extra cost of parallels worth it? Are there any free/less expensive virtualization softwares that you can recommend? Keep in mind I need the VM to run all the DevOps tools smoothly (Docker, K8s, Ansible, Chef, Puppet, Jenkins etc)

https://redd.it/upmnmt
@r_devops
(maven) Help with Spring Version and pom.xml ?



Hello!

I am not sure if any of you could help me with this but :
I have almost 0 knowledge in Java and Spring. However I am trying to make a build through maven and my pom.xml file is showing the following error:

Downloading: *https://maven.springframework.org/milestone/org/springframework/roo/org.springframework.roo.annotations/1.0.2.RELEASE/org.springframework.roo.annotations-1.0.2.RELEASE.pom*
--------------------

BUILD FAILED

--------------------

The link is not accessible as well since it's 403 forbidden.

Here is the full pom.xml file:

https://pastebin.com/L1bfYb7d (sorry it's not formatted well thanks to pastebin).

Can some one help me with this? I am not really sure what exactly to look for and where to put in the xml file.

Thank you for your time!

https://redd.it/upoxpe
@r_devops
If you could automate one part of your role to that you could work less hours, what part of your role would you automate?

For me, it would be deployments. What’s yours?

https://redd.it/uprrcu
@r_devops
Where can I expand on my python scripting and Ansible skills for DevOps?

2-3 weeks ago I was lurking around and saw people mention learning APIs, boto3 and Ansible. So I started playing around and made a couple of simple APIs (One to retrieve weather data and one for stock data). I used boto3 to create a lambda function for the application, sent some of that data to a DynamoDB table, ran a query on the DynamoDB table and parsed the data for certain items with a simple loop in python.

With Ansible I learned how to install and configure prometheus and grafana and have the playbook run with my terraform build.

This all feels very basic and low-level and I'm curious on what other tasks/concepts I should learn how to do with Ansible, APIs, and Python scripting in general.

https://redd.it/upxp1f
@r_devops
Fellow unemployed SREs/DevOps Engineers, what projects are you working on at the moment to stay busy? How do you keep yourself motivated to learn new things?

See title. Trying to keep busy and trying to figure out what projects I can work on. Love working with K8s, Python, and would like to learn Golang. Any ideas?

https://redd.it/upvmwe
@r_devops