Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
MightyBigMinus
Jan 26, 2020

Hadlock posted:

If you were tasked with overhauling monitoring and alerting + improve visibility into a highly real-time system, what kind of KPIs would you select for phase 1 of the project, and what would you push out to phase 2 or beyond

Also thoughts on how to minimize alert fatigue

the hard part to this is not knowing the answer, i could tell you right now its 'the golden signals' [1] and it wouldn't matter

the hard part is building a management+team consensus over who gets the alerts and what the expectations of them responding are (ON CALL ROTATION).

I would start with *just* tail-latency (95th or 99th%) and work out which endpoints page which people on which rotations and schedules first. if the answer is "all the alerts go to you, just to start before we roll it out to more people later" you're already hosed beyond recovery.

some notes on how the process works in a giant supertechnocratic environment: https://sre.google/sre-book/service-level-objectives/

[1] https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals

Adbot
ADBOT LOVES YOU

The Fool
Oct 16, 2003


The Iron Rose posted:

Read Charity Majors’ blog.

Her observability book + Alex Hildago's SLO book are both pro reads as well.

Volguus
Mar 3, 2009
I have a question about building containers. I have this Dockerfile:
code:
FROM registry.fedoraproject.org/fedora

WORKDIR /tmp/workdir
COPY prepare_vcpkg.sh /tmp/workdir/

RUN dnf install -yq \
    http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-38.noarch.rpm \
    http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-38.noarch.rpm && \
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-38 && \
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38 && \
    dnf upgrade -y && \
    dnf clean all

RUN dnf -yq install cmake gcc g++ pkgconf-pkg-config git kernel-headers \
        tar rpm-build ninja-build perl-FindBin perl-English perl-File-Compare perl-IPC-Cmd.noarch \
        perl-File-Copy perl-File-Copy-Recursive perl-File-Copy-Recursive-Reduced \
        ibus-devel libXmu-devel libXi-devel mesa-libGL-devel mesa-libGLU-devel bison \
        mpv-libs-devel python3-rpm bison python3-distro python3-packaging autoconf automake autoconf-archive libtool \
        libXrender-devel xkbcomp-devel \
        xkbset libxkbcommon-x11-devel xkb-switch libxkbfile-devel libxkbcommon-x11-devel libxkbcommon-devel \
        libxcb-devel xcb-util-xrm-devel xcb-util-renderutil-devel xcb-util-wm-devel \
        xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel  \
        && dnf clean all


RUN /tmp/workdir/prepare_vcpkg.sh

CMD ["fedora"]
And I build it with buildah:

code:
buildah bud  -f ${docker_file}  -t localhost/${container_name}:build --label build_image
This works fine on my computer, builds the image as expected. I'm running fedora 38 on my computer and running buildah version 1.30.0 (image-spec 1.0.2-dev, runtime-spec 1.1.0-rc.1).
However, when I try to build it on a build VM, running debian 11 with buildah version 1.19.6 (image-spec 1.0.1, runtime-spec 1.0.2-dev) I get this error:

pre:
STEP 5: RUN dnf install -yq     http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-38.noarch.rpm     http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-38.noarch.rpm &&     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-38 &&     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38 &&     dnf upgrade -y &&     dnf clean all
Error: Failed to download metadata for repo 'fedora': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=fedora-38&arch=x86_64 [getaddrinfo() thread failed to start]
error building at STEP "RUN dnf install -yq     http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-38.noarch.rpm     http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-38.noarch.rpm &&     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-38 &&     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38 &&     dnf upgrade -y &&     dnf clean all": error while running runtime: exit status 1

This to me looks like there's a dns error in there. But prior to this fedora container I build a debian container (very similar, just a different base) which I can update and install packages from the remote repositories just fine. If I run, on that machine, the fedora image with podman run --rm -it registry.fedoraproject.org/fedora /bin/bash I can see that resolv.conf is correct:
pre:
search mydomain.
nameserver 10.0.2.3
nameserver 192.168.1.253
nameserver 192.168.1.251
Where the 192.168 nameservers are the nameservers on the network. And running dnf update in there works just fine as well.

