Reddit DevOps
270 subscribers
8 photos
31.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
DevOps speakers

I was put in charge of the agenda for our biweekly DevOps meeting for the entire IT team in our company. The idea was to find some internal/external speakers. I'm ok with the internal speakers, but I wonder how can I find people from outside of the company? Did anyone do anything similar? Thanks for any tips!

https://redd.it/121e142
@r_devops
DevOps and bombardment of tools

Hi everyone,

Does anyone feel like we are under bombardment of tools. When i've started working as a DevOps engineer 5 years ago, there aren't too many tools for various tasks for example:

zabbix for vm monitoring

ansible for configuration management

jenkins for all ci/cd. You can also combine ansible with jenkins.

graylog for logging.

and bash scripts for everything else.

But now cloud providers have their own tools for every single thing.

Think about k8s and related tools, everything become unbelievably complicated.

Every company have different tool set, if you change your job boom. your knowledge no longer works and you have to learn new tools for the same job. I really don't understand, all i want is deploying the code for example but it has become a rocket science.

Depending on cloud tools, is the worst thing based on my experience, i've seen that my company suddenly demand that migrate all our infra from aws to gcp couple of years ago.

What are you thinking?

https://redd.it/121dfc9
@r_devops
Modernizing a PowerShell shop

I just started a new assignment as a DevOps engineer. One of the ambitions of the team is to become the AWS of the organization. A small portion of the users can use automated deployments of MS SQL Server. Most users are asking for custom deployments and sysadmin roles for the server.

The team struggles with legacy, custom deployments, config drift, and bad development practices. Basically, their standard workflow is to log on to a VM (the VMs are delivered by a virtualization team), download a git repo with 100s of PowerShell scripts, and deploy an MS SQL Server instance. If the script fails, they modify it at the VM but never include the change to git... Everything is on-prem (\~600 servers), with no IaaC in place or deployment orchestration.

As you can imagine, they are flooded with support tasks and having a hard time improving their stack.

I joined a week ago and have identified a bunch of improvement areas, some are probably completely wrong due to my limited experience in the team, but anyway.
How I'm thinking is to start small and get a better feel for their current process and introduce a better development workflow, evaluate how they can package their deployments better using tools like ansible, docker, and proper config management. Eventually, introduce API for deployments, pretty much inspired by the cloud providers.

My question is, have any of you been in a similar situation?
What would be an effective way of modernizing their setup and introducing better practices to the team?

https://redd.it/121h51u
@r_devops
Booz Allen DevOps Engineer

Hi Guys and Girls,

I am a transitioning veteran, (AD Army) looking to begin a career in the cloud. I have roughly 6 years doing enterprise level IT work, a bachelors in Cyber Security, Sec+, AZ-900, and a clearance.

I am at home familiarizing myself with technologies like Terraform, Docker, and messing around with some free credits I have with Azure. I haven't been exposed to any of these throughout my military career so I am just now catching up.

With that being said, I am going through a veteran transition program that helps active duty land internships/fellowships with companies with the goal of being a full-time hire.

I am certain I have my foot in the door with Booz Allen for a DevOps Role. They seemed to be okay with the fact that I don't have applicable experience in this area which is awesome for me, but also means I have a long road ahead, which I am fine with.

I didn't interview directly with the hiring manager, so I wanted to be transparent and ask what the starting salary was. I have a family of 4 and obviously supporting them outside the military is my main priority. So lets be honest this is why pay is important.

Anyone have insight as to what starting would be like for a Junior DevOps Engineer?

Whether you are a boozer or not please share your experiences.

Thanks for reading!

https://redd.it/121h44q
@r_devops
RESUME REVIEW - Jr. Devops - Toronto

Hi please offer your thoughts on my resume. I have previous co op experience in mechanical oriented jobs but for my new grad position i landed a software devops role at a bank.

https://imgur.com/vXpcRRW

https://redd.it/121dj8t
@r_devops
Comparing Github and Azure DevOps

I am currently evaluating Github and Azure DevOps with the use cases of CI/CD and version control. We are a fairly small org and will probably not need the scalability of Azure. Most of the collab tools of Azure are already available via other services and wouldnt really be used. Github has the disadvantages of being a bit tedious to manage (especially user groups and AD groups, as far as I am aware) and also maybe a bit too lacking in the reporting department.

