Reddit DevOps
268 subscribers
2 photos
31K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Is it possible to work as devops/sre completely outside faang?

I'm making a career switch to the operations side of thing, but every business seems to use either Azure, GCP or AWS, but my ethics/morals clash heavily with all three.

Is it possible to have a decent career as DevOps or SRE without using any of those three platforms?

Edit: I live in the west, so Chinese platforms like Alibaba or Tencent cloud would also be no-go.

https://redd.it/yb90dl
@r_devops
Terraform AWS api gateway

Hello,

I have to create, in Terraform, the following infrastructure: one api gateway and 2 lambda functions (can be "Hello world", they don't matter at all). So far so good, I create everything without any problems.

Now for the part that eludes me: api_invoke.url/f1 should call function 1 and api_invoke.url/f2 should call function 2.


This seems to be very easy from the aws console, you just add a trigger to the function and it automatically adds the /f1 or /f2 on the url. In Terraform, however, it seems to be a lot harder.


What I've done so far:

- api points to both functions, api url is api_invoke.url, without "/f1" or "/f2"

- created 2 stages for the api, each integration_uri pointing to a function, still one fucntion

-created 2 route, with 2 different routing_key: POST /f1/post and POST/f2/post

Nothing worked and I'm going crazy cause it's so easy from the aws console. Any ideas?

Thank you in advance.

https://redd.it/ybb3ky
@r_devops
How does stackoverflow or the internet work for defense contractors?

If I need to Google something, do I need to come out of the secured area to Google my question then go back in?

https://redd.it/yag8el
@r_devops
Doing work-based projects in the free time vs burnout

Hello everyone,

I have a lot of fantastic ideas to improve work for me and my team. During 8 hour of work, I struggle with my own tasks (I am doing them really slowly, as I am testing every change I do, I spend a lot of time on the concept and sometimes during implementation phase I find out that it will not work so I start again with thinking how it should be done). I can only book about 3-4 hours per week for others tasks, like these improvements that I want to do.

Outside of work I have different hobbies, but also during my free time I started to look for some projects that I could build for polishing my python skills and other technologies.

​

Basically, I don't have any motivation to build anything that I could use in my personal life expect one web application, but I struggle with that a lot, because I only know some basics of HTML and CSS, so now writing stuff in Javascript and thinking how all these things should be done is consuming a lot of energy from me.

​

During my free time I started to implement all these nice ideas, but focusing mostly on a good design, clean code rather than having a result as quickly as possible. So I really try out stuff, see the results, change something and check the results again.

Despite of not being able to achieve much during the time I spend on these work-related projects (as I mostly play around rather than write something and improve it) - I can feel that it sometimes makes me tired to constantly solve the problems which are also work related. Senior from my company told me multiple times to treat my personal time as personal and do not care about IT on my free time.

​

For those who don't want to read the whole thing, the question is very simple:

What do you guys think about polishing your IT skills by creating and improving the projects that are related to your work?

​

Please, ignore the aspect of money here. I know that doing a work for free is not they way it supposed to be, but here I treat this work as a "self-improvement" and no one from my company expects to see the results of it as I am not charging them for the time I spend on these projects. Company will reward me anyway for this time by increasing my salary, as they will see that I've improved.

https://redd.it/ybcqwb
@r_devops
How to Use the GitHub Actions Matrix Strategy in Deployments

Hey guys,

Quincy Ukumakube just wrote a new blog post you may enjoy on the ATA blog.

"How to Use the GitHub Actions Matrix Strategy in Deployments"

Summary:
Learn how to use the GitHub Actions Matrix deployment strategy and take your actions to the next level in this ATA Learning tutorial.

https://adamtheautomator.com/github-actions-matrix/

https://redd.it/ybfcq5
@r_devops
Simple stack for deploying full stack applications using Pulumi?

Hello guys, I am a beginner in DevOps, but have been writing full stack apps for several years now. I have been working for companies until now with full on DevOps departments, so I never really cared too much, but I went on a solo journey now as an indie developer and I am looking for a simple stack that would be manageable in one or two people teams.


So far, the stack has been super messy and heavily manual. I served my NextJS frontend from Vercel, and ssh'ed manually into DigitalOcean and pulled my repo and rebuilt/redeploy it (I know, I know).


I decided to give Pulumi a shot but I am a bit confused - how should I properly set this up for:
\- monolithic backend
\- 1 postgres instance
\- 1 redis instance
\- NextJS frontend


I understand that I can setup S3 buckets and EC2s using Pulumi, but what would be the simplest and most manageable way to continuously deploy my applications to the instances set up by Pulumi? Should I integrate CI/CDs with Pulumi? Or should those two be completely separated and only use Pulumi to take care of aws lifecycles? I am a bit lost here in terms of how these 2 paradigms are interconnected.


Of course, I am more than open to any suggestions that you may have in terms of how to automate DevOps for someone in my situation and abstracting all these things away into TypeScript wherever possible. Thanks!

https://redd.it/ybeh9i
@r_devops
KodeKloud, O'Reilly, Pluralsight : Train for cloud and devops, ideally dev too

Hello,

I am looking for some feedback on the training following platforms : O'Reilly, Pluralsight, and KodeKloud. I have subscribed to their free trial but would like to get as many elements as I can.

​

TLDR:

\- Does O'Reilly have good devops stuff, especially Ansible, Terraform, AWS, Azure, and does it have good hands-on/sandboxes for these use-cases ?

\- Would you recommend KodeKloud for devops AND cloud providers training ?

\- Is Pluralsight any good regarding hands-on labs for devops (Ansible, Terraform) and cloud providers ?

\----

​

I would like to have a platform to train for certain subjects : ansible, terraform, and general cloud things (all providers, at least AWS and Azure)

I have used KodeKloud in the past and it left me a really good impression. However, I think it lacks on the cloud side ?

Also I hear a lot of good about O'Reilly Learning, do they have good content and labs on these matters (and others) ?. The plus for O'Reilly would be that they also have good trainings for languages and all (I guess ?) which would avoid also having to buy classes somewhere or a pluralsight subscription.

On that note, I absolutely like Pluralsight, but have used it only to learn things like Angular or C# stuff ; I see they have hands-on and sandboxes, and they own ACG. But I am guessing they do not want to eat into ACG margins, so the features must be less good ?

Pluralsight also has the advantage right now of being way cheaper than the two others (327€/y VS 499€/y).

The key aspect for me is the hands-on labs, because I do NOT want to create cloud accounts. Ideally I would like hands-on labs that give a certain freedom to explore too.

Does anyone have any feedback on these points ? So far I am in the mind of :

Pluralsight > O'Reilly > KodeKloud

https://redd.it/y9rkqs
@r_devops
ELK deployment advice

Hello everyone,

At my work, we are thinking about deploying ELK stack on our VMs to analyze logs.
The entire stack will be at v.7.17 and all deploy on VMs (maybe EC2s, basically Linux machines).
The deployment restriction is ELK to be deployed as 1 Logstash/Elasticsearch/Kibana (1 per each/no clustering).
Downtime can be tolerated within reasons (blackout/disaster).

The current daily log size will be at most 500k lines (about 1-1.5GB total)
We'll have to keep them for at least 90 days so 1.5x90 = 135 GB total
Search speed can be less optimized but within reason for users (let's say searching for a specific event last month is within 5 secs)

The current idea is:
Logs will be read using Filebeat from each machine and sent to Logstash.
Logstash will then use some filters to process logs and send them to Elasticsearch and Kibana.

Filebeats/logs via HTTP requests from apps --> Logstash --> Elasticsearch --> Kibana

My questions are:
Is there any example/best practice on this?
Are there any pitfalls we should know to avoid?
Is an enterprise license required?
Are there places where we can learn more about ELK?

We are quite new to this so any recommendations are welcomed.
I've already recommended Datadog/Loki and other solutions but the end solution is ELK so we'll have to go with it.

https://redd.it/yboysz
@r_devops
sending logs to central storage from all ELK instances

hello everyone. what are you using/suggest for log aggregation from multiple ELK (and loki) instances.

We want this central storage to be able to connect to kibana/grafana as well.

I know there's victoria/thanos and other stuff for prometheus, but I am looking for something similar for logs thru ELK or promtail/loki.

https://redd.it/ybrqsb
@r_devops
Who would you target as a marketing campaign for devops services?

Starting my own IT devops services consultancy.
Having trouble identifying who i should target and the bca.
Was thinking
1) New companies that are just getting started
2) Specfic industry companies?
3) Big tech companies
4) Companies with existing jobs advertised for devops services?

