Reddit DevOps
274 subscribers
66 photos
32.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
What hasn't been Dockerized?

During the quarantine I have been using my time to learn Docker, working towards my certification. But I also want to show some examples on my GitHub of me taking existing applications and building images. I started searching through various projects but almost every repo I looked at already supported Docker deployment. Anyone have tips of finding apps that haven't been Dockerized yet?

​

Cheers

https://redd.it/g2fnru
@r_devops
Using github actions - should I have separate workflows for CI and CD?

I'm a bit confused as I've seen so many conflicting examples of github actions workflows where in one workflow the example shows **testing, build & deploying** all in one and others show **testing & build** as one and **deploy** as separate one.

 

My understanding is that:

* CI: You continuously merge your code into master, running a build and test job on it to make sure everything is ok before merging.

* CD: You continuously deploy your app.

 

Therefore, should I have one workflow called `continuous-integration-workflow.yml` and another called `continuous-deployment-workflow.yml` or have it all in one single file?

https://redd.it/g1pkch
@r_devops
Getting bored of DevOps consulting, what do?

My career started with a company brand new to cloud and I was apart of the team that drove some major transformations. Mostly Ops, a little coding, and a lot of communication between teams to help everyone align on the journey. Since then I've specifically worked at similar orgs and helped them get to (or at least take a step in the direction toward) where they want to be which has lead to becoming a DevOps Consultant for AWS.

So far things have been going well but clients usually aren't bringing in consultants unless somethings wrong so I mostly deal with dumpster fires. Looking forward I'd like to work somewhere that's _already_ practicing DevOps at a high level and simply be an engineer or help in a different way than reducing internal silos (which is 90% of DevOps). I'm curious where other consultants here have ended up.

Amazon's the first FAANG company I've worked at and I may just end up transferring to an internal SWE role which doesn't sound terrible and should check all the boxes but I'd like to hear other's experience on where to go after consulting gets old. I think dream job would be writing golang on a "tools" team for pipelines or prod ops but I don't have any perspective on what it's like.

https://redd.it/g2fm28
@r_devops
An Experiment in Streaming: Bytecode Continuous Deployment

Once one starts their journey in data streaming, one starts to discover a lot of applications beyond just the standard Extract-Transform-Load pattern.

The traditional model to deliver a new version of a Java application is to stop the process, deploy the new JAR/WAR, and start the process again. This directly results in downtime: in this day and age, most companies frown upon such downtime as it directly translates into a loss of revenue.

This link is about how to use streaming to continuously deploy bytecode to a running JVM without needing to stop it.

https://hazelcast.com/blog/an-experiment-in-streaming-bytecode-continuous-deployment/

https://redd.it/g2hefq
@r_devops
API gateway/Ingress controller with Keycloak SSO support

Hi All.

We are deploying our microservices on AWS EKS cluster. Till now, we have deployed couple of containers including Keycloak (for auth) successfully.

Now, we want to deploy a ingress controller which needs to be:

* Open source
* Works well with Keycloak with SSO support

Initially, we chose Trafeik, it works well normally but has very limited support for keycloak SSO. NGINX keycloak SSO seems to be part of its enterprise version.

We also tried using keycloak-gatekeeper but it seems too much to have a separate container for each microservice. Also, it did not work with Traefik.

We want a way where SSO can be handled at Ingress controller level itself. Can anyone please help here to choose the correct Ingress controller or might be a way to do Keycloak SSO with Trafeik?

Any help will be greatly appreciated.

https://redd.it/g2gxdu
@r_devops
Git Hooks - Automating Secrets Detection

I find git hooks to be fundamental in automating security processes and finding potential vulnerabilities.

An interesting blog post not by me on git hooks. An interesting argument that post-receive hooks are the most important, I've always relied on pre-commit hooks.