Any ideas what could possibly be wrong here?

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Volguus posted:

I have a question about building containers.
You may have an issue where your running kernel/glibc doesn't support the seccomp features required by the Fedora container. Is this Bugzilla thread helpful?
https://bugzilla.redhat.com/show_bug.cgi?id=1990469

Volguus
Mar 3, 2009

Vulture Culture posted:

You may have an issue where your running kernel/glibc doesn't support the seccomp features required by the Fedora container. Is this Bugzilla thread helpful?
https://bugzilla.redhat.com/show_bug.cgi?id=1990469

Thank you. Maybe it would have. I saw this too late:

quote:

The work around was to use: --security-opt seccomp=unconfined

I got pissed at debian with their ancient and buggy as hell packages and installed Fedora as the linux build VM and in there it works (since it does work on my machine). Plus I get newer versions of podman and buildah. There was a time (2 decades ago or so) when debian sid was a benchmark of stability for other distros. Nowadays the stable release is just a mishmash of buggy packages that don't work together if their life depends on it. I chose it initially since gitlab-runner is supported on Debian/Ubuntu but it isn't on Fedora latest. The industry is moving slowly, I suppose, it'll take probably 20 years of debian fuckups for people to just abandon them.

Necronomicon
Jan 18, 2004

Got a question for those of you who are working w/ Terraform: how much of writing your own modules from scratch is acceptable and when does it turn into just reinventing the wheel? I inherited a pretty extensive Terraform repo at my current position and literally everything is done by hand. I see a lot of instances where we could just, say, import the official AWS ECS module, make a couple of tweaks, and have something running fairly quickly. In this instance, my boss decided he wanted to "understand every component" before bringing up any infrastructure and as a result it's taken me way longer to feel like I have a handle on things. We have a directory of modules (that reference each other) that are then referenced in a directory of "environment templates" that are then referenced in an entirely separate git repo (one for each of our two products) where we actually implement the code. Also, there are no comments anywhere, and the README.md files are pretty sparse.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Necronomicon posted:

Got a question for those of you who are working w/ Terraform: how much of writing your own modules from scratch is acceptable and when does it turn into just reinventing the wheel? I inherited a pretty extensive Terraform repo at my current position and literally everything is done by hand. I see a lot of instances where we could just, say, import the official AWS ECS module, make a couple of tweaks, and have something running fairly quickly. In this instance, my boss decided he wanted to "understand every component" before bringing up any infrastructure and as a result it's taken me way longer to feel like I have a handle on things. We have a directory of modules (that reference each other) that are then referenced in a directory of "environment templates" that are then referenced in an entirely separate git repo (one for each of our two products) where we actually implement the code. Also, there are no comments anywhere, and the README.md files are pretty sparse.
Most of the behaviors of modules for common services are just syntactic sugar, and they don't necessarily do anything useful, so I don't think I would sweat this. On the other hand, writing your own modules to wrap those services is also useless for the same reason. Terraform modules should have opinions that are substantially different from the underlying resources. They should either represent some new abstraction, or give you things "for free" alongside the resource that otherwise would be time-consuming or cumbersome to set up and integrate.

On the other hand, having coworkers who steadfastly refuse to read code other people have written seems like a big sparkly red flag.

The Iron Rose
May 12, 2012

:minnie: Cat Army :minnie:

Necronomicon posted:

Got a question for those of you who are working w/ Terraform: how much of writing your own modules from scratch is acceptable and when does it turn into just reinventing the wheel? I inherited a pretty extensive Terraform repo at my current position and literally everything is done by hand. I see a lot of instances where we could just, say, import the official AWS ECS module, make a couple of tweaks, and have something running fairly quickly. In this instance, my boss decided he wanted to "understand every component" before bringing up any infrastructure and as a result it's taken me way longer to feel like I have a handle on things. We have a directory of modules (that reference each other) that are then referenced in a directory of "environment templates" that are then referenced in an entirely separate git repo (one for each of our two products) where we actually implement the code. Also, there are no comments anywhere, and the README.md files are pretty sparse.