Seeing if anyone has any ideas? In order for the company to require devops, they need to be at least well constructed, techy, and know what devops is, or would you target companies that know nothing about devops at all.

Thanks

https://redd.it/ybnp6s
@r_devops
scheduling

What is unitscheduling and stonebranch ?

Are they same thing ? Or different?

Can you please simplify the meaning of these words ?

I tried to find in Google but results are not clearly understandable.

https://redd.it/y9owq6
@r_devops
Need advice on new role

I recently started a new role as tech lead for a startup. Currently, we have overseas developers handling most of our product development.


Currently the workflow is

Create feature branch and work on dev.

Create pr, code review and merge in dev if all is good.

Dev is essentially our staging env. Once in staging qa eng (still outsourced company) verifies tickets and then typically from waht I have seen weekly or every 2 weeks code is merged into master and then master is essentially production.

Sucks and a complaint my boss (CTO) has is there is a huge bottleneck / holdup at the qa verify stuff step and then getting into production.


I have never done true trunk based dev but def would like to go in thst direction.

I was thinking of something like this.

Work on ticket in short lived feature branch using feature flags.

Create pr once done. Have code review AND demo at this step. Demo to teammate who is performing code review and a qa eng. At same time.

Merge into master. Delete feature branch.

Deploy to staging env.

