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
Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Virigoth posted:

Has anyone here used Spinnaker and has thoughts on it? Our system is a Jenkins master right now that supports 3 lower environments for dev, QA, and our staging environment and then 4 production regions in AWS. We manage around 2,000 servers for micro-services but are growing that number daily it seems. Our Jenkins master does about 16,000 jobs a day and uses a in-house jslave script to make sure we have enough executors in each environment. With the permissions needed to deploy this is a scary scenario. What I'm considering doing a proof of concept on is hiding Jenkins behind Spinnaker and using it just like the demo video sets up with Spinnaker being our front end and a lot of user access removed.

Make sure you post how it goes. We're evaluating Spinnaker but we're still not entirely sure where to drop it into our pipeline and how to use it to replace all the stuff we use in Asgard.

Adbot
ADBOT LOVES YOU

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

This is the right way to do it. In the same way you consider a compiled binary an artifact of a given release, you should think of a baked AMI as another artifact of the same release.

If you feel like you're wasting cycles using 1 instance per service you should either rethink your architecture, use smaller instance types, or decrease the size of your fleet as a whole.

Alternatively, you can bundle multiple services into one baked AMI although it kind of breaks the paradigm and can be a concern if you're trying to run stateless apps.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Your other option is using Azure for hosted services and not worrying about instances at all.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Dreadrush posted:

Hi I'm very new to the whole Docker thing and am trying to learn more about it.

I want to be able to deploy an nginx server that will host static files for my website. The static files are compiled by running webpack.

Currently, I have two containers:
web: uses FROM node:latest to take my source files, and builds the dist static files
nginx: uses FROM nginx to run nginx

I have a docker-compose file setup to run the two dockerfiles.

How can "copy" the files generated in the web container to the nginx container? The web container doesn't even have any server running - it has only created static files.
Should I only have one container (nginx) and be generating the static files all inside that?

I tried hosting an express server in the web container, and using a volume to share the generated files, which worked fine, however then on multiple deployments it seemed I had to do extra work to be deleting all the volumes first - it felt like I was doing this wrong. Also in the end all I need is the nginx server with static files - no node server running at any time.

Don't deploy nginx for static files unless you can really help it. You'll find it requires more work to maintain than you want and you'll have to do some work to scale it for traffic even if it is as simple as putting containers behind Mezos or Kubernetes.

Instead, use something like S3 or CloudFront (or w/e your cloud provider has) for static stuff and set CORS accordingly.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

EssOEss posted:

Other than that, I have not encountered any issues. To those saying don't do it - why?

A better question is why bother? Containers are designed to be ephemeral and short lived. That's why their deployment mechanisms emphasize scale up/scale down behavior and time-to-new-deployment speed.

Deploying a db in a container in production just feels unnecessary at best and a data loss risk st worst.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Mr. Crow posted:

There are more reasons to use containers than them being ephemeral and there is nothing anywhere implying they need to be short lived.

Genuinely curious, can we have a valid argument not to beyond "databases need to be persistent and containers are not!"? I just hear a lack of understanding of docker (volumes).

Do tell? I've only seen docker used in the context or easy deploys and hot swapping because of how fast they spin up and their isolation by design.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

necrobobsledder posted:

bandwidth contracts (yes, they do have them to help lower egress costs substantially, mostly of use when you get to petabytes / mo in transfers).

How does this work?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Anyone dug into Spinnaker's guts? It's a horror show of "I want this for my cloud" with the vaguest sense of cohesion.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Keep in mind that there are some major issues with scaling CloudFormation past a certain point. If you're already getting started with Terraform you may as well just do things the Terraform way and avoid those problems altogether.

Also, don't do scaling groups with Terraform. Consider it this way, Terraform is how you set up your immutable-ish infrastructure; it's where your IAM roles, security groups, load balancers, S3 buckets, and the like go.

Use something like Spinnaker to manage clustered services and their configuration instead.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

necrobobsledder posted:

Postgres as service discovery, wtf. I'm about to use this https://github.com/adrianlzt/hiera-postgres-backend :smithicide:

:wtf: my brother have you heard of zookeeper, etcd, or consul?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
goondolances

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

necrobobsledder posted:

Well yeah, Puppet and Chef are mostly useful for very stateful systems that shouldn't have nodes go up and down frequently and they're real awkward for elastic systems. I had enough problems with this with Chef node registration and de-registration.

