u/Vickersa1

112 post karma · 48 comment karma · joined Jan 2018

Vickersa1

That's a great solution. I'm guessing it works well because GMs are responsible for their own costs and are somehow incentivized to reduce costs. In my case, I don't have the option to re-allocate costs. the incentive to reduce costs comes back to me alone.

Vickersa1

It would be if our clients did not insist on an on-prem commercial DB vendor, so we have to build/test for that platform.

Vickersa1

A lot of people have suggested this approach and it makes sense for fixed schedules. How do you accommodate out-of-hours requests for machines?

Vickersa1

How do you accommodate requests to use those machines outside the schedule?

Vickersa1

Yes, this seems to be a common approach, but it depends upon a fixed schedule. How to you accommodate devs/QA who want to work late on occasion?

Vickersa1

Unfortunately, not an option when customers insist on a an on-prem commercial DB vendor.

Vickersa1

Good advice. For me it turned out to be thousands per month. Worth some initial investment to save tens of thousands/year.

Vickersa1

Makes sense for small-scale, but larger instance types quickly add up to significant money.

Vickersa1

What mechanism do you use for the devs to control their working hours?

Vickersa1

This seems to be a common approach. How do you handle requests for out-of-hours systems, or systems that don't conform to a fixed schedule?

Vickersa1

Unfortunately, I don't have that option. I have to run full Linux instances, as our products are enterprise installations and need to be tested on that platform, and in most cases, each instance of the app requires its own EC2 instance.

Vickersa1

I try to keep root partitions clean/small, and put everything else on EFS, where it can be shared across machines, and groomed regularly.

Vickersa1

One problem I have is that many machines are not needed on a schedule. A dev might need a machine just for a couple of hours, or QA want to run an ad-hoc test.

Vickersa1

Good point.

Vickersa1

Scaling helps manage costs of running instances, but doesn't eliminate idle time.

Vickersa1

Instance scheduler is OK if your schedule is fixed, but doesn't help devs who need access out of hours, or only need access for short periods instead of the whole day. Machines an still be idle.

Vickersa1

What triggers the action? e.g. Merge triggers "Turn on", run build/deploy, then "Turn off"?

Vickersa1

Some of my machines have to be on 24/7, others are only needed during the working day. I think I am wasting $2-3k/m on idle instances.

Vickersa1

Did you log the ticket with AWS?

Vickersa1

That helps me size the machines for when they are being used, but doesn’t help me turn them off when they are not being used.

Vickersa1

$20/hr is more than $3k/wk, > $170k/yr. If I could save even 25% of that, it still a significant number.

Vickersa1

what tool do you use to shut them down?

Vickersa1

That was my thought. Budget control is one of my objectives.

Vickersa1

I find that people just want the machine on for convenience, and rarEly, if ever, consider the cost.

Vickersa1

Larger instance types cost more. people always seem to want more resources, but rarely consider the cost. My AWS bill keeps growing.