Reddit DevOps
272 subscribers
33 photos
31.5K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Branch Deployments with IssueOps and GitHub Actions 🚀

# Branch Deployments with IssueOps and GitHub Actions 🚀

I developed my first ever GitHub Action and wanted to share it with the community as it is open source!

## What is this?

A fully package GitHub Action that can be used in any repo on GitHub with just a few lines of code

## What does it do?

Enables branch deployments so you can get far far away from the "merge -> deploy" model of the past

## Links please!

- Here is a Medium writeup about the project: link
- Here is a link to the full source code, Action, and documentation: link

open source

https://redd.it/uoesik
@r_devops
SystemD Unit not Found error when trying to start service with an argument

I'm trying to pass environment information to a service on start so it can set environment variable for the application it starts (test, prod, etc).

According to posts like https://superuser.com/questions/728951/systemd-giving-my-service-multiple-arguments I should be able to start the service with

systemctl start [email protected]

but when I try that (or any variation of it (test@app, app@"test", etc)) systemd just says Unit not found. If I start the service without the @parameter part it starts up fine.

Does anyone know why this way of passing parameters isn't working? It is the most convenient way for me to pass a single parameter when starting the service.

https://redd.it/uoemqn
@r_devops
Build List of Companies for DevOps Opportunities

I am a DevOps Engineer. I am looking for DevOps community members that have job-hopped around or have friends at decent companies to weigh-in and help me build this table of DevOps/Software companies collaboratively. Curious to compile a list of A, B, C, and D-Tier companies to continue skill-building on the job. I think this would help people interested in building a solid list of exit opportunities. The idea is to rank companies based on internal talent, performance, and current tech. stacks utilization. Please help me build this thing!

Example Table for DevOps prospects (excluding FAANG/MAANG):

|Tier|Non-FAANG Companies|
|:-|:-|
|A|CompanyZ, CompanyY|
|B|CompanyX|
|C|CompanyW|
|D|CompanyT, CompanyU, CompanyV|

TLDR;

Use DevOps community build a ranking system of non-FAANG/MAANG companies.

https://redd.it/uohin7
@r_devops
This is an interesting list published by Devoteam’s TechRadar on tech to Adopt/Trial or Assess in 2022

Keeping up with the pace of the rapidly changing tech landscape isn’t easy and making tech-related decisions for your organization can feel overwhelming. Devoteam’s TechRadar is the opinionated tool that aims to help you decide on which technologies you need to hold out on, assess, start a trial with, or adopt completely.

You can see the 'Distributed Cloud' list of tools here.

Or download the full guide (note - you need to provide your dets to get the full guide).
https://www.devoteam.com/techradar/

https://redd.it/uoih94
@r_devops
Hello, I am new to programming and I have been coding in C++ for the past 6 months. I want to delve into an aspect in coding/programming and DevOps looks cool to me. How many months/ years will it take me to know DevOps to a point I can work for a company as an intern? .

How long will it take to land an internship in DevOps

https://redd.it/uo2ydd
@r_devops
Hello Worlds in 22 Langs on Kraken CI

There is a new, quite funny workflow example for Kraken CI.
It shows how to compile and run Hello World programs
in various programming languages, 22 languages.

https://kraken.ci/blog/hello-worlds-in-22-langs-on-kraken-ci

What do you think about that?

https://redd.it/uoka2o
@r_devops
How can I transform a variable in my json file, when variable if not a string in the json?

How can I transform a variable in my json file, when variable if not a string in the json?

The case is that I cannot convert the value to a string "true", it has to be true.

https://redd.it/uom6k5
@r_devops
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