Reddit DevOps
270 subscribers
8 photos
31.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Hired as an external DevOps engineer with unclear objective - what should I do?

I've been hired as an external DevOps engineer into a project and I don't know how I feel about it. I share my situation here because some opinions of more experienced engineers could be valuable for me and perhaps others are or have been in similar situations and would like to discuss it or learn from it.

# Description of the situation

The project has been built up by three developers over the last three years and is fairly complex. The problem is that all the developers will leave the company in the next 1-3 months. I have been told by my manager that it is is my job now to "conserve the knowledge". It is planned to hire additional developers at a later point, but it is not communicated with me when this is planned and what skillsets these new team members will or should have.

They already have documented a lot of their processes, but without having worked in the team, I feel like it is impossible to know whether what has already been documented is complete or should be extended.

I could go through the documentation and look for things that should be documented or add notes to the existing docs where I believe something is missing. But there is no way for me to ensure that everything will be documented. One person cannot "conserve knowledge" in a couple of months. I could do this after having worked in this project for several months, but not in the short timeframe of 1-3 months.

Another difficulty is that most of the code is written in languages I don't have any experience with, which was communicated before I started. I have experience related to the "DevOps" technologies they use, but apart from that I really feel a bit lost with the existing codebase. Again, they knew from the beginning which technologies I had experience with and which not.

Another point is that I don't feel like I learn so much about the project by reading their documentation and code. The only way to learn what is going on in this project is to actively work on it. So I proposed to work on open tasks while checking documentation to get more familiar with everything. The response was that there are currently no open tasks for my skillset.

This is why I believe my job doesn't really make any sense. One person cannot "conserve knowledge" in a couple of months. This is the job of the developers during development in the form writing documentation and assuring a certain level of quality regarding the documentation. This development process should always see the possibility that people may leave at some point. It cannot be fixed by one person in a few months.

What do you think? Am I right? What should I do now to not end up in a situation that will be very difficult to handle for me?

https://redd.it/12gp2jo
@r_devops
Which Cloud provider to build infra for LLM-based app

Hi everyone,

I am working on an app leveraging LLMs at its core (we use ChatGPT as our main AI API).

I am having a look at the different Cloud providers to see which one would be the best to host my infrastructure.

AWS seems to be the regular choice for startups to build their Cloud infra, but because I will rely heavily on ChatGPT API, Azure seems to be a good choice as well.

My criteria are:

* Pricing (are there big differences in VMs cost)
* Off-the-shelf products available on the marketplace (from databases to compute, through APIs)
* Credits for startups (how much and for how long)

I did not mention GCP but could be a good choice as well.

What is your opinion on this choice of CSP for an LLM-based startup? I would love to have your opinion!

