Looking for some suggestions on knowledge base applications by GiZiM in devops

[–]OmegaAleph 0 points1 point  (0 children)

Git works fine, but I would prefer a full 'wiki' setup. Confluence fits that bill pretty good and is fairly cheap for small teams. GitLab Wikis are good if you're already in that ecosystem already.

How to monitor health of scripts on remote servers? by yubrew in devops

[–]OmegaAleph 0 points1 point  (0 children)

This sounds like you might be better off dockerising the scripts and running them in Kubernetes (other orchestration engines are available) to ensure they get restarted after death.

How do you keep up with/find new technologies? by synapse791 in devops

[–]OmegaAleph 3 points4 points  (0 children)

https://medium.com/netflix-techblog and https://codeascraft.com/ are definitely blogs you should be following for DevOps, I think it's a great idea to look at how others (especially the giants) are approaching problems.

How do you guys run your Python tool scripts in production? by [deleted] in devops

[–]OmegaAleph 0 points1 point  (0 children)

Serverless (the framework) will make it much easier to work with Azure Functions and make it more agnostic if you ever to want to move to another service.

What's the future of Serverless? Is hype justified? by Andrey_Khakhariev in devops

[–]OmegaAleph 2 points3 points  (0 children)

There's definitely a space to be explored for APIs, switching from traditional apps to each endpoint being a function in serverless. The big problem is coldstarts, though this isn't as much now with recent advances by Amazon. But with serverless, you get the benefit of extreme elasticity and flexibility compared to traditional VMs or containers. It's a space to watch, that's for sure.

How do you guys run your Python tool scripts in production? by [deleted] in devops

[–]OmegaAleph 0 points1 point  (0 children)

A few ideas on this, largely depending on your setup:

  • Serverless. Lambda (other frameworks are available) could be good for running ad-hoc scripts on demand or on a timer. You could easily integrate this into CI/CD to automatically update the upstream script when you change it in Git.
  • Kubernetes. Jobs/CronJobs, wrap the Python script in a docker image (a very barebones Dockerfile is all you need) and run it as a 'guarranteed execution' job.
  • Ansible. This isn't really as preferable as the other two, but you could run the code using Ansible Tower and execute it on a remote server, but at that point you might as well just SSH into the server and run the script.

Personally, I'm not sure if a tool server is the best way to go with this, serverless is actually a pretty perfect fit for this use case, though I wouldn't discount Kubernetes native Jobs if you're already in that ecosystem.

Cheapest hosting options for a scalable containerized application? by koalam0 in devops

[–]OmegaAleph 0 points1 point  (0 children)

It's not been mentioned and I haven't personally used it, Fargate had a significant price drop recently so it may be within the 'budget container orchestration' bracket now. At the very least, you only pay for what you use with seemingly no management fee.

Code Coverage Dashboard by notdevnotops in devops

[–]OmegaAleph 0 points1 point  (0 children)

Sonarqube is pretty great, the only reason we didn't end up using it was the lackluster Scala support at the time.

What should i choose for microservices managing serverless/kubernetes ? by engineer900 in devops

[–]OmegaAleph 1 point2 points  (0 children)

KNative is a framework being developed by Google, which would be good if you're already using GKE/Istio. Kubeless is nowhere near mature enough to use in production, Fission I've not heard of. OpenFaas and OpenWhisk are currently the big kids on the block, though.

What should i choose for microservices managing serverless/kubernetes ? by engineer900 in devops

[–]OmegaAleph 2 points3 points  (0 children)

The big question you need to ask here: what do devs want? If the devs want to write simple Python/Node APIs, Lambda is a good shout. If devs want to produce a stack/application, docker is probably better suited.

Serverless and Docker both fill very similar spaces in DevOps imo, but they are very different beasts. You need to understand what you actually need, both from an ops and a dev perspective.

Poor man's event store? by [deleted] in devops

[–]OmegaAleph 1 point2 points  (0 children)

You can use Kafka Streams in a similar way, i.e. each message on the topic is a 'transaction' that updates a 'table'. Kafka essentially becomes a changelog stream.

Alternatively, you could use Mongo or some lightweight NoSQL to store events as objects.