Maybe have qa do some final checks and Create short lived release branch.

Deploy to prod. (Daily?)


Would love help to figure out what may be realistic in this situation

https://redd.it/ybwee1
@r_devops
DevOps is Bullshit

Cory O’Daniel, CEO of Massdriver, gives his thoughts on the broken state of DevOps and the future of platform engineering.

https://blog.massdriver.cloud/devops-is-bullshit

I'm curious to hear everyone's thoughts on this. Everywhere I've been, DevOps seems to be more of a burden than a boon on the engineering teams.

https://redd.it/y94xhx
@r_devops
Terraform modules that create the same resource

I have two Terraform modules that create cloudflare_zone resources on the same zone. The first module works fine, but the second one fails because the zone already exists.

Is there a way to let Terraform "merge" the two modules together?

https://redd.it/yc1qtr
@r_devops
Running cypress tests for svelte app with Github Actions

I'm really new to Github Actions. I have a repo with a 'frontend' and a 'backend' folder. Backend is fastapi, frontend is svelte and inside the frontend/app, there are 'src', 'cypress', 'package.json', 'cypress.config.js', 'rollup.config.js'.

In the root folder of the repo, there is the .github folder, and there the main.yml. So I want to build and run my svelte application (and the fastapi backend) and then do cypress tests on them. Running fastapi backend works so far. For the frontend I tried runnning svelte on a separate step than the cypress tests, but then cypress.visit() couldn't find the localhost, where the app is located.

That's why I put everything on the same step:

- name: Install packages
run: |
cd frontend/app
npm install
npm install cypress

- name: Cypress
uses: cypress-io/[email protected]
with:
build: npm --prefix frontend/app run build
start: npm --prefix frontend/app run start
config-file: frontend/app/cypress.config.js
wait-on: 'https://localhost:3400'

The "Install packages" steps works fine, but in the cypress step I get an error

Error: ENOENT: no such file or directory, open '/Users/runner/work/<repo>/<repo>/package-lock.json'

So it never checks the right path (frontend/app) so I probably ignores the --prefix parameter. I also tried: (build: cd frontend/app && npm run build) but it still checks the root dir.

Does anyone has a clue why this happens and how I can let them find the right package file? Has been very frustrating.

Thanks

https://redd.it/ybxzs4
@r_devops
Suggestion on plan to deep dive into devops part of application in production.

Hello folks I'm a ruby on rails web developer(>3 YOE), and so far has very minimal "ops" knowledge.For smaller client works and personal projects I've been using - CI: github-actions/circle- CD: Heroku to Handle all the deployment of PR builds, staging & production apps.Currently working for a larger client, here it is devops heavy(with a large dedicated devops team),& I'm kinda clueless & awestruck by the work the devops have done here, hence this plan for deep dive.Also, since Heroku going through some major overhaul, rather than looking for a similar alternatives I would like to deep dive into the operations part of web apps.After some research I came up with a personal ROADMAP (thanks to roadmap.sh & other sources from this sub).Along with 2 personal projects CI/CD setup as to put my learning into practice.