[View Poll](https://www.reddit.com/poll/12gwfey)

https://redd.it/12gwfey
@r_devops
What did your career up until now look like?

I completely abused ChatGPT to create a roadmap of the 30 most important fields in DevOps (without the tooling).
It spilled out a skill matrix too, but I still don't know what to make of it.

So reading about other people's career development might be the best way to get a feeling for what might come.

So, how did you get where you are now?
I love stories of people that earned their worth.

For me, I literally have no 'formal' education but got a job as 1st level support with some sysadmin tasks, later getting much further into networking and virtualization, worked with decades old hardware essential for production and had to code a simple replacement for the software running on it. After we got a new teammate our workload reduced so far that I had the time to use containers and implement real monitoring and went on a hunt for flaws in our security.
From starting in that shithole up to my present role in "DevOps" for another employer it took only two years and the last pieces of my sanity.
Now I'm only a glorified linux admin and somehow have to get our workflows and tooling from ~2014 up to today's standards. Mostly alone with some help from our normal sysadmins that I have to teach ~everything~ in the long run.
It's a grind and I don't know if it's time well used.
Is working yourself up through the history of CICD, system/cloud administration and software development the way to do this? I mean, a high peak is nothing without a wide base, right?
Right?

https://redd.it/12guyym
@r_devops
Containerization Article

Hey Everyone!


I recently wrote an introductory article on containerization. I'd love to get this subreddits thoughts (when I asked ChatGPT what it thought, it said it liked it). I have plans to write more technical articles in the future, and I figured you'd be the best people to get feedback from.

https://medium.com/@ace2930/the-power-of-containerization-why-you-should-care-ded839e1b4b9


Some more about me: I currently work as a Senior ML Engineer, and have been doing deployment/DevOps-y work for 4 years now. I do a mix of both application coding and deployment/IaC/dev tooling, and looking to expand into technical writing.


Feel free to DM me about it too!

https://redd.it/12h3q8s
@r_devops
Chef berks package

For the chef tools, there is a command "berks package" that is used to " to vendor, and then archive the dependencies of a Berksfile."

What does vendor mean here, and why would it be necessary to archive Berksfile dependencies?

https://redd.it/12h5hfh
@r_devops
Do you use external uptime monitoring?

Hello,

I am toying with an idea to run a boutique uptime monitoring service for indie devs and early startups and I would like to ask you all if you actually use any external uptime monitoring service?

By uptime monitoring service I mean one that tracks your downtime, gives you a status page, or perhaps even manages your on-call rotations.

If yes, which one do you use and what you like or dislike about it?

https://redd.it/12h7ou2
@r_devops
Automation of your team's local environment setup

I would be interested to hear your approach about how you implementing automated processes for setting up local dev environments for new hires or for new devices and to know what tools and processes you have used to make the process more efficient, especially when onboarding new team members or using multiple laptops.

For instance, one approach could be to use scripts that download all the necessary binaries in their pinned versions for day-to-day tasks (eg. `kubectl`) and also set up the necessary configurations and access to different environments.

https://redd.it/12hapa1
@r_devops
terracove - open-source to instantly test the health of your terraform/terragrunt repository

https://github.com/jatalocks/terracove

Hey r/devops.

After much trial and error, I made a prototype of a tool that my team pretty much needed but that didn't yet exist to my knowledge.

What my problem was originally is that we had a lot of technical debt and drift on our terraform/terragrunt repositories, and tons of leftover modules that haven't been planned in years of missing CI. Instead of going one by one, planning it and checking if it's valid, I built terracove.

What it does in parallel is basically init/plan/show using terratest on every subdirectory on your repository tree or provided paths. The output is either a JSON summary or a custom made Junit XML test file you can ingest into your tests reader. It took it around 8 minutes to map the entirety of our bloated repository.

All you have to do to set it up is either:

brew tap jatalocks/jatalocks
brew install terracove
terracove --junit --json .

Or (with the correct ENV variables and secrets if necessary):

docker run --rm -v $(pwd):/data ghcr.io/jatalocks/terracove /data --json --junit

I hope anyone finds this useful, Any feedback is welcome!

https://redd.it/12hcafq
@r_devops
Quick question about release management

I'm interested in understanding how many hours a week are spent (in total) company-wide to ensure that software version status information is accurate.

For example, if every week a release manager needs to meet with 3 team leaders for 10 minutes each, then that constitutes 1 hour a week (2 participants * 3 meetings * 10 minutes).

Consider how many hours it takes to:

1. ensure that all tickets are up-to-date and that their status is accurate

1. Compile a release's overall status - to understand what has been deployed to integration/staging, what has been tested, etc.

2. attend meetings (even one-on-one) to sync on status

​

Thanks!

https://redd.it/12hemca
@r_devops
I'm planning to deploy all tools in the same cluster as where my microservice application is deployed. Is this generally a good design?

For additional context, I'll be deploying this on both EKS cluster and Minikube (w/ stuff like karpenter not deployed on Minikube). The tools would be coming from their official helm charts.

For EC2 Managed Group, I wonder what instance should I deploy this on.

For Minikube I have 16gb of RAM but I'm planning to upgrade it soon, would 32gb suffice?

https://imgur.com/a/wtFd2ox

https://redd.it/12hdle9
@r_devops
SonarQube Testlink Integration

Hello guys, recently my manager asked me to find that is there any possible way that we can download a “Testlink” plugin into SonarQube (or vice-versa).

I’ve been searching online for a lead but didn’t find anything.
Please help me out!

Also let me know if there’s any other way of integrating both the tools!

P.S - Currently we are using the SonarQube’s community edition.

https://redd.it/12hg8uk
@r_devops
How do I win over my new team and get them to use the stuff I was hired to implement?

This might just be a vent, but here goes: I was senior devops in a fairly nimble startup and got lured over to a more established company with a lot more dev needs in January.


The CTO was particularly impressed with the suite of tools and processes I had introduced (and my team was using), and was largely hired to bring that same mindset and arsenal of ops tools over.


Two months in, I’m struggling to get the new dev team to just make use of a CI/CD tool that should help with code reviews.


This is just the first of about 5 things I thought would be implemented and used by now… but I’m getting a lot of trouble getting traction/buy-in.


Are there technical solutions to this or am I going to have to use my personality?

https://redd.it/12hlcfm
@r_devops
Ship CloudWatch Log to Grafana using lambda

I'm setting up a lambda function to push log from cloudwatch to grafana I then put a concurrency limit on my lambda so it won't throttle itself but I noticed that some of the logs are missing in grafana compared to cloudwatch. I was thinking about sending log in batch with sqs but cloudwatch subscription filter doesn't support it. How do you guys ship your cloudwatch log to lambda in batch?

https://redd.it/12ho81s
@r_devops
DevOps Learning Series Principles and a look at their impact.

Series index

Hey r/devops, continuing the Devops Learning series, this post focuses on the core principles of DevOps and the benefits they offer. Understanding these principles will help you embrace the DevOps mindset and successfully implement its practices in your organization.

## Devops Principles:

1. Collaboration: Encourage close cooperation and communication between development and operations teams, breaking down traditional silos, and fostering a shared understanding and ownership of the software delivery process.
2. Automation: Streamline and automate manual, repetitive tasks throughout the software development lifecycle, including testing, deployment, and infrastructure management, to reduce human error and increase efficiency.
3. Continuous Integration (CI): Regularly integrate code changes into a shared repository, triggering automated builds and tests to catch integration errors early and maintain a consistently releasable product.
4. Continuous Delivery (CD): Automate the release of code changes to production environments, ensuring rapid, reliable, and consistent deployments with minimal manual intervention.
5. Continuous Improvement: Embrace a culture of constant learning and adaptation by regularly assessing processes, tools, and practices, and making data-driven decisions to optimize performance and address issues.
6. Rapid Feedback: Implement robust monitoring and feedback mechanisms to quickly identify issues, learn from user behavior, and inform future development efforts, thereby ensuring continuous alignment with customer needs.
7. Infrastructure as Code (IaC): Manage and provision infrastructure resources using code and version control systems, enabling consistent, repeatable, and automated deployment of environments.
8. Security and Compliance: Integrate security best practices and regulatory requirements throughout the development lifecycle, promoting a proactive approach to risk mitigation and fostering a shared responsibility for security among team members (DevSecOps).
9. Flexibility and Adaptability: Embrace an iterative, experimental mindset that allows for rapid response to changing requirements, technology advancements, and market demands, fostering a resilient and agile organization.
10. Customer-Centricity: Prioritize the needs and expectations of end users, using their feedback to inform development decisions, and ensuring the continuous delivery of value-added features and improvements.

## Benefits

Let's take a closer look at the data supporting the effectiveness of DevOps principles. By exploring various studies and reports that shed light on the impact of DevOps, we'll further our understanding of the value these principles bring to organizations.

Deployment Frequency and Speed

One of the key indicators of a successful DevOps implementation is the frequency and speed of deployments. According to the 2021 State of DevOps Report by Puppet, high-performing DevOps organizations deploy software 200 times more frequently than low performers (1). These rapid deployment rates are enabled by effective automation, streamlined processes, and close collaboration between development and operations teams.

Additionally, the same report found that high-performing DevOps organizations have a lead time for changes (i.e., the time it takes for code changes to move from commit to production) that is 2,604 times faster than low-performing organizations (1). This acceleration highlights the efficiency gains that DevOps practices can bring to the software delivery process.

Reduced Change Failure Rates and Improved Recovery Times

DevOps principles not only accelerate the software delivery process but also improve the quality and reliability of releases. The 2021 State of DevOps Report revealed that high-performing organizations experience a 3 times lower
change failure rate compared to low performers (1). This improvement in reliability can be attributed to rigorous testing, automated deployment, and better collaboration between development and operations teams.

When failures do occur, DevOps practices contribute to faster recovery times. The same report found that high-performing organizations have a mean time to recovery (MTTR) that is 2,604 times faster than their low-performing counterparts (1). By implementing robust monitoring, swift incident response, and effective collaboration, DevOps teams can quickly identify and resolve issues, minimizing the impact on customers.

Enhanced Customer Satisfaction and Business Outcomes

Embracing DevOps principles not only improves technical performance but also leads to better business outcomes. A 2019 Accelerate State of DevOps Report by DORA and Google Cloud demonstrated a strong correlation between high-performing DevOps teams and superior business performance (2). High performers reported 1.7 times greater customer satisfaction, 1.7 times higher profitability, and 1.8 times higher market share compared to their peers (2).

In this post I communicated examples highlighting the value of adopting DevOps principles for both the technical and business aspects of organizations. By embracing collaboration, automation, continuous improvement, and customer-centricity, teams can deliver high-quality software rapidly and efficiently, leading to improved customer satisfaction and business performance.

As always, I encourage you to share your thoughts and experiences with DevOps principles and their impact on your organization in the comments below.

Sources and more reading:

(1) Puppet Labs. (2021). State of DevOps Report 2021. https://www.puppet.com/resources/report/state-of-devops-report/

(2) Forsgren, N., Humble, J., Kim, G., Brown, K., Kersten, M., Rivas, R., & Shipp, S. (2019). Accelerate State of DevOps Report 2019. DORA and Google Cloud. https://cloud.google.com/files/DevOps/state-of-devops-2019.pdf

https://redd.it/12hrjt4
@r_devops
Need some help with terraformer

Hey All,

I am very new to this terraform world. I'm working on importing previously built hand-built AWS infrastructure into TerraForm.

I was using the terraform import function, however, it was time-consuming and difficult to use. I stumbled upon Terraformer today which is supposed to automate the task for you. I keep getting the following error message when performing the import. I was hoping someone with more experience than me could help me out.

​

Thanks!

​

​

Andrews-iMac:Import acaplice$ terraformer import aws -r vpc --regions=us-east-1 -O hcl --profile=ProfileName

2023/04/10 16:44:45 aws importing region us-east-1

2023/04/10 16:44:45 aws importing... vpc

2023/04/10 16:44:50 aws error initializing resources in service vpc, err: failed to refresh cached credentials, no EC2 IMDS role found, operation error ec2imds: GetMetadata, exceeded maximum number of attempts, 3, request send failed, Get "https://169.254.169.254/latest/meta-data/iam/security-credentials/": dial tcp 169.254.169.254:80: connect: host is down

https://redd.it/12hvsjl
@r_devops
Tools for checking your code?

What code tools do you use for verifying code you wrote,? Sonarqube ?

https://redd.it/12hmmjt
@r_devops
Building in public: Cloud pricing calculators are super annoying - so here is one based on natural language

For now I've only implemented AWS services, hence it's in alpha. But I'd be curious to hear what the most common pricing prompts are for you - and whether you mostly need estimates (only set the most important parameters on calculator.aws) or exact prices.

​

Also, how often do you look up cloud prices? Which ones do you look up? Let me know in the comments.

​

https://go.kubiya.ai/cloud-pricing (a video demo)

https://redd.it/12hz7wy
@r_devops