I have to be perfectly honest so far it boils down to personal taste more than anything. I disliked TFS and have worked with Github a couple of times and found it to be elegant and effective.
Do you have any experience regarding these two in a small to medium org (50 Devs) with sometimes quite strict security concerns?

https://redd.it/121lb07
@r_devops
Good books or learning material for pulumi?

Anybody know of or have any good book recommendations for Pulumi? My searching doesn’t show any books. Outside of that, any preferred learning resources for somebody already experienced in IaC and programming? Thanks!

https://redd.it/121nchk
@r_devops
Hashicorp Vault Certification

Is it worth getting certified as HCP vault associate in 2023 for an entry level DevOps engineer?

https://redd.it/121o87o
@r_devops
I have 2 internships offers and I wanna be DevOps/SRE which one to take ?

So I have 2 internship offers at some different companies the first offer is a DevOps at a consulting company and the other one is a software developer (front-end) at a big N company , I lean towards DevOps but am not sure if it's okay to jump to this role without any experience building software before ? what do you guys think , can I take an internship as DevOps without ever working as Dev before?

Also the internship is a pre-employment one so I d likey get a return offer afterwards.

https://redd.it/121q65b
@r_devops
How does your company do secret management? AWS/GCP/Azure/Vault/CyberArk etc. thoughts?

It seems like every company has a different stack and setup and I'm hoping that y'all can shed more light and educate me (and everyone here really).

What does your company use for secrets management (stack, hosting, setup)?
What your thoughts are on AWS/GCP/Azure secret managers vs. Vault. Is Vault overkill or should AWS/GCP/Azure secret managers suffice even for most enterprise cases? Put differently, why would a company self-host Vault if they can use a native secrets manager from any one of the major cloud providers that already offers a ton of benefits like secret versioning, rotation, audit logging, scalability & availability, etc.
Does your company use one or multiple secret managers? If multiple, what for?
Do you set environment variables in platforms like CircleCI, GitLab, Netlify, etc. manually or do you manage to pull them in from secret managers? What's the typical approach here?

https://redd.it/121rorl
@r_devops
What type of programming do you do based on your role?

Let me explain… I’m a full time CS student who has roughly 4 years of operations experience and at my last operations role, I was automating the windows and linux end user workstation stack using PowerShell + bash and used PowerShell intensely with Active Directory and Exchange. I feel in love with automation.

The main three types of programming styles (correct me if I’m wrong) is Procedural; Object Oriented; and Functional programming. And I’ve noticed that the code I’ve written previously in my last job was strictly Procedural, very simple in my opinion and straight to the point.

Now in college OOP(Java to be exact) is kicking my ass and the concepts is extremely new to me so I’m learning/coding as I go but at this point I’m not too comfortable with the language, but I’m willing to learn.

So my final question is since I want into get into a DevOps role post college, is the automation more procedural or is it mixed with OOP and Functional Programming?

Curious to read your thoughts….

Thanks!

https://redd.it/121u50z
@r_devops
Code project help



Hi, so I created a project using azure, netlify, github, replit and notepad. The github readme for it:

"This project contains a simple chatbot interface that can be integrated with Microsoft Teams using the Direct Line API. The interface is built using HTML, CSS, and JavaScript, and it allows users to send and receive messages through the Microsoft Teams platform.

Getting Started

To use this chatbot interface, you will need to have a Microsoft Teams account and a Direct Line secret key. The Direct Line secret key can be obtained by creating a new Direct Line channel in the Microsoft Bot Framework portal.

Once you have your Direct Line secret key, you can update the index.html file in the chatbotsite folder with your secret key, and deploy the folder to a web hosting service like Netlify.

Usage

To use the chatbot interface, simply open the URL where you have deployed the chatbot
site folder, and start sending messages. The interface will send your messages to the Direct Line API, which will then forward them to your Microsoft Teams account. Likewise, any messages sent to your Microsoft Teams account will be displayed in the chatbot interface."

Now I think I've been able to get it created as ive done the azure stuff, deployed to netlify and configurated the bot using developer giving it permissions etc. The only issue is that i cant test preview it before i publish or even when i publish as i only have teams on my work laptop and i dont think my it admin has given me the necessary permissions to add any old app to Teams. Can someone suggest a way round this? Or even test preview the bot for me to see if what im trying to achieve can be done ?

I've spent the last three to four days on this hellish journey (i have no prior coding knowledge or experience at all) do through a combination of googling and chatgtp(literally feeding it errors line by line and correcting it myself on occasion), ive got to where i am now. I have no intention of just giving up-, need to see this through so any help would be appreciated.