Terraform-docs is your friend for generating documentation for custom modules.

Custom modules are useful, sometimes, when you’re not just wrapping one or two resources and you’ve got something very organization specific and opinionated. But it’s so easy to shoot yourself in the foot with them I almost always default to using the raw public resource, and you have very few means of enforcing their use so they’re useless for setting standards.

We use modules for creating VPCs (we have a moderately cursed setup to enable transitive peering in GCP), kubernetes clusters, new GCP projects, and DNS records. We also have one for generating a template of instances for splunk since that’s a stack that gets created and torn down semi-frequently. That’s about it and my life is a lot happier without a ton of single resource modules lying around, most of which I’ve had to purge over time.

When in doubt, don’t create a module. Public modules are better than rolling your own if you can get away with it, but it’s still another layer of abstraction you probably don’t need.

The Fool
Oct 16, 2003


In general, I prefer to write my own modules. I don't like publicly available modules because they're excessively generic and over complicated. A module should be built for your environment to collect related resources into reusable blocks, and should require as little input as possible.


Necronomicon posted:

We have a directory of modules (that reference each other) that are then referenced in a directory of "environment templates" that are then referenced in an entirely separate git repo (one for each of our two products) where we actually implement the code. Also, there are no comments anywhere, and the README.md files are pretty sparse.

You should try to only have one layer of abstraction, like (application repo)=>(module registry)

And modules should not reference other modules

The Iron Rose
May 12, 2012

:minnie: Cat Army :minnie:

The Fool posted:

In general, I prefer to write my own modules. I don't like publicly available modules because they're excessively generic and over complicated. A module should be built for your environment to collect related resources into reusable blocks, and should require as little input as possible.

You should try to only have one layer of abstraction, like (application repo)=>(module registry)

And modules should not reference other modules

I’m gonna module my module into a third module and put a provider in it to wrap a single resource and you can’t stop me!!

what do you mean all my developers hate me and do shadow IT.

The Fool
Oct 16, 2003


The Iron Rose posted:

When in doubt, don’t create a module.

Agreed.

quote:

Public modules are better than rolling your own if you can get away with it

But dont bother with public modules.

quote:

but it’s still another layer of abstraction you probably don’t need.

Agreed.

If you're using a module it should be adding value specific to your environment. If it is not doing that, just use the resource.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

The Fool posted:

And modules should not reference other modules
There's no reason to still do this if you're on Terraform 1.3+, where they removed the limitation on cross-package moves in moved blocks. Do be careful with how your transitive provider dependencies play together, though.

Docjowles
Apr 9, 2009

Vulture Culture posted:

Most of the behaviors of modules for common services are just syntactic sugar, and they don't necessarily do anything useful, so I don't think I would sweat this. On the other hand, writing your own modules to wrap those services is also useless for the same reason. Terraform modules should have opinions that are substantially different from the underlying resources. They should either represent some new abstraction, or give you things "for free" alongside the resource that otherwise would be time-consuming or cumbersome to set up and integrate.

We started out having a focused, opinionated set of modules for deploying a microservice to ECS. My boss REALLY wanted this solution to succeed and become widely adopted, so he told us to be extremely accommodating to any requests and feedback. Over time people kept asking for little features until it became simply a worse reimplementation of all the community modules for ECS, Aurora, Redis etc. Every request seemed reasonable in isolation but it was death by 1000 cuts. It's totally miserable to work on now. This is not really a Terraform-specific learning. But if we were starting over, I would take a harder line "this is what we provide and why, if you don't like it, use something else" stance. The solution no longer provides much value over things that already freely exist and have 20x the number of active maintainers.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Docjowles posted:

We started out having a focused, opinionated set of modules for deploying a microservice to ECS. My boss REALLY wanted this solution to succeed and become widely adopted, so he told us to be extremely accommodating to any requests and feedback. Over time people kept asking for little features until it became simply a worse reimplementation of all the community modules for ECS, Aurora, Redis etc. Every request seemed reasonable in isolation but it was death by 1000 cuts. It's totally miserable to work on now. This is not really a Terraform-specific learning. But if we were starting over, I would take a harder line "this is what we provide and why, if you don't like it, use something else" stance. The solution no longer provides much value over things that already freely exist and have 20x the number of active maintainers.
I hear this one a lot. It doesn't help that Terraform made refactoring really hard until a few months ago. It also doesn't help that internal teams managing Terraform module code usually have pretty primitive build, test, and release processes that make it hard to retire features once the ball starts rolling

ECS is a funny case, because it's got nearly as many tunables as an EC2 instance or launch template, but where in EC2 you might get some value out of adding other AWS service integrations like "set this value to true to automatically get a load balancer", this is something that ECS already gives you out of the box

On the other hand, all the actual hard problems of ECS relate to AOP and separation of concerns, and Terraform is hilariously ill-equipped to deal with any of that

Vulture Culture fucked around with this message at 17:14 on Jun 5, 2023

12 rats tied together
Sep 7, 2006

you basically do not need modules at all now that for expressions exist and can evaluate to null, would be the main new thing i would communicate, in addition to the previous 7 years of me losing my mind in this thread about how bad they are and the other advice posted above

to go a little further: even having an ECS module (community or self authored) is an anti pattern compared to "for each"ing a map variable once each for service and task definition

12 rats tied together fucked around with this message at 17:29 on Jun 5, 2023

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
There are other UX reasons why you might want engineers spinning up infrastructures to think about something in a certain way, but it's often better to use a policy engine like OPA or Sentinel to accomplish that

One of the best reasons to use a module is to abstract implementation details or environment differences away from engineers, which is a great reason to maintain data modules that don't manage anything

Hadlock
Nov 9, 2004

Yeah if you're spinning up an environment for less than 1 week, terraform is not the correct way to do that. Especially if you're doing it more than 10 times a week. Maybe look at Pulumi which leverages Terraform technology

The Fool
Oct 16, 2003


Hadlock posted:

Yeah if you're spinning up an environment for less than 1 week, terraform is not the correct way to do that. Especially if you're doing it more than 10 times a week. Maybe look at Pulumi which leverages Terraform technology

this makes no sense whatsoever

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Hadlock posted:

Yeah if you're spinning up an environment for less than 1 week, terraform is not the correct way to do that. Especially if you're doing it more than 10 times a week. Maybe look at Pulumi which leverages Terraform technology
This is a new take to me. Would you mind going into some of the problems you've seen with Terraform for short-lived or ephemeral infrastructures? We have ephemeral Terraform-managed infra all over the place, including in the integration tests for our modules themselves.

The Fool
Oct 16, 2003


Vulture Culture posted:

We have ephemeral Terraform-managed infra all over the place, including in the integration tests for our modules themselves.

not only do we have ephemeral module tests and load testing environments we have a full on in house "application" for devs to check out ephemeral environments for poc's, training, and other dev work

12 rats tied together
Sep 7, 2006

I don't entirely disagree. Terraform is heavy, to materialize a bunch of config into actual infrastructure you need to either duplicate it (cp -r), reference it (symlink), or you need a wrapper (module, global for_each, something that injects per-resource logical names). Terraform the binary is always hardcoded to look at CWD, so you end up massaging CWD in some way regardless of approach.

Duplicating a big bundle of resources in Pulumi OTOH can be as simple as instantiating a new instance of MyApp and calling a method on it. Pulumi IIRC has an outer primitive that is somewhat analogous to a TFC/TFE "account" and can be used to orchestrate multiple workspaces from a single CWD.

