Reddit DevOps
270 subscribers
2 photos
31K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
Lead Time on a Greenfield project

Hi all, I tried to do a very quick lazy search on this subject here and it doesn’t appear to have been discussed before. If not I do welcome any links to previous discussions.

To jump into it: I’d like to hear your thoughts on lead time (length of development cycle from start to production) for a Greenfield project - I.e. something typically being (re)written from scratch.

My understanding is that one of the measures of DevOps success is low lead time and frequent deployments to production.

How do you believe this ought to work with “greenfields”? Does the concept of a “production ready” build apply, and do you wait until your development has reached that level of maturity before deploying to prod? Consider this within the context of an enterprise application with heavy governance/compliance and security requirements (e.g. a system that contains PII or credit card information etc)

Or do you get whatever’s been tested into Prod, even if it may not be fully functional for an end-user? Perhaps treating “Prod” as iteratively as you would “dev”?

Or is there some subtle middle ground?

Traditionally, many of the companies I’ve worked for have had very slow lead time, partly based on the idea that you don’t touch prod until you’re “completely satisfied” with UAT/Stage. This seems to not be in alignment with DevOps, at least based on my growing understanding.

https://redd.it/srffa1
@r_devops
New to DevOps;

Hi, just want to recognise what's the difference between a Software Developer and a DevOps Engineer? What are the ‌‌‎ differences on their role and tasks?

https://redd.it/sr4p69
@r_devops
DevOps Handbook, 2nd Edition eBook

The second edition features 15 new case studies, including stories from Adidas, American Airlines, Fannie Mae, Target, and the US Air Force. In addition, renowned researcher and coauthor of Accelerate, Dr. Nicole Forsgren, provides her insights through new and updated material and research. With over 100 pages of new content throughout the book, this expanded edition is a must read for anyone who works with technology.

You can try eBook for Free from here: DevOps Handbook, 2nd Edition eBook

https://redd.it/sqwzyx
@r_devops
Best way to handle several python script plugins for a service? Create an image + container for each one? Create one for them all? Running them as microservices?

So we have an ftrack setup, and we have several plugins for it, and are in the process of creating more. We're also moving ftrack to the on-premises self-hosted version which uses kubernetes.

Each script is at most a few hundred lines of python, spread over a few files at most. Here's an example of one, but essentially it currently goes something like this:

import ftrack

def callback(event):
...

ftrack.setup()
ftrack.EVENTHUB.subscribe('topic=ftrack.update', callback)
ftrack.EVENT
HUB.wait()