https://redd.it/121v2ms
@r_devops
How much Docker knowledge is enough to be hirable?

I'd like to get into DevOps but my current and past jobs mostly deal with Windows and AWS and doesn't touch anything Docker or Kubernetes. With this I'm left with self-studying them in the hopes of getting good enough to qualify for DevOps roles.

I asked ChatGPT what projects should an applicant do on Docker to showcase intermediate knowledge in it and it got me these:

1. Multi-service application: Ask the applicant to create a multi-service application using Docker Compose. They should create a simple web application with a front-end (e.g., React or Angular), a back-end (e.g., Node.js or Python), and a database (e.g., PostgreSQL or MongoDB). The applicant should create a Dockerfile for each service and a docker-compose.yml file to set up the entire application.

2. Dockerizing a legacy application: Provide the applicant with a legacy application or let them choose an existing open-source project. They should create a Dockerfile and any necessary configuration files to containerize the application. This will demonstrate their ability to work with existing codebases and adapt them to Docker.

3. Optimizing Docker images: Give the applicant an existing Dockerfile and ask them to optimize the resulting Docker image. They should focus on reducing the image size, using multi-stage builds, and improving build times. The applicant should also document the changes they made and provide reasons for their decisions.

4. CI/CD pipeline: Ask the applicant to set up a Continuous Integration and Continuous Deployment pipeline using a platform like GitHub Actions, GitLab CI/CD, or Jenkins. The pipeline should include building Docker images, running tests inside containers, and deploying the application to a container orchestration platform like Kubernetes or Docker Swarm.

5 .Container monitoring and logging: The applicant should set up a monitoring and logging solution for containerized applications. They can use tools like Prometheus and Grafana for monitoring, and Elasticsearch, Logstash, and Kibana (ELK Stack) or Fluentd, Elasticsearch, and Kibana (EFK Stack) for logging. The applicant should create a docker-compose.yml file to set up these tools and demonstrate how they can be used to monitor and analyze the performance and logs of the containerized application.

6. Networking and security: Provide a scenario in which the applicant should create a custom Docker network and secure the communication between containers. They should demonstrate the use of network segmentation, encrypted communication using TLS, and proper implementation of user privileges and secrets management.

I understand that I need to learn many other tools to get into DevOps but I'd just like to know if doing these projects could get someone a pass on Docker. If you have any additional suggestions or advice, please share them. Thanks!

P.S. I'd probably post another one for Kubernetes once I'm done with Docker.

https://redd.it/121tur0
@r_devops
👍1
Monitoring using Serverless

Has anyone used serverless workers (Cloudflare Workers, AWS Lambda, GCP Cloud Functions) or CI/CD service (GitHub Actions, Jenkins) for monitoring?

I'd like to monitor a service, and normally I'd make an exporter for it and have a server for Prom/Grafana or InfluxDB or whatever.

But I'd like to not have to manage a server, since this is just a hobby project.

One option is paying for some Prom-aaS hosted service, but I think it'd be interesting to run something on GitHub Actions or Cloudflare Workers, since those are both essentially free for paid users.

I don't need Grafana levels of visualization, honestly I could generate hourly/daily/weekly/monthly/yearly graphs with rrdtool and be good with that.

Has anyone tried this before?

What did you use for a your (time-series) database? A file-based db like sqlite in git, or maybe in object storage? How was performance like?

How would you display your graphs? In git? How do you make sure your git fs doesn't become bloated?

https://redd.it/12200dv
@r_devops
How do you improve your speaking skills, especially when you're ruffling some feathers with a new process?

Need your help on something, and I'll create a hypothetical situation.

Let's say you're helping out a team at your organization (you're on team X, you're helping team Y). Team Y works slow, is backlogged, and doesn't understand how to use tech to its advantage. Let's say they do a process that takes them 1 hour, and you propose a solution where you can automate it where it takes 10 seconds.


You think to yourself: "Everyone is going to love this, this meeting is gonna be cake". So you get to the meeting, explain the process, and although half the team loves it, you have those people who hate change in regards to everything. Now I some of you are going to think "Well maybe they have a point", and you're right, they might...I'm ALWAYS open to suggestions, but for the sake of argument let's just assume these people argue against any change just because.

