Reddit DevOps
270 subscribers
5 photos
31K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
GitHub Actions vs Cloud Build

We had to make some CI pipeline and we thought Cloud Build would be easy since we’re on GCP. However, to me it is a pain in the ass. Especially installing dependencies seems impossible. I gave GitHub Actions a try, and setting up the same pipeline there was ten times faster. Is it just me, or is Cloud Build just shitty for some use cases?

https://redd.it/13l8dr6
@r_devops
SQL or no sql for user analytics

We are going to measure user behavior in our app. Like which users view which profiles, who updates their profile most frequently etc. Should we use our existing Postgres z’n for this? Or should a no sql en be better for this? We know some actions beforehand but will add other actions and data types as necessary. So our first thought would be to use a separate mongodb instance for this.

Thanks in advance

https://redd.it/13l5gc5
@r_devops
I'm new to a DevOps role (it is also my first tech job). How do I get better at my job and set myself up for growth?

I work as an infrastructure developer which deals with a lot of CI/CD stuff and containerization. Essentially Jenkins and OpenShift have a lot to do with my position. I like the idea of cloud stuff but my company doesn't do much cloud computing at all, so I don't know if I should spend my time on learning much more of that since I love this company and would like to stay here.

I am assuming just learning the tools of my position would get me 80% of the way. What else should I be doing to learn as much as possible and to develop skills that will make my manager think I am valuable, and will set me up to move to a higher position within the next 2 years?

https://redd.it/13kz3nt
@r_devops
When did DevOps start "clicking" for you?

Was it months? Years? Was it never?

Or maybe it was 0 time...you...genius?

https://redd.it/13kzr6g
@r_devops
What kind of Monitoring or Observability questions should I be asking?

Hello,


I am looking for some guidance on a new task I was given. My task involves integrating observability into our new applications, specifically in the context of Google Kubernetes Engine (GKE) and our primary use of Google Cloud Managed Service for Prometheus. I am a bit lost on what kind of questions I should be asking, which areas should I focus on, considering our usage of GKE and Google Cloud Managed Service for Prometheus? Any best practices, lessons learned, or recommended resources you can offer would be super helpful.

https://redd.it/13lf5in
@r_devops
Which role to accept?

2 YOE DevOps engineer

Got offered DevOps role in swe team. Dealing with on prem self managed gitlab cicd and kubernetes.

Also offered SRE role in gaming industry dealing with cloud and terraform and pager duty. SRE role has roughly around 4k more in terms of total annual compensation.

Which offer should I take?

https://redd.it/13ll1wf
@r_devops
Read the DevOps handbook and Phoenix project. But I don't have a way to change the Org practices because of low rank. What should I do?

The idea seems good but how to apply it?

https://redd.it/13lor87
@r_devops
Awesome Cloud Cost Repository

Based on my previous post and your great tips I decided to open a repository for awesome cloud cost. It can be a place where we share the latest and most curated tips and tricks, and better ourselves as engineers and help us through our careers.

https://github.com/jatalocks/awesome-cloud-cost

https://redd.it/13lsltj
@r_devops
Branch and merge, improvements since TFS?

I didn't have a very good experience branch and merge in TFS some years ago, and since then most of my clients moved to Git and it's worked pretty well and it's what I'm used to.

I've had to use DevOps on my current project, and it's time to branch and I'm seriously worried.

Should I be?

https://redd.it/13ltsky
@r_devops
What are good options for observability for tiny startup?

I work for a tiny startup (<5 employees) with one SAAS webapp product. Our infra is in AWS and our monthly bill is ~$300 for a sense of scale. I need to set up a way for us to gather and analyze “telemetry”; specifically latencies and failure rates on HTTP endpoints. This is to support engineers supporting customers.

In a previous life for a bigger company I did the whole ansible, terraform, packer thing to provision grafana + prometheus and it worked well enough. I know that stack well enough that i am confident it provides the solution blocks i need. I’m worried about upfront investment, running costs and opportunity costs considerations.

I could probably replicate such infra for current employer but interested in hearing advice from professionals. (I’m more of a jack of all trades, master of none type…)

- I’ve considered using PutMetricData CloudWatch api for custom metrics. I’m not convinced it can do everything I need, but happy to hear from someone that’s instrumented an app this way. Our logs already go to CloudWatch.
- as mentioned, I can probably set up grafana + prometheus & dependencies within a few days, so I consider it a reliable fallback option.
- datadog? I’ve never used them and they’ve been in the news a lot recently and not for great reasons. Apparently expensive? Vendor lock-in concerns…
- which options am i missing?

https://redd.it/13luhnt
@r_devops
Monitor - IIS App Pool

Is there any open-source solution to monitor IIS App Pools? if not, any thoughts to approach this?

basically looking to notify on pool crash and shutdown. Restart them remotely if required.

https://redd.it/13lyq23
@r_devops
Cloudquery, Resoto, Steampipe, or Airbyte?

