Reddit DevOps
271 subscribers
9 photos
31.1K links
Reddit DevOps. #devops
Thanks @reddit2telegram and @r_channels
Download Telegram
SOCKS5 proxy provider

Hi,

We have different resources on all the major cloud providers (GCP, AWS, AZ, IBM) and we'd like to present some of our egress traffic as coming from a limited set of static IP addresses.

Leveraging our current VNET/VPC gateway IPs is not an option as the number of IPs it would require would exceed the number of IPs we would like our egress services to use.

The only viable option I can think of is to launch a bunch of SOCKS5 proxies, and configure the egress service to use those proxies to establish egress connections.

If possible, we'd like to not have to maintain this piece.

1. Is there any other technical solution to achieve this?
1. I can't find out-of-the-box proxies provided by the big cloud providers (e.g. AWS SOCKS5 Proxy as a service). Is there an offering from them I'm missing?
1. In the sea of personal VPN offerings, the only business oriented product I found is https://www.quotaguard.com/static-ip-features/ Does anyone know other serious providers?

https://redd.it/oqll1a
@r_devops
Working as a "DevOps Engineer" but with caveats. Have the option of switching to Telco engineer. Interested and want to make a career in DevOps. Would this move be burning the bridges?

So I'm working as a DevOps Engineer right now but the work is more of release management. The day to day involves monitoring of our test environments hosted on Linux servers, troubleshooting them, monitoring test results (not writing the tests) and creating new releases. The thing is I'm not actively working with tools and technologies such as Ansible, Terraform, Kubernetes or public cloud. I'm trying to learn these by myself and also trying to get some azure certifications but that's going slow.

Now I have an offer for another job which is a junior Telco engineer. Part of it involves some system administration, Ansible and python/bash for automation. But main part is working with VoIP technologies and using Asterisk and Wireshark etc.

I'm confused if I should take this one or not. Because I do want to continue my career in DevOps. And I feel like the job that I'm in right now doesn't give me the exposure and opportunity to work with the tools and technologies that are in DevOps.

And I could get Ansible and some automation experience with the new one (my situation with the rest of the stuff stays the same). But I'm worried that it would be a change into something very specific as VoIP and I would move away from DevOps. Would it be a good idea to switch jobs here?

Also the new job pays a little bit more but involves some on call work which is potentially 1k-2k plus per month
Any opinions will be appreciated! I have to decide by Tuesday 😅

https://redd.it/oqpn5i
@r_devops
I hate the cloud

Over last few years I designed or redesigned multiple different infrastructures (all as IaC, some with k8s stuff) and worked on few more. All of those were on prem stuff built on top of open source tools (with some proprietary bullshit I had no influence over, VMware, Oracle etc).

My growth as an engineer was mostly iterative, I was building skills on top of previous experience with similar standards and tools. It was all I wanted from my job, cause it was in sync with my views on software (foss first, proprietary vendor lock only if there is no choice).

Recently when I was looking for new client to work for (I run a single person business, it has some financial and freedom related benefits in my country), I've noticed that 90% of the job offers involve some kind of cloud environment, so I figure, it's time to get better idea about it.

I never held cloud in high regard, cause it seemed like a worst possible vendor lock in, just better marketed. Sadly it had to be done.

Few months into the project as a more of a cloud architect (though I write automation too), I find myself learning stuff that does not translate into anything else, but single vendor product. Unlike my previous experiences, none of this is going to benefit me if I have to change project into something that uses different cloud provider or even on-prem stuff.

I suspect without some legislation about standards in the cloud (like not allowing cloud providers to create proprietary APIs or vendor specific tools), this is only going to get worse.

https://redd.it/oqq1mg
@r_devops
Easy to use Open Source self hostable serverless platform?

I've been using GCP cloud function quite extensively and really enjoy them. They are easy to set up and cheap. Basically you just write a function or service in a specific format defined by Google, push it to a git repo and with a few a clicks it's up and running, with autoscaling and monitoring and pretty much no overhead or configuration required.