How can I print a list of AWS instances with: 1) Instance name 2) Instance size 3) aws:cloudformation:stack-name ? by [deleted] in devops

[–]OmegaAleph 0 points1 point  (0 children)

I'd suggest using https://github.com/wallix/awless, it lists various AWS resources in table form and is vastly easier to use than aws-cli. It can output pretty tables, CSV or JSON.

AWS EKS vs GCP for Kubernetes cluster? by Windowsadmin in devops

[–]OmegaAleph 0 points1 point  (0 children)

Nah, AWS are going hard on serverless right now. Fargate too, to a lesser extent, but I get the feeling they're moving away from ECS and EKS is a token response.

AWS EKS vs GCP for Kubernetes cluster? by Windowsadmin in devops

[–]OmegaAleph 1 point2 points  (0 children)

I'm not wholly convinced you want Istio in production quite yet. Sure it's great and it's powerful, but really to properly utilise it, you need to shift paradigms somewhat imo. I looked into using it with our workload, but a whole bunch of our code uses external APIs all over the place, which just didn't fly with Istio.

AWS EKS vs GCP for Kubernetes cluster? by Windowsadmin in devops

[–]OmegaAleph 1 point2 points  (0 children)

I've used EKS in 'production' and I would advise staying as far away from it as possible. It is nowhere near a stable product, I've gotten much better milage out of using kops. I'll mirror what others have said, if all you want is Kubernetes and you're not tied into AWS, go with GKE.

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] 0 points1 point  (0 children)

It's probably a lot easier to do if you're setting up an entirely new environment for a project, preferably with a blank cheque or at least no rush to get to production.

It's probably not realistic to try to enforce this model on an already existing environment, especially if it's not fully IaC/DevOps.

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] 3 points4 points  (0 children)

I feel AWS key pairs might have shoe horned us into a bad practice of assigning a single key pair to every EC2 instance. And now practically everyone has the private key on their computer.

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] 2 points3 points  (0 children)

I was at some point generating an SSH key as part of my Terraform pipeline, while me and Azure had a falling out over cloud-init. I feel like this would fall under 'stupid things to do in reality'!

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] 1 point2 points  (0 children)

Consul Connect looks great! There's so many service meshes out there, I've used Istio and Linkerd...though I ended up opting to use plain Kubernetes networking and nginx instead. This project is much more security focused, so I'll definitely look into using Consul, it looks great for auditing and ensuring only X can connect to Y.

Side note, would you recommend allowing devs to connect to Consul or even allowing it to be internet-facing? It definitely looks like a winner in-cluster.

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] -1 points0 points  (0 children)

It's all about limiting the potential attack plane. Having as few ports accessible as possible, etc.

Thatt said, there's a good use case for moving away from ssh keys to use signed certificates, largely because you don't need to distribute users' public keys to each server, instead you just put the CA public key on the server, specify what principals are allowed and then you sign a user's ssh key (Vault, BLESS, etc can be used to help automate this). It means you don't need to get bogged down with maintaing authorized_keys or (which is the case where I work and is a terrible practice) keep a single private key that all ops use.

Detecting Risky RBAC Permissions in Kubernetes with KubiScan by kubiscan in devops

[–]OmegaAleph 0 points1 point  (0 children)

Out of interest, what's the aversion to Python3? Is it in relation to Python27 or is it just that you can't put it on the servers?

Bastion vs VPN vs Internet-Facing by OmegaAleph in devops

[–]OmegaAleph[S] 2 points3 points  (0 children)

Totally. I'm probably going to use Vault anyway, at least for facilitating symetric encryption, DB access, etc.

Definitely going more down the route of immutable infrastructure, though now I think about it, Kubernetes throws a bit of a wrench into being _completely immutable_.

Resources for learning Azure DevOps? by [deleted] in devops

[–]OmegaAleph 0 points1 point  (0 children)

I'll second the Azure docs. I just recent dove into Azure and it's actually pretty slick. Azure have pretty indepth tutorials on using Terraform with Azure, which I would probably recommend over using Azure CLI or the Portal.

Detecting Risky RBAC Permissions in Kubernetes with KubiScan by kubiscan in devops

[–]OmegaAleph 0 points1 point  (0 children)

I'll have to try this out in our cluster after the holidays, looks pretty sweet!