(note that the above example and the one I linked to are on the old v1 deprecated API using python 2, but it's very similar for the new API with python 3, and we will be porting over the old ones)

Currently we just have each of them setup with this simple event server.

We're a smallish company with ~15 employees, and as I mentioned we're now deploying ftrack to an on-premises install, that's running on a small server (Ryzen 1800x, 64GB RAM, Proxmox) on kubernetes.

I'd like to make the plugins a bit more modern and reliable, ditching the event server. As if you look the event server doesn't really know what plugins doing once running, e.g. if they crash they just stay down until the entire event server stops and restarts.

So I'm looking for some advice on how to implement these plugins?

Should I create an image/container for each one and run that? Or would that be using a lot of resources even for simple plugins? If this way, how would I go about automating it so that I cn easily just generate an image for every plugin?

Should I create one image/container that then loads and manages the several plugins, making sure they restart when crashed etc? This way just sounds like re-inventing and implementing a lot of what potentially already exists.

Should I look into running them as microservices? I have some experience with AWS Lambda, and I think each plugin would work nicely on something like that. But we want it to be self-hosted locally. What sort of local free microservices frameworks are there, that are low resource enough to run on the server?

I'm leaning towards the microservices one, as this seems like a time and a place where microservices would actually be a very good idea?

Or are there perhaps other ways that would be better to implement the whole thing?

https://redd.it/sq88zy
@r_devops
DevOps conference List

I have prepared a list of online conferences for DevOps and SREs. This list should help you choose which conference to attend. It is especially interesting when you can attend an online conference that will be held in another country or continent.

The list is available on my blog (https://www.czerniga.it/2022/02/13/devops-online-conferences-list/) as well as on GitHub (https://github.com/czerniga/devops-online-conferences). If you want to add a new conference create a new Pull Request in the repository on GitHub.

I also list some upcoming conferences below:

| Date | Conference | Link|Price |
|:-|:-|:-|:-|
|17 February 2022|SKILup Day: Site Reliability Engineering|https://www.skilupdays.io/Sre-22/home|FREE |
|8-9 March 2022 |The DEVOPS Conference|https://www.thedevopsconference.com/|FREE |
|14–16 March 2022|SREcon22 Americas|https://www.usenix.org/conference/srecon22americas|US $550 – US $700 |
|24-25 March|DevOps.js Conference|https://devopsjsconf.com/|FREE / € 46 |
|26 – 29 April 2022|DevOpsCon London|https://devopscon.io/london|£ 512 - 1196 |

https://redd.it/ss55b8
@r_devops
I'm AWS SAA and RHCSA certified, what should I focus on next to get into devops?

I'm gonna give it straight, I know just having AWS and Linux knowledge is not enough to apply for devops jobs. I'm not comfortable with coding too ( I just learnt C back in college 4 years back, that's it).

What should I focus on next? It's kinda confusing, should I focus on coding if so should i learn python or ruby (I heard Chef uses Ruby) or should i focus on things like ansible, docker, kubernetes, jenkins, chef, puppet etc I'm not even sure what all of these are used for exactly? I know RHCE focuses on Ansible so maybe should i start preparing for that?

I am confused on what to do next, any guidance? Thanks for the help. I'm not even sure what jobs should I apply for right now with the current amount of knowledge I have (my resume is in my profile). Man I'm confused af, I would appreciate any guidance I can get, thanks in advance.

https://redd.it/ss5lnb
@r_devops
Azure AZ-204 exam prerequisites

I am aiming towards AZ-400 exam and becoming better at Azure regarding DevOps perspective (Azure architecture, Azure DevOps and AKS), but thought this would be a better starting point before going to AZ-400 considering my current skills: PowerShell, a little bit of Python, really basic Kubernetes knowledge and a Windows sysadmin background. At the moment, I am going through AZ-900 preparation.

Is this enough prerequisites for me to be able to attend AZ-204 and learn new things there? Please share your thoughts and suggestions.

https://redd.it/ss7b6p
@r_devops
Fast-Kubernetes: Kubernetes Tutorial, Sample Usage Scenarios (Howto: Hands-on LAB)

I want to share the K8s tutorial, cheatsheet, and usage scenarios that I created as a notebook for myself. I know that K8s is a detailed topic to learn in a short term, I gathered useful information and create sample general usage scenarios of K8s.

This repo covers Kubernetes objects' and components' details (Kubectl, Pod, Deployment, Service, ConfigMap, Volume, PV, PVC, Daemon sets, Secret, Affinity, Taint-Toleration, Helm, etc.) fastly, and possible example usage scenarios (HowTo: Hands-on LAB) in a nutshell. Possible usage scenarios are aimed to update over time.

**Tutorial Link:** [**https://github.com/omerbsezer/Fast-Kubernetes**](https://github.com/omerbsezer/Fast-Kubernetes)

# Quick Look (HowTo): Scenarios - Hands-on LAB

* [LAB: K8s Creating Pod - Imperative Way](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-CreatingPod-Imperative.md)
* [LAB: K8s Creating Pod - Declarative](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8-CreatingPod-Declerative.md)[ Way (With File) - Environment Variable](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8-CreatingPod-Declerative.md)
* [LAB: K8s Multicontainer - Sidecar - Emptydir Volume - Port-Forwarding](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Multicontainer-Sidecar.md)
* [LAB: K8s Deployment - Scale-Up](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Deployment.md)[/Down - Bash Connection - Port Forwarding](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Deployment.md)
* [LAB: K8s Rollout - Rollback](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Rollout-Rollback.md)
* [LAB: K8s Service Implementations (ClusterIp, NodePort and LoadBalancer)](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Service-App.md)
* [LAB: K8s Liveness Probe](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Liveness-App.md)
* [LAB: K8s Secret (Declarative](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Secret.md)[ and Imperative Way)](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Secret.md)
* [LAB: K8s Config Map](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Configmap.md)
* [LAB: K8s Node Affinity](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Node-Affinity.md)
* [LAB: K8s Taint-Toleration](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Taint-Toleration.md)
* [LAB: K8s Daemon set](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Daemon-Sets.md)[ \- Creating 3 nodes on Minikube](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Daemon-Sets.md)
* [LAB: K8s Persistent](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-PersistantVolume.md)[ Volume and Persistent](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-PersistantVolume.md)[ Volume Claim](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-PersistantVolume.md)
* [LAB: K8s Stateful Sets - Nginx](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Statefulset.md)
* [LAB: K8s Job](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Job.md)
* [LAB: K8s Cron Job](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-CronJob.md)
* [LAB: K8s Ingress](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Ingress.md)
* [LAB: Helm Install & Usage](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/Helm.md)
* [Kubectl Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/KubernetesCommandCheatSheet.md)
* [Helm Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/HelmCheatsheet.md)

# Table of Contents

* [Motivation](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#motivation)
* [What is Containerization? What is Container Orchestration?](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#containerization)
* [Features](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#features)
* [What is
Kubernetes?](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#whatIsKubernetes)
* [Kubernetes Architecture](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#architecture)
* [Kubernetes Components](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#components)
* [Installation](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#installation)
* [Kubectl Config – Usage](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#kubectl)
* [Pod: Creating, Yaml, LifeCycle](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#pod)
* [MultiContainer Pod, Init Container](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#multicontainerpod)
* [Label and Selector, Annotation, Namespace](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#labelselector)
* [Deployment](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#deployment)
* [Replicaset](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#replicaset)
* [Rollout and Rollback](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#rollout-rollback)
* [Network, Service](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#network-service)
* [Liveness and Readiness Probe](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#liveness-readiness)
* [Resource Limit, Environment Variable](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#environmentvariable)
* [Volume](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#volume)
* [Secret](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#secret)
* [ConfigMap](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#configmap)
* [Node – Pod Affinity](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#node-pod-affinity)
* [Taint and Toleration](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#taint-tolereation)
* [Deamon Set](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#daemon-set)
* [Persistent Volume and Persistent Volume Claim](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#pvc)
* [Storage Class](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#storageclass)
* [Stateful Set](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#statefulset)
* [Job, CronJob](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#job)
* [Authentication, Role-Based](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#authentication)[ Access Control, Service Account](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#authentication)
* [Ingress](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#ingress)
* [Dashboard](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#dashboard)
* [Play With Kubernetes](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#playWithKubernetes)
* [Helm: Kubernetes](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#helm)[ Package Manager](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#helm)
* [Kubernetes Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#cheatsheet)
* [Helm Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#helm_cheatsheet)
* [Other Useful Resources Related to ](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#resource)[Kubernetes](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#resource)
* [References](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/README.md#references)

https://redd.it/ss8a1k
@r_devops
In an interview, I was asked to explain every detail when you run "curl google.com". How would you explain?

I started off with DNS resolution and went ahead with packet transmission between every layer of TCP/IP. But I was also asked how "curl" binary executes, what's the process etc.

https://redd.it/ss95zq
@r_devops
In an interview, I was asked to explain every detail when you run "curl google.com". How would you explain?

I started off with DNS resolution and went ahead with packet transmission between every layer of TCP/IP. But I was also asked how "curl" binary executes, what's the process etc.

https://redd.it/ss95zq
@r_devops
Learning DevOps in 2022

I see this question asked all the time: "I want to get into DevOps, but what should I learn?"

Great question! And a tricky one, too, because by the nature of DevOps it has a very wide technical responsibility. Take a look here as I provide some guidance I think a personal can focus on for learning modern DevOps.

- Platforms
- Languages
- Tooling
- Cloud

https://trstringer.com/devops-learning-2022/

https://redd.it/ssdn3s
@r_devops
H-index like for the devs

Hello everyone, just a bit idea i wanted share.

I'm not a developer, but I thought that a system similar to the H-index in science for developers would be nice.

Each developer would be given a score based on the number of people who use and cite their work, allowing amateurs like me to get a very vague idea of the person's level.

Have a good day, sorry for my bad english speaking.

https://redd.it/sse5bh
@r_devops
Bitbucket cloud vs azure devops vs gitlab (continuous deployment)

Hello,

I'm a bit new to all of this, but we (a small startup) currently utilize Bitbucket hosted locally on one of our servers. We are looking at options for continuous deployment and want to move as much to the cloud as makes sense.

How do the three (Bitbucket Cloud, Azure DevOps, and GitLab) compare?

We want:

1) To be able to deploy .net applications both to a locally hosted IIS running on a local server and to an Azure App Service

2) Deploy SQL changes if possible

3) Integration with Jira, we had this but we moved to Jira cloud and lost that link

4) Easily be able to migrate our locally hosted Bitbucket to whatever option we choose. We would also prefer to keep any history (branches and what not) we have in our Bitbucket.

5) A stretch, but we deploy changes to a 3rd party hosted website, if we could some how scrape the site and make changes through the page? This sounds a bit far fetched but thought I'd include it.

If anyone knows if any of the three options can do the above, how well they do it, or if there are better places to ask please advise.

Thank you

https://redd.it/sshhbs
@r_devops
Need advice as a new grad in a DevOps role

I recently started a role as a DevOps Engineer, and I didn’t expect to start my career as one. Initially I had planned on working as a SWE, and building on from my previous experience as a SWE intern.

And for some context on how I got the job - I applied to a pretty big IT company, which offered a new grad program for CS students that funnelled them to different roles - SWE, QA, DevOps, etc. And I was lucky enough that my current team took me. Although I have no DevOps experience, the team took me despite knowing that.

And I took this role because, I thought it would put me in a unique position in my career:

1) I understand that the DevOps role is usually for people who have years of experience
2) Having mostly development experience, I also wanted to have experience on the operations side

Where I need advice on is my focus on learning.
I am overwhelmed with the plethora of tools and concepts that are out there. And I understand that the tools we use will always change.

So if we’re speaking of core concepts/knowledge/principles that will carry througout my career (irrespective of tools) what should I know? What should my foundation of knowledge be strong in? Would that be that be OS concepts, networking, sysadmin, etc.?

Many thanks for reading this post

https://redd.it/sshi6n
@r_devops
First time being offered RSUs, help?

I might be starting a new job soon, and while I'm used to negotiating a salary and bonus, one company I'm interviewing with offers restricted stock units (RSUs). What do I need to know about this so I don't sound like an idiot to the recruiter? Are RSUs something I can negotiate like a salary? What percent of compensation do RSUs make up?

Here's some quick facts from their equity PDF:

* Total vesting period is four years
* First 25% of the shares vest after 12 months
* Quarterly thereafter for 12 quarters

https://redd.it/ssium9
@r_devops
Present Packer variable as a list

So this may be pretty straight forward but I have a hard time finding the solution - how do I present the packer variable ami_users to accept a list of account ID's?


I have a variables.pkr.hcl file which I've stated as:


variable "amiusers" {
type = list(string)
}

and on the variables.auto.pkrvars.hcl I've added the list of shared AWS account ID's in the format:


ami
users = "12345", "678910", 11121314"

The issue is that I get the error:


Error: Incorrect attribute value type

​

on mainscript.pkr.hcl line 17:

(source code not available)

​

with var.ami_users as list of string with 3 elements.

​

Inappropriate value for attribute "ami_users": element 0: string required.


Am I meant to declare the variable as another type in this case? All the similar examples on github declare this as a similar type.

https://redd.it/ssgxct
@r_devops
Scenarios where it's a pain to manage secrets and configuration data (Kubernetes manifests, parameters, variables, etc.)

Hey Everyone,

I'm looking to get some ideas from you on how it's been a pain in the butt for you to manage things like:

\- Secrets

\- Kubernetes manifest params

\- Parameters in your code

\- Variables in your code

\- Terraform variables

And pretty much anything else that you can think of in the configuration metadata/configuration data space.

I'm building some content around a platform called CloudTruth, and I want to provide real-world, project-focused examples.. so any ideas that you can give that you're currently battling with would be greatly appreciated!

https://redd.it/ss9o64
@r_devops
Help to analyze and monitor nodejs api routes

Whats up guys!! so, i am new in devops so i would like to ask help to perform a task.

Basically i have a backend api running node.js, i would like to monitor some attributes from this API, to analyze metrics from this attributes per moth, year, etc..., so thanks for the help :D

​

PS: the attributes would be something like:

​

route alias (something like this -> ""route/:id/update") , totalRequests, latency and failRate

https://redd.it/ssc29n
@r_devops
DevOps Bulletin Newsletter - Issue 38

Hey folks,

DevOps Bulletin - Digest #38 is out, the following topics are covered:

🚀 5 hours tutorial series but totally worth it to learn how to deploy a production-ready Django application into a Kubernetes cluster running on DigitalOcean with Docker and GitHub Actions.
🔒 Great post to master RBAC and its terminologies (Role, ClusterRole, RoleBinding, and ClusterRoleBinding)
💰 How a bug ended up generating 500k time/minute of logs that costs $1000 on Google Cloud Platform.
🗂 PostgreSQL stores a lot of files on disk such as transaction commit data, sub-transaction status data, write ahead logs (WAL) ... In this post, you'll get into the implementation level details on how PostgreSQL row storage really works.
💻 2021 was a seriously good year for web security research. This post scratches the surface and list the most significant web hacking techniques of last year.
❤️ 100% free Kubernetes tutorials and courses for getting hands-on knowledge and know-how to be a pro Kubernetes developer. Unlock the next level of growth in your cloud native career.

Complete issue: https://www.devopsbulletin.com/issues/1000-wasted-because-of-an-infinite-loop

Feedback is welcome :)

https://redd.it/ss8ge7
@r_devops