I have been tasked with gathering data about resources across multiple cloud providers (AWS and Azure primarily). Whatever I use must be open source or at least on-prem.

My first goal is asset management, with a possible need for compliance and generating resource graphs in the future.

I found these 4 tools:

Cloudquery: https://cloudquery.io/

Steampipe https://steampipe.io/

Airbyte: https://airbyte.com/

Resoto: https://resoto.com/

Any idea which one is best? i.e. most maintained and stable? If I were to choose one of these tools, which one is the least likely to get completely abandoned 1-2 years down the road?

https://redd.it/13m3gjv
@r_devops
What do I need to master in devops?

Okay, so I am a Software engineer with 3 years of work exp.
I have worked in full stack development with react and node at the core.

Also of k deploy the code I track with Droplets in do, opening ports, check the process I'd and automating the tasks using cronjobs in Linus and some more into the Linux and networking domain.

So, I know end to end deployment and all.

But what more exactly do I eed to learn to become devops, I have used kubernetes just for setting up and run some checks via kubectl.

I need some structured concepts to cover in devops.
So that I can write development+devops as a skill in my resume.

Your help will be much appreciated.

https://redd.it/13m4ku4
@r_devops
GitHub Status Checks - Help Please

I am trying to understand GitHub Status checks for a protected branch.

When I try to require status checks, there are no checks to choose from. How do I make a status check?

Do I need GitHub Actions enabled in order to create a status check?

Is there a way to do this without GitHub Actions by using Jenkins?

I am trying to add simple checks, such as.
Do not allow merge into branch if build failed (build is happening in Jenkins).
Do not allow merge into branch unless the merge is coming from a particular branch.

I am trying to start small and simple to get a base understanding of how I can have GitHub and Jenkins work together. Eventually I would like to add checks for unit tests passing, etc.

https://redd.it/13m3gh8
@r_devops
I'm new to infrastructure as code and I wonder if Ansible or Terraform is the right tool for my purpose

Hello guys, first up I hope this kind of post is allowed on this sub. I've been working on a side project for a while and I'm starting to look into deployment part of things.

What I would like to achieve is a a system were the a backend application can trigger provisioning of hardware. So from what I've read Terraform and Ansible both allow for fast gui-less
Cloud provisioning. (Kinda like what docker compose is for software)

But are these tools suitable for creating for example a new vm each time a new customer registers?

Basically automated provisioning?

https://redd.it/13m0sny
@r_devops
How do I get real client IP inside docker container for logging to the database

I have a following docker compose file:

version: "3.8"

services:
postgres:
image: postgres:11
volumes:
- myapp_postgres_volume:/var/lib/postgresql/data
- type: tmpfs
target: /dev/shm
tmpfs:
size: 536870912 # 512MB
environment:
POSTGRES_DB: elearning_academy
POSTGRES_USER: myapp
POSTGRES_PASSWORD: myapp123
networks:
- myapp_network

pgadmin:
image: dpage/pgadmin4:5.4
volumes:
- myapp_pgadmin_volume:/var/lib/pgadmin
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: myapp123
ports:
- 8080:80
networks:
- myapp_network

redis:
image: redis:6.2.4
volumes:
- myapp_redis_volume:/data
networks:
- myapp_network

wsgi:
image: wsgi:myapp3
volumes:
- /myapp/frontend/static/
- ./wsgi/myapp:/myapp
- /myapp/frontend/clientApp/node_modules
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- postgres
- redis
ports:
- 9090
- 3000:3000
- 8000:8000
environment:
C_FORCE_ROOT: 'true'
SERVICE_PORTS: 9090
networks:
- myapp_network
deploy:
replicas: 1
update_config:
parallelism: 1
delay: 10s
restart_policy:
condition: on-failure
max_attempts: 3
window: 120s

nodejs:
image: nodejs:myapp3
volumes:
- ./nodejs/frontend:/frontend
- /frontend/node_modules
depends_on:
- wsgi
ports:
- 9000:9000 # development
- 9999:9999 # production
environment:
BACKEND_API_URL: https://0.0.0.0:3000
networks:
- myapp_network

nginx:
image: mydockeraccount/nginx-brotli:1.21.0
volumes:
- ./nginx:/etc/nginx/conf.d:ro
- ./wsgi/myapp:/myapp:ro
- myapp_nginx_volume:/var/log/nginx/
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- myapp_network

haproxy:
image: haproxy:2.3.9
volumes:
- ./haproxy:/usr/local/etc/haproxy/:ro
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- wsgi
- nodejs
- nginx
ports:
- 9763:80
networks:
- myapp_network
deploy:
placement:
constraints: [node.role == manager]

volumes:
myapp_postgres_volume:
myapp_redis_volume:
myapp_nginx_volume:
myapp_pgadmin_volume:

networks:
myapp_network:
driver: overlay

As you can see I have a nodejs app and a django (wsgi) app. I have written django middleware to log incoming IP to the database. However, it [logs the IP different from the actual IP](https://stackoverflow.com/questions/76280610/accessing-browser-ip-address-in-django). After