For instance, they might say "Well what if this thing fails and takes down the whole thing! We won't even be able to do it manually", they'll come up with this bizarre hypotheticals that have almost 0.0001% chance of happening, and like, I go blank....because the only responses in my head sound patronizing...like if I said doing it manually is prone to error, they might say "Well yes but we're in control", you know, that sorta thing.

Is this a skill that you developed yourself? Do some people just have it and just people dont?

https://redd.it/12239ji
@r_devops
DevOps 101 for a Dev Who Doesn’t Like Ops

The basics of DevOps 

So, what is DevOps? At its core, DevOps is a culture and set of practices that aim to break down the barriers between development and operations teams to improve collaboration and efficiency. It involves automating and streamlining the software development process, from code creation to deployment and beyond.  DevOps is not just a set of tools or processes, but a way of thinking about software development. It’s about creating a culture of collaboration, communication, and continuous improvement. With DevOps, developers and operations teams work together to build, test, and deploy software faster and more reliably. 

Additionally, DevOps promotes collaboration and communication between different teams, which leads to a more efficient and streamlined development process. By breaking down the silos between development and operations teams, everyone is on the same page, working towards the same goal. This results in faster and more reliable releases, as well as overall better quality of the product. In short, DevOps is a time-saving and collaborative approach to software development that ultimately leads to better outcomes for everyone involved. 

Read more

https://redd.it/120kp5c
@r_devops
iniciante

Tenho interesse em entrar na faculdade porém gostaria de saber qual o melhor curso pra quem deseja aprender a programar do zero e sair no fim do curso com uma boa bagagem da área de tecnologia

https://redd.it/120hl1x
@r_devops
Need some advice on my infrastructure and ci/cd

First of all I am not an expert in devops, with that said this is the idea I have in mind for a b2b software I am involved in, the software has the following components

A sql database for each customer, giving a dedicated database (just database not server) makes it a lot easier to scale and the entire system won't slow down when one user abuses it, also gives me time to analyze bottlenecks when it happens since it won't impact everyone at once

About 3-7 web applications per client, some of them are ssr (sveltekit) and will run on either cloud run (gcp) or cloudflare workers, no big server side stuff just loading data and rendering pages

An api server that has an api, websocket server and probably a redis instance for some caching (stuff like logs go into redis before being flushed to sql, I can put it on the same server and not worry about persistence because I don't care about it since it's only for stuff like logs and gets flushed frequently)

All of that is per customer, there are some industry standards so giving everyone their own environment makes sense, also they will charge a couple hundred dollars a month so paying 20-30 for hosting is not a big deal

So when it comes to deploying I need to do the following steps

1. Generate the static web applications and deploy to the correct instances

2. Deploy the ssr web applications

3. Migrate the database

4. Deploy the api server

For testing (only when there are changes pushed) I have the following in mind

1. Deploy in a staging environment and create the database migrations on a populated database

2. Run all unit tests (could be performed in a simple github action)

3. Run all integration tests in the staging environment this includes using the client applications to interact with the api just like in prod, I am also including some tests to mock offline behavior

4. In this industry reliability is important so I am designing a stress test, it will consist of a staging environment simulating thousands of request basically mocking a days worth of activity (or maybe just a few hours) and log the results (speed, percentage of failed requests) and then evaluate based on the percentage, ideally I would automate this step but I think that it would be better if I could create an excel sheet or something and check the results before approving the commit, for example if all failed requests come from something trivial the team may choose to bypass it, in any case this is how I am planning it

One thing I haven't figured out yet is how to store sensitive info, each customer has a couple hundred variables like settings that should be stored in a central application, the problem is with stuff like database passwords I am not sure how to store it, I would just store it in a sql database (maybe encrypt it) and restrict access to that database but that doesn't seem right, I was looking into gcp secret manager but I don't wanna lock myself into an ecosystem

Additionally the only way I know how to trigger automatic builds is via a github webhook but I am sure it's possible to just forward the webhook to my own server that could in turn start the deploy process for each environment keeping in mind some restrictions that users might have enabled (like no changes during business hours) I also need to be able to do that from an internal admin tool

I have no idea if any of this makes sense or not, also I can write all of that in code but I am sure there are existing solutions, that could help me out I am just not aware of it

I know in the long run this project will require a full time devops person or team but we are not public yet and at this point I am just trying to get an mvp going without building uo technical debt

Any guidance will be appreciated, I am also willing to invest time to learn so if I am completely off with this whole approach please nudge me in the right direction

https://redd.it/1229frj
@r_devops