Is there something like that that I can just run on my own server(s) or kubernetes cluster? Currently when I want to self-host a simple service with those features there is significant overhead involved in containerizing it and configuring it properly for kubernetes. In practice, CF and probably AWS lambdas are much easier to get up and running (for simple applications).

https://redd.it/oqt6fa
@r_devops
26 week devops boot camp no experience/cs required

I’m considering this course for a mid-career change. It is from full stack academy, through my local state college. It says I can become certified as AWS certified developer-associate, AWS solutions architect-associate, AWS Certified SysOps Administrator - Associate, and the certificate of completion of the boot camp for devops. It covers a bit about Linux, Python, and networking,coding. But seems heavy on AWS.
My current position is financial and data analytical but most of what I am using is proprietary specialized software. I do not have computer science degree.
Could I get an entry level job in devops after this boot camp? Are companies hiring for positions like this? It seems that most of the jobs posted currently are looking for several years of experience. I don’t know anyone in this field that I could ask.

https://redd.it/oqt04j
@r_devops
When you interview with a company that claims they do DevOps...

I've been interviewing and the job description always seems to sound like they got it all... but when you talk to them there's a lot of well... and we are working towards it... which I don't mind but it's frustrating when people try to make it sound like they did it all when it's definitely a subset of it.

​

DevOps CI CD automation Meme | Knowledge Sharing - YouTube

https://redd.it/or1qs7
@r_devops
DevOps Interview Coding Question

I am doing my first DevOps interview with a large tech company (shocked Pikachu). The first round is a coding interview, which they say isn't as hard as a software interview. I have no clue what that means, but I happen to also want to do software eng as a career (though more interested in Ops).

So I came here to understand what is typical DevOps interview? What are peoples experiences?

https://redd.it/or277b
@r_devops
Docker is dumb

After years of wasting my time with Docker, I'm done. It is a pointless, waste of time. You know what is better than docker? Anything.

https://redd.it/or570u
@r_devops
How does your company interpret DevOps?

Companies still interpret DevOps differently between each other. Some see it as more of a dev-based role, some more of an ops-based role, some try to keep the balance, while some match it with something one might see completely unrelated to the field.

What is the case for you?

For me, I currently work at the biggest company in my country, which doesn't happen to be a tech company, but an oil one that recently invested a lot in the IT department. We work in the IT development sub-department and are essentially software developers.

The difference between those with a dev role and those with a DevOps role is just what exactly we are developing. The devs are focusing on end client solutions. We are focusing on internal, dev solutions. We develop the tools, pipelines, dashboards, etc. that are used internally. But 95% of the time is spent towards their actual development, primarily using our own edition of the Quarkus (Java) framework, with the idea of some Go in the future. The other 5% can be seen as operational, or system work.

How about you? I want to see a trend of how the word is used out there.

https://redd.it/or6bu0
@r_devops
Basic question regarding transfer of databases

I'm not a devops guy, but I happen to have an application running on a VM that has a stack of 9 docker containers, 4 of which are databases (MongoDB, Postgres, and 2 Redis). I'm now looking to transfer the application and all data to another VM from another provider.

Would it be sufficient to copy the vols folders of the database containers and set up the folder structure in the exact same way on the new system?

Or is there another process?

https://redd.it/or6hrr
@r_devops
Stories of actual DevOps implementations

Over the past few days I have been seeing posts complaining about the term "DevOps Engineer" and how companies are implementing DevOps all wrong.

Are there good stories of DevOps implementation done right and companies reaping measurable benefits ?

https://redd.it/or6p5i
@r_devops
Looking for early history of Continuous Delivery

Humble and Farley's book from 2010 titled Continuous Delivery may have popularized the term, but does anyone know the early history of this term? At least, how did the concept evolve? Does it mirror the evolution of DevOps?