It's still probably not the pitch I would make. But it's not exactly wrong either, IMO.

Hadlock
Nov 9, 2004

Vulture Culture posted:

This is a new take to me. Would you mind going into some of the problems you've seen with Terraform for short-lived or ephemeral infrastructures? We have ephemeral Terraform-managed infra all over the place, including in the integration tests for our modules themselves.

Where I was at our terraform was really brittle and a couple of the (aws) resources were flaky, leaving the state file locked and requiring someone to go in and unfuck it at least a couple times a week

And, in a worst case scenario (not counting this towards the above argument), this happened before I started there, the ephemeral environments were tied to the production terraform so deployment problems with ephemeral environments, it would block production releases :lol: also we had a 1300+ line python script that called bash "libraries" for a home built templating system which had all sorts of weird edge case failures

crazypenguin
Mar 9, 2005
nothing witty here, move along

Docjowles posted:

We started out having a focused, opinionated set of modules for deploying a microservice to ECS. My boss REALLY wanted this solution to succeed and become widely adopted, so he told us to be extremely accommodating to any requests and feedback. Over time people kept asking for little features until it became simply a worse reimplementation of all the community modules for ECS, Aurora, Redis etc. Every request seemed reasonable in isolation but it was death by 1000 cuts. It's totally miserable to work on now. This is not really a Terraform-specific learning. But if we were starting over, I would take a harder line "this is what we provide and why, if you don't like it, use something else" stance. The solution no longer provides much value over things that already freely exist and have 20x the number of active maintainers.

There's a similar problem in CDK with "pattern libraries". They seem like a good idea but you either end up with:

1. A Do-Everything class that's a confusing mess of garbage options and spaghetti code, like you have.
2. A class that cannot be changed one bit ever, because everyone uses it but then "reaches behind the curtails" to mutate some detail, and so literally any change ever is a breaking change to SOMEONE.

The approach I settled on was to write a set of re-usable and useful components, not as a library, but as the auto-generated starting template for our "new project" cli. It somewhat hides the fact that we're achieving re-use through copy-and-paste from the people who would knee-jerk against that without realizing the alternatives are Worse.