{
networking: "basics", "Protocols", "nginx", "Web Server", "Network Tools"
linuxscripting: ["ruby/go", "bash", "terminal commands", "Compiling apps"],
cloud: ["aws","IAM", "ec2", "vpc", "aws-cli", "s3" "rds", "load balancing", "Auto scaling groups", ],
containerization: ["docker", "docker-compose", "Docker Swarm", "Swarm cluster", "ECS", "ECR", "Fargate", "Fargate cluster", "ECS load balancing with ALB"],
ci
cd: "jenkins", "github actions", "gitlab", "travis/circle/semaphore" "heroku", "Pipeline Setup With Jenkins and AWS ECS",
sysprovisioningconfiguration: "Terraform","Ansible",
monitoringandlogging: "Prometheus", "Grafana", "cloud watch", "ELK" ,
orchestration: "kubernetes", "eks",
intermediateproject: {
// No orchestration required
// Should I use Jenkins/other CI tools like circle/gitlab/github actions
app
components:
"rails_app monolith(front end using jsbundling-rails or webpacker",
"postgress_db"
,
ci:
"PRs should run test suite, static code analysis(rubocop + eslint)", "check for 90% test coverage", "only merge if green run",
cd: "PR merge to master must auto deploy the containerized app to production",
"deploy a rails_app monolith(including front end) + postgress_db"
advancedproject: {
app
components:
"rails backend",
"postgres db",
"sidekiq (requires redis)",
"react js frontend",
"setup metabase for the DB (optional future feature)",
"setup rabbitMQ for messages (optional future feature)"
,
ci:
"PRs should run test suite",
"create PR builds for testing",
"static code analysis(rubocop + eslint)",
"check for 90% test coverage",
"auto create PR apps to testing", // is setting up pr builds too much???
"only merge if green run",
cd:
"PR merge to master must auto deploy the containerized app to production",
"deploy",
,
setupmonitoring: ["Prometheus", "Grafana", "cloud watch", "ELK"],
automate: ["provisioning
configuration", "terraform", "ansible"]
}
}

Am I overdoing anything here? or am I missing out on anything crucial?.
I know Jenkins kinda has a bad rap around here, I personally would like to learn it.
I'm planning to achieve this in 4-5 months, is it too much?.
Any suggestions regards to above points would be much appreciated.Thanks.

https://redd.it/yc5pnj
@r_devops
New OSS Project: Helm-Dashboard, the missing UI for Helm

Some time ago, we at Komodor, started working on a new OSS project called Helm-Dashboard. Now, it’s finally ready for users, and I’m excited to share with the world. You can see its GitHub repo here: https://github.com/komodorio/helm-dashboard


So Helm-Dashboard is basically a GUI for Helm, and it's designed to solve some of the more acute painpoints of Helm users by visualizing changes in Helm charts. The goal is to help beginner Helm users to get started with Helm, and for more experienced users to speed up operations.


I invite everyone who is using Helm to give it a try and share your feedback. Feel free to open GitHub issues, send PRs, ask questions in a dedicated #helm-dashboard channel on our Slack Kommunity: https://join.slack.com/t/komodorkommunity/shared\_invite/zt-1dm3cnkue-ov1Yh\~\_95teA35QNx5yuMg

Give it a star if you liked it :)

https://redd.it/yccfb5
@r_devops
Helm Manager - App health / Helm Release TTL / Helm Rest API / Helm Web UI

We are working on a tool that helps better manage Helm applications.

[https://github.com/JovianX/Service-Hub](https://github.com/JovianX/Service-Hub)

Helm Manager includes:

* Show application health (All deployed workload resources are healthy).
* Helm releases Time-To-Live(TTL) schedule for temporary apps.
* Manage Helm releases across multiple clusters.
* Helm Restful API with basic RBAC
* Helm UI with basic RBAC

I would much appreciate your feedback and thoughts!

If you like the project, or find it helpful please STAR the repo.

https://redd.it/yceela
@r_devops
Devs deploying to Production and separation of duties?

Ok. So I work in security and I have to care about PCI, SOC2, SOX, Alphabet soup, etc…

How are you creating a compliant separation of duties scenario that auditors are going for?!

I know people are doing it. I want to drive developer enablement and push us to streamline the whole path to production.

https://redd.it/ycdafh
@r_devops
DevOps Interview questions

What are some common interview questions for devops in aws and python? I have an interview coming up and need to prepare for it….anything helpful is much appreciated!

https://redd.it/ycjmhv
@r_devops