See https://devopedia.org/continuous-delivery for a brief and incomplete history.

https://redd.it/orbr79
@r_devops
What do YOU do with Python?

Or other script languages? I'm curious and would like to hear some real-world examples, or even better, see them if you can share.

https://redd.it/orctqs
@r_devops
DevOps interview question, would like some insight!

Hey guys, long time lurker here and wanting to go over a question I was asked in an interview and see how I could have answered it better. Been doing dev work for sometime and this was my first DevOps interview and most of my knowledge of the field has been self taught and hobby projects.

I think a lot of it came down to nerves and getting in my own head but I want to use this as an opportunity to research and learn more to be better prepared for next time.

The scenario I was asked in the interview was:

>The team is ready to deploy an app, they have a docker container that listens to http requests on a specific port. They want to be able deploy the app to multiple servers and environments, and after it has been provisioned have the docker container run with the port exposed. The app is in an alpha state so it is prone to crashes.
>
>Describe how you would provision the server.

My answer, in short was to use Terraform to spin up an instance for Azure,GCP,AWS (offer a cloud agnostic approach), and from there utilize Ansible to set up the server and deploy the docker container with the --expose [specific port\] and --restart=always.

Was this the correct approach to answering a question like this or should I have focused more on detailing out the Change Management tool as apposed to calling out something like Terraform?

How would you guys go about answering or heck even performing something like this?

https://redd.it/or7p7d
@r_devops
Docker Images by Proyect or by Type

Hi, how are you? My question is whether I should build docker images by project or by type.

Example: An image for the front-end projects or an image for each specific front-end project.

It could also be both and that one is built from the other.

What do you think? Greetings.

https://redd.it/orgt4l
@r_devops
Help with take home assignment

I've been given a take home assignment (I know I know) around writing a script to do a dB upgrade.

----STARTS_HERE----

Please go through the described scenario and write a script, in one of the below languages, implementing a fix to the issue below. 
 
For the development of the scripts you have 4 hours and are allowed to use Google and any other material as long as the work submitted was written by you. 

Use Case: 

·   A database upgrade requires the execution of numbered SQL scripts stored in a specified folder, named such as '045.createtable.sql'

        - The scripts may contain any simple SQL statement(s) to any table of your choice, e.g. 'INSERT INTO testTable VALUES("045.createtable.sql");'
 

·   There may be gaps in the SQL file name numbering and there isn't always a . (dot) after the beginning number
 

·   The database upgrade is based on looking up the current version in the database and comparing this number to the numbers in the script names

        - The table where the current db version is stored is called 'versionTable', with a single row for the version, called 'version'
 

·   If the version number from the db matches the highest number from the scripts then nothing is executed


·   All scripts that contain a number higher than the current db version will be executed against the database in numerical order
 

·   In addition, the database version table is updated after the script execution with the executed script's number 

 
·   Your script will be executed automatically via a program, and must satisfy these command line input parameters exactly in order to run:

        - './your-script.your-lang directory-with-sql-scripts username-for-the-db db-host db-name db-password'   

Requirements:
 
·   Supported Languages: Bash, Python3, PHP, Shell, Ruby, Powershell - No other languages will be accepted

·   You will have to use a MySQL 5.7 database    
 
How would you implement this in order to create an automated solution to the above requirements? 


-----ENDS HERE----

What would be the best way to go about this?

I'm not sure what they mean by my script will be executed automatically. Is it better to write the script in python or powershell?


Thanks
 

https://redd.it/orbpcd
@r_devops
CI/CD experts here?

I was cleaning up my Download folder and come across PDF named cicd.pdf. It contains only 2 images

https://www.dropbox.com/s/pceafrhx9ivpue5/cicd1.png?dl=0

https://www.dropbox.com/s/9yx5l2ms72dla63/cicd2.png?dl=0

and absolutely no text/description. I don't consider myself as an expert in CI/CD, that's why I need your feedback. So far I am not sure should I keep this PDF or not. At first glance this could be an ideal pipline, created according all the best practices.

​

1. Build once, deploy on any ENV
2. Swarm to fix master if ppeline fails
3. Static code analysis and security scanning
4. Every commit is potentially shippable artifact.

​

On the other hand, is it right decision to build DEV env from the scratch and kill it in the end of CI stage? Building environment could take time and as far as I know CI stage should not be longer than 15 min (actually the faster the better). But on the other hand instead of building whole env, with all microservices we can deploy service-mock just for integration test purpose. Because it is impossible to test anything having one DEV and 100 microservices/pipelines.

Am I right, this is trunk base development? Because I don't see here -SNAPSHOT java artifacts, so every commit/artifact is RELEASE and could be deployed.

https://redd.it/orrrt4
@r_devops
Sonarqube project links

Hi All,

I have been exploring sonarqube for a while and I have some queries regarding how sonarqube detects a project.

Usually I create a project name in sonarqube which resembles my gitlab/github project and then scan the code repo for code issues. Is there any way that sonarqube can detect the repo info by making use of git info. Or am I doing it in the correct way.

And another way I found to attach the gitlab/github info is by using project links where I was able to add thr info. Is this the only way where we can actual project reference to sonarqube project?

https://redd.it/orud3e
@r_devops
Do DevOps engineers need to be architects?

I guess I've been fortunate in that I've always seemed to land at a place where there were more or less defined boundaries between dev teams, components, and how they talk to one another. This made onboarding relatively straightforward as I knew where to draw a line and say, okay, everything below this line I don't need to know in order to do my job. I don't need to know, for example, how a particular method in a particular service manages state, but I do need to know that the service connects to a Redis cluster, and it will fail to start if that cluster is unavailable.


About a month ago I started a new position where I've thus far been utterly incapable of finding where to draw that line of abstraction. There are \~15 developers working on 60 "microservices" deployed on ECS. I use quotes because what's really going on is one giant sprawling shared code base running as 60 different Python scripts and communicating through at least six different technologies - an object store, some databases, a message queue, a key-value store, and some synchronous REST API calls thrown in for good measure. Multiple services are handling the same data in different formats. Unsurprisingly, the system is a massive resource hog. I wouldn't be surprised if 70% of our compute costs are being spent on serializing and deserializing the same JSON over and over again.


When I sit down with the devs to try to make sense of what's happening, my eyes quickly glaze over while clicking through the code together. When I ask, "why did you decide to implement it this way?" I usually get a shoulder shrug. I'm coming to the conclusion that no one really gave any thought to how to build or operate this thing. Consequently, I feel like I'm grasping at straws trying to impose order or find patterns in a system where there really aren't any. This is extremely discouraging and exhausting.


I'm tasked, among other things, with migrating this system to a more standard orchestrator (they specifically want to migrate to kubernetes), but I feel like the amount of effort required to do so given the current state of affairs would be prohibitive in terms of time and effort and would not yield the desired benefit over the current setup. My superior was receptive to this assessment, but now I need to come up with a plan for what to do instead. This is where I'm stuck.


Obviously I can't tell the devs to drop everything and refactor the whole code base according to some shiny design pattern I found in a book. I'm looking to make friends, not enemies, so I'd like to propose whatever it is I end up proposing we do as a way to improve reliability, scalability, and performance, because so far we are scoring dangerously low on all three. Everybody knows it but nobody seems willing to take charge and lead the way forward.


Should I stop trying to be an architect, put my head down and start banging out YAML?

https://redd.it/orsy3v
@r_devops
Ansible Tutorial | How to write Ansible Playbooks | Ansible Crash Course

If you want to see the full Ansible Playbook Crash Course Tutorial please visit this link:- https://www.youtube.com/playlist?list=PLTCuRW0ikUdPYxoiVlgDnrySA4eCu2d08

https://redd.it/orvdae
@r_devops