[https://blog.gitguardian.com/git-hooks-automated-secrets-detection/](https://blog.gitguardian.com/git-hooks-automated-secrets-detection/)

https://redd.it/g2fi25
@r_devops
Service in AWS/Azure for getting randomized Domain Names (via terraform or other IAC Tools?)

Hi,
sorry for the headline, it seems i cannot wrote without upper case letters there. for my question:
for starting up tests or shortlived infrastructure it would be EXTREMELY helpful to have an component in azure/aws to request random domain names which can be mapped to certain public IPs which i want to set.. Do you know if there's such a service within Azure or AWS? i do not want to use another dns provider i would like to have it WITHIN azure/aws.

https://redd.it/g2gu5d
@r_devops
What to do after Docker

Hi, so I am currently making a website as a side project and I want to make a CI/CD pipeline to deploy the app. My current set up hosts my code on github. I have 3 branches :dev, staging, master. I run my tests on pull request and build the Docker containers on push request on staging and master branches. This is all done with github actions and my containers are uploaded to docker-hub. I then have my docker-compose file which uses the previously built containers and set environment variables and various things. I host my website on the smallest DigitalOcean VPS. The current set up is a nginx server reverse proxying to web server in a docker container. I figured I would do this so I could maybe do "load balancing" to update my site, so there is no downtime I can spin up the new container and then shutdown the old. I am using the Laravel framework which is in PHP, with a db, nginx as the web server and redis(not sure if really useful as everything is on the same machine?).

Now I'd like to achieve deploying new versions without having to log in my VPS hosting the containers and if possible do it without any disruption to the service. I also sometime have migrations to run on a database and I'd like that to be automated as well, but I don't see how to do it. They are run via a command.

I know there is Kubernetes that can do it, but it looks a bit overkill and complex to set up. Devops looks pretty intimidating to be honest so much stuff and I don't know what I am doing. Would there be an easier alternative? I am also running into the issue that I will have to maintain 2 docker-compose set up for production and dev? Is that something normal?

https://redd.it/g2fcg5
@r_devops
When should I use Configuration Management Tools (e.g. Chef and Ansible)

Based on my research, I wonder where these tools fit today and how they are used. Since a lot of applications are moving to containers and Kubernetes I'm struggling to understand what's the current state these tools.

https://redd.it/g2f7ad
@r_devops
What is CORS for?

CORS (Cross-Origin Resource Sharing) can be complex to understand and to set up. [Here is an explanation of what is for](https://www.padok.fr/en/blog/cors), and how to configure it on Symfony and Django applications. If you have a CORS tutorial on other framework technologies it would be great for me, please share it with me.

https://redd.it/g2e691
@r_devops
Monitoring advice

Hello, I'm looking for advice for a monitoring solution.

My experience as a devops is reasonable as I'm a backend engineer that has take on devops tasks by necessity.

Our current stack is deployed using AWS ECS and we have mostly node.js app and some python.

We also would like to monitor tasks that are done asynchronously, currently using celery.

We also have a media server where connectivity is very important.

We currently have no alerts, and we have to go to cloudwatch and scroll forever when something goes wrong.. in prod it's almost useless as it's lost amongst http logs.

Basically we would like a unique endpoint to monitor, logs, apps, networking.

I'm a big fan of open source soultion but since I'm alone to do devops tasks, I don't want to spend too much time keeping it operational. So I'm ok with commercial solutions.

I've been looking at datadog and promotheus but I'm not sure which way to go. Also I've read reviews about datadog apm integration that can make your apps crash...

Thank you in advance for any help you would give me !

https://redd.it/g2aduq
@r_devops
BUILD Virtual machine image for multiple cloud providers

Basically, I'm looking for a way to build images or ideally just a single one of Linux and maybe Windows which will work for most cloud providers.

The image should work the same on AWS, GCE, Azure but also on some smaller providers like DO, Scaleway, OVH ...
I guess I could tinker such a thing together but maybe some kind of recipe already exists.
I'm also not entirely sure how feasible this would be or if the underlying architectures etc. would be too different

https://redd.it/g2c115
@r_devops
Code that shares docker images

Title maybe wrong as I’m not sure if this approach has a name.

Just wondering if I can get some opinions on a comparison between the two setups.

For context I started a new job and we are using a micro services architecture with containers with kubernetes for orchestration.

In my past work places we’re we used micro services we decoupled all the services and they had their own repositories and container images.

At my new job they use the same images for many services and adjust the entry point according to which service they would like to run.

These are the advantages/disadvantages I could see with this shared images approach.

Benefits:
- less repeat shared resources for code
- reduced cost, less repos

Disadvantages:
- harder to manage (all code in repo may not be related to particular service your troubleshooting)
- bigger docker images
- increases redeploying of services that haven’t changed (ci/cd will redeploy a service if image has changed but code may not have for that particular service inside the image)

I was just wondering if people had come across this approach before and what people’s opinions are on it?

I personally am not a fan of it but maybe someone could enlighten me.

https://redd.it/g1pfb3
@r_devops
Infrastructure as code vs. platform as code

With infrastructure as code (IaC), you write declarative instructions about compute, storage and network requirements for the infra and execute it. How does this compare to platform as code (PaC) and what did these two concepts develop in response to?

[https://jaxenter.com/infrastructure-as-code-platform-170465.html](https://jaxenter.com/infrastructure-as-code-platform-170465.html)

https://redd.it/g1owaw
@r_devops
What method/tool do you guys use to store/use your secure access credentials to a Cloud provider.

How do you guys are managing to get access to your Cloud provider in a secure way?. Let's say, to configure EC2's with Ansible or provision VPC's with Terraform or any other tool .

For personal stuff I have been using environment variables which can be tedious and sometimes I store the aws credentials in .aws/ which obviously is not secure in any way so when not lazy I add to it the password manager tool "Pass" .

I've been thinking to step into Hashicorp Vault + Raft + [Keybase.io](https://Keybase.io) but I am curious of what are you guys using for a simpler or better approach.

I also considered the own vendor Cloud provider Key management service but not sure if the price and lock-down to an specific provider will work long term for me.

Anyway, what about you? .

https://redd.it/g1o2xj
@r_devops
PagerDuty vs. VictorOps vs. OpsGenie

We are looking at implementing a tool to help manage alerting and incident response. How do these compare? Are there other competitors which I should look into?

https://redd.it/g34drp
@r_devops
Did an In-Place Upgrade on a VM running Windows Server 2016 to Server 2019... user is getting access denied errors starting up Docker?

Hi everyone,

As the title says, I recently did an in-place upgrade on a VM for a client from 2016 > 2019 on their request. Now they are getting this when logging into the VM with their domain account and trying to launch Docker:

Docker.Core.DockerException:
Could not save daemon configuration to C:\ProgramData\Docker\config\daemon.json: Access to the path 'C:\ProgramData\Docker\config' is denied.
   at Docker.ApiServices.DaemonOpts.DaemonOptionsLoader.Get(ContainerEngineMode mode)
   at Docker.WPF.BackendClient.Start(ContainerEngineMode mode)
   at Docker.Actions.DoStart(SynchronizationContext syncCtx, Boolean showWelcomeWindow, Boolean withNotifications)
   at Docker.Actions.<>c__DisplayClass26_0.<StartAsync>b__0()
   at Docker.ApiServices.TaskQueuing.TaskQueue.<>c__DisplayClass18_0.<.ctor>b__1()  System.UnauthorizedAccessException:
  Access to the path 'C:\ProgramData\Docker\config' is denied.
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
     at Docker.Core.Paths.EnsureParentDirectoryIsCreated(String path)
     at Docker.ApiServices.DaemonOpts.DaemonOptionsLoader.Save(ContainerEngineMode mode, DaemonOptions options)
     at Docker.ApiServices.DaemonOpts.DaemonOptionsLoader.Get(ContainerEngineMode mode)

He also said the folder/file path doesnt exist. So, he asked that we revert the VM to a Snap of when it was on Server 2016. I did that and he said he is still having the same issue?

https://redd.it/g34zfp
@r_devops
Need of multiple docker instances while on cloud

While we use cloud for deployment , it is autoscalable , which means if there are more incoming requests/load on the server then instances will be dynamically added and while the load reduces automatically . Docker does help us to do efficient use of the hardware resources. but what is the need to spin up more than one container for an API as docker over an compute instance (may be an ec2) will do the job as its auto scalable. Kindly share your thoughts.

https://redd.it/g33eci
@r_devops
Do you know/use any tool for defining and vizualizing dependencies beetween services?

I lack such a tool a lot. I have a system of about 150 microservices and it would be very helpful if I could define dependencies (service A talks with service B, uses mongo, kafka) and visualize it. Now if I want to see service dependencies I have to look into service code (which is not a big pain in the ass using monorepo). Do you know such a tool?

https://redd.it/g2z7zx
@r_devops