Fwiw we bake images and provision them using chef and then run chef-solo on every instance in the fleet to complete provisioning and do dynamic user management.

We've been looking at converting part of our fleet to use chef server because we don't have a great way to provision parts of our fleet in different ways but I'm sure they'll bring a whole bunch of other issues.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
We've been using Archaius and a distributed sidecar service we wrote for configuration management and it works extremely well. We have an ohai plugin that we wrote with the intent of using it to tune different settings on running nodes but we've never actually used it in production.

I'm hesitant to post the repo even though it's open source, though, for fear of doxxing myself.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I'm glad SRE is a known thing because even though that's not my actual official title I can still point to it and say that's what I do rather than hand wave "devops-y engineering work"

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Pollyanna posted:

Ive always seen SRE stuff described as "be on Pagerduty and get frantic calls when alarms go off" while "doing devops" is Docker, CICD, and AWS. :shrug:

I've dealt with Docker before in a very limited capacity so I listed it in my resume, but apparently it's a whole field of study now. And drat near everything wants AWS experience now.

SRE work is a superset of software engineering that deals not only with CI/CD but also platform stability. It can definitely have PagerDuty work but a lot of it is looking at existing architecture and performance and helping development teams identify bottlenecks and issue areas and helping them reengineer with an eye for operational improvement.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

OWLS! posted:

Anybody going to Boston DevOps Days?

I'm on my way there right now if only the T would run a little faster.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Docjowles posted:

as a Boston resident, I have bad news for you~

I went last year but had a conflict this week unfortunately and can't make it. Hope there's some good sessions! I always enjoy DevOps Days events, been to Denver and Boston so far.

No trust me I'm intimately familiar with how bad the T is. I just usually avoid the orange line but welp

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Yeah, don't use Datadog for tracing (although I think they have an APM feature now) or event correlation unless it's very broad. That's what an ELK stack or Splunk is for.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Pollyanna posted:

Pay at startups is directly proportional to what they can raise from investors, VCs, and stakeholders, so buzzword bingo and hype plays a massive role. I don’t know much about pay at established companies and large corporations, but it tends to be much more tempered in reality.

this is the exact opposite of reality unless you include equity which may not be worth anything as pay at startups

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Mr. Crow posted:

Ok so you are being argumentative over a one-off anecdote of apparently dubious quality and then arriving at the same conclusion. :waycool:



I'm genuinely surprised so many of y'all dislike ansible and call it lacking, when was the last time you used it? Everyone else I've talked on and offline has loved it, myself included. I feel it has chef and puppet beat in almost all cases; usability, readability, getting new people or servers up and running etc.

What specifically is it lacking?

A way to use it without ssh access to the node?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
You're hosed unless you have a massively forward-thinking ops team who will manage your cluster(s).

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Punkbob posted:

deploying on kops on AWS in a week if you know what you are doing

Kops has a lot of weird edge cases that are show-stoppers when they crop up like slotting into pre-existing infrastructure-as-code or using pre-existing bastion hosts. Also it's not CI friendly in any way.

It made me sad 'cause the dev team is super nice and helpful, they just built it to fit their use case and then had to do a bunch of work to make it more generalized.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I'm genuinely curious what sort of scale folks are running k8s at. Especially those who have been talking about migrating to it or quickly spinning up a new cluster.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I was specifically referring to people posting in this thread but talks about automating k8s and running it at scale are definitely appreciated.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I guess the thing I'm not looking forward to is working with our platform engineering team to build out a k8s provisioner that actually suits our needs rather than using kops which gets us 80% of the way but leads down a dead end.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Punkbob posted:

Fwiw I think you can run stateless stuff in k8s.

Also if kops has shortcomings in your deploy I’d be really care about that last 20%. You might be fighting hard against the rest of the k8s universe for little gain.

Shortcomings, aka not being able to whitelist security groups rather than cidrs.

Kops isn't great, it's just an easy on-ramp. We run a pretty decent production load (anywhere between 1500-2000 instances at any time) and while all of our apps are stateless, moving to an opinionated cluster management system that doesn't lend itself well to CI use and doesn't slot in well with existing infrastructure seems...not good.

Deploying services to k8s is one thing but building out and managing clusters at scale is another thing completely.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Punkbob posted:

I don’t disagree. K8s touchpoints with existing infra is bad and a lot of my issues that I deal with are related to that. I headcannon it as the k8s devs just expecting to be the only piece of infra to be one way and that’s what they build things towards.

Yeah but that's fundamentally terrible unless you're selling a managed product. Existing infrastructure matters, especially if you're a company that's migrating from a different deployment method. We're likely not going to be able to do a full migration without writing our own k8s chef cookbook and deploying it in the same way we normally deploy clustered services. Sure it'll be nice to cut down on the number of different instance types and decrease the number of instances that run cold but it'll be a ton of work. Not sure how valuable it is at that point beyond speeding up deployments and marginally improving resiliency.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

fletcher posted:

I was thinking maybe I need to create my users with known uid/gid before installing the RPMs, so that the RPM install doesn't create a user with whatever the hell ids it wants.

As a general rule you want to make sure that whatever provisioning software you're running via Packer is idempotent. If the uids and gids are changing then you need to make sure that you always add service users ahead of time so that their identifiers are consistent.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Methanar posted:

Does anyone know of a proper guide for setting up triggers such that Jenkins will kick off jobs in response to

1) Github PRs being merged
2) Certain text being in a comment made on a PR
3) Github PRs being merged but only with certain text in a comment

Jenkins' documentation is unbelievably bad

This might help with interacting with jobs via GitHub: https://github.com/jenkinsci/ghprb-plugin

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Hadlock posted:

Are you guys using 2FA on any of your internal services behind the firewall? We are rolling out LDAP to our internal services, but have the option to integrate U2F in a couple of them.

Every one of our instances has Duo requiring 2fa for ssh access. Definitely do it.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Docjowles posted:

Current re:Invent status: Waiting in an hour long line to even register for the conference. Going to miss my first session. No food or coffee because everyplace that serves those also has an hour long line.

My coworker went to a different venue, was registered and had coffee in like 10 minutes. Currently researching the legality of murder in Nevada.

Lol I waited for 3 minutes at the airport to get my badge.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
The best part about reinvent is ending up drinking on someone else's dollar in a private lounge. The conference itself is secondary.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
They fill two different purposes. Spinnaker is a deployment tool and Jenkins is a build tool. They can definitely be configured to work together and Jenkins can do some deployment stuff but you're better off looking at them separately.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

minato posted:

The "immutable hosts" train of thought suggests that you configure it once on first boot with a tool like Ignition, and then you never touch it after that. If it's something like ContainerLinux then it'll auto-update itself with kernel upgrades. Any significant config change means nuking the cattle node and spinning up a new one. Which is totally fine if you've got a system like Kubernetes behind it to manage the rescheduling of workloads across nodes; not so much if you don't.

And now you have 2 problems

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Methanar posted:

Hot take: deploying kubernetes (properly) and throwing everything else into the trash is easier than making an existing system better.

Hot take: deploying kubernetes (properly) and maintaining deployment systems on top of it takes more work (and reaps less rewards) than a mostly working existing system.

This side of the industry loves new toys but gently caress me if kubernetes adoption for its own sake is the loving dumbest thing I've ever seen.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Gyshall posted:

Hi, I'm posting from the future from year 2321. Terraform 0.12 is still not released.

Hi, I'm intensely demanding of an open source tool I don't pay for.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

StabbinHobo posted:

cloudformation being terrible and terraform being worse (yep) is a lot of the reason i'm going in hard on k8s.

it doesn't completely solve the problem, but it removes 80-90% of it from being that layer's concern. so you can worry less about how much your tool of choice for that layer sucks.

Removes it from a lintable static-ish template language and puts it in a yaml hellscape from which you can never escape.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

LochNessMonster posted:

I’m using git flow for our (small scale) infra repos and am wondering what kind of problems I’d he running into in the future and what alternatives there are. Care to elaborate on this?

What's the difference between the head of develop and master? Infra should only have a finalised state and unless you're doing infra smoke tests using develop it's just another place where things can drift and conflicts can arise.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Terraform has some template stuff and I've used it with cloud-init and launch configurations for basic config management type stuff but that's not really what it's designed to do and it'll be extremely frustrating if you ever need to scale out.

You'll have better luck using Chef for all of the configuration stuff or even a 3rd party service like AWS SSM, Consul, or Zookeeper.

Adbot
ADBOT LOVES YOU

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Votlook posted:

RabbitMQ or ActiveMQ, maybe Kafka if you are webscale.

Reliable was one of the requirements

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