e: (ok, that's a slight exaggeration, there is a library with a few things that we accept is type 2 above, and maintain it with major version bumps on almost any change, so we can leave people mostly alone happily using older major versions... but there's still a lot of code that's frequently customized that we just leave in the template.)

crazypenguin fucked around with this message at 20:17 on Jun 5, 2023

12 rats tied together
Sep 7, 2006

imo that is largely a software quality problem that occurs mostly when your factoring of problem to solution is done poorly. it's common across all types of code e.g. the "god object" design flaw, composition vs inheritance, cohesion vs coupling, etc

IMO libraries in this domain should encapsulate types and behavior. using the standard vpc example: find my cidr allocation. give me an office peering config. join me to the private WAN.

Pulumi handles this relatively gracefully because the objects are immutable but every object has a ThingParams type that is mutable, so you can write shared code that returns "here's what you should plug into your VPC", and then the callers can layer their exceptions on top of it. the calller owns all of their own exceptions, which mean they're free to resolve them locally and own the effects of that resolution, and it keeps your shared code focused on bridging the gap between where the knowledge is and the infracode, and gracefully handling any translation that needs to happen

this does a pretty good job of preventing scope bleed between the "figure out what to do" stage and the "actually do it" stage. it's also way easier to write tests and assertions for a library module that emits a correct VPC config than it is for one that "creates the correct VPC".

i don't remember how the cdk does this exactly but i remember running into it with the CDKTF and not being impressed

crazypenguin
Mar 9, 2005
nothing witty here, move along

12 rats tied together posted:

imo that is largely a software quality problem that occurs mostly when your factoring of problem to solution is done poorly. it's common across all types of code e.g. the "god object" design flaw, composition vs inheritance, cohesion vs coupling, etc

Sure, but I've definitely noticed this as a problem much more with IaC designs than other software.

I vaguely suspect it might have something to do with the underlying designs for how the cloud resources are themselves designed: things just aren't quite composable enough somehow. ("this thing is a resource you create, but this other thing requires modifying your instance of this other resource you create, and which is which is partly an accident of history.")

Junkiebev
Jan 18, 2002


Feel the progress.

Azure Portal is straight-up down r/n lol

The Fool
Oct 16, 2003


Junkiebev posted:

Azure Portal is straight-up down r/n lol

I'm just going to take the rest of the day off

i am a moron
Nov 12, 2020

"I think if there’s one thing we can all agree on it’s that Penn State and Michigan both suck and are garbage and it’s hilarious Michigan fans are freaking out thinking this is their natty window when they can’t even beat a B12 team in the playoffs lmao"
Only scrubs use the GUI

I too am pausing all work

The Fool
Oct 16, 2003


i am a moron posted:

Only scrubs use the GUI

I too am pausing all work

I'm working on a module and I "need" the portal to "validate deployed configurations"

i am a moron
Nov 12, 2020

"I think if there’s one thing we can all agree on it’s that Penn State and Michigan both suck and are garbage and it’s hilarious Michigan fans are freaking out thinking this is their natty window when they can’t even beat a B12 team in the playoffs lmao"
Just grab the JSON with CLI and make those eyes bleed

Junkiebev
Jan 18, 2002


Feel the progress.

i am a moron posted:

Only scrubs use the GUI

I too am pausing all work

API calls are failing as well.

i am a moron
Nov 12, 2020

"I think if there’s one thing we can all agree on it’s that Penn State and Michigan both suck and are garbage and it’s hilarious Michigan fans are freaking out thinking this is their natty window when they can’t even beat a B12 team in the playoffs lmao"
Well that is a way bigger problem than what they’re making it out to be so far. Portal is working for me again though

Mustache Ride
Sep 11, 2001



Bleeping is saying DDOS: https://www.bleepingcomputer.com/news/microsoft/microsofts-azure-portal-down-following-new-claims-of-ddos-attacks/

Warbird
May 23, 2012

America's Favorite Dumbass

A bit ago we were talking ansible front ends and AWX came up. Since then Ansible Semaphore was brought to my attention and seems pretty slick. https://ansible-semaphore.com/

I don’t know if I’d use it as a production tool, but it seems to fit the bill of “I just want to see if the drat job ran and did the thing” I want for my homelab.

12 rats tied together
Sep 7, 2006

semaphore is pretty good. in the same vein of ansible tooling, there is also ara, and something i'm particularly excited about is ansible-rulebook which is basically salt's salt reactor but for ansible

Hadlock
Nov 9, 2004

Apparently Google really did sell Google domains to square space

Does anyone have opinions on this, and suggestions on where I ought to move them to?

I have about a 90/10 split of domains on Google/route 53 currently

Mustache Ride
Sep 11, 2001



Namecheap? Been using them for years and have no issues.

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug
Dunno how they are for companies, but I've been using Porkbun and reasonably happy with them. They have an API (I haven't used it) so it seems like there's at least the possibility of running it at some level of scale.

Docjowles
Apr 9, 2009

Looking into why it takes ages to run automation against one of our infosec team's AWS accounts and they have a bunch of 500MB binaries checked into the git repo. Why is it always infosec

Adbot
ADBOT LOVES YOU

Quebec Bagnet
Apr 28, 2009

mess with the honk
you get the bonk
Lipstick Apathy

Docjowles posted:

Looking into why it takes ages to run automation against one of our infosec team's AWS accounts and they have a bunch of 500MB binaries checked into the git repo. Why is it always infosec

Slows down attackers to give you time to prepare a defense, much like irregular stairs in a medieval castle :mil101:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply