1 |
On Sat, May 1, 2021 at 8:14 AM Andreas K. Huettel <dilfridge@g.o> wrote: |
2 |
> |
3 |
> > Please respond to this message with any items you would like us to |
4 |
> > discuss or vote on. The agenda will be sent to this list a week from |
5 |
> > now (2021-05-02). |
6 |
> |
7 |
> There's rumors going around that Agostino's tinderbox basically |
8 |
> already burned through our entire 2021 AWS Open Source credit budget |
9 |
> and has overdrawn it significantly. |
10 |
|
11 |
Practically speaking I manage the AWS budget. If you are unhappy with |
12 |
how it's allocated; feel free to follow up with me. Developers who use |
13 |
AWS don't get a ton of say in the spending; I decide how much money we |
14 |
have, how many machines to buy, how big they are, etc. Developers |
15 |
can't even see their own cost usage. |
16 |
|
17 |
> |
18 |
> Independent of whether this rumor is true or not, I would like to |
19 |
> discuss |
20 |
> * how we can avoid such a situation in the future, |
21 |
> * and how we can fairly handle the distribution of limited infra |
22 |
> resources that may end up costing us money |
23 |
|
24 |
Ack, so I'll respond with the same things I said on IRC (hopefully, haha.) |
25 |
|
26 |
The AWS program runs November 2020 - November 2021. We were provided |
27 |
25,000$ in credits; these are promotional credits so we cannot do |
28 |
things like use Cost Savings Plans or Reserved Instances (two ways to |
29 |
reduce cost on AWS.) |
30 |
|
31 |
This is our second year in the program. In the first year we spent |
32 |
very little of the budget (I think under 5000$) and I viewed this as |
33 |
something of a failure; we should be in a position to use more of the |
34 |
budget. When the program was renewed in November I wanted to spend |
35 |
more of the budget. |
36 |
|
37 |
When the plan restarted I gave folks more VMs that were bigger; with |
38 |
the idea that we would both track utilization (are the VMs being used) |
39 |
and cost (are we on track to spend well.) |
40 |
Current program state is as follows: |
41 |
- We fund 4 VMs. |
42 |
- We have spent 14,200 of 25,000 credits. |
43 |
- We are 5/7ths through the 12 month program (it ends Nov 31 2021) |
44 |
- We have 10,800 credits left, for 7 months. |
45 |
|
46 |
The plan then: |
47 |
- At our current spend, we will run out of credits. |
48 |
- 7 / 10,800 ~= 1500$ / mo average spend we need to hit. |
49 |
- Our current spend is ~$4000 / mo. |
50 |
- We have to cut our spending significantly. |
51 |
|
52 |
The risk: |
53 |
- We could run out of credits and incur costs. Assuming we did |
54 |
nothing, we spend approximately 4000$ a month. We have 7 months left; |
55 |
so that is 28000$ - 10800 (our remaining credits) leaves us with a |
56 |
bill of about 18000$. |
57 |
- We could end up not getting the program renewed at the end of the |
58 |
cycle, and never get additional credits. |
59 |
|
60 |
Both of these would likely result in us needing to relocate services |
61 |
to other providers. It's a known risk (and we have other onPrem |
62 |
providers that we have similar risks for.) I suspect practically we |
63 |
would rent hardware from OVH or Hetzner and migrate services to those. |
64 |
Unlike AWS, those providers cost money; which is one reason why we |
65 |
would prefer to spend the AWS credits instead. |
66 |
|
67 |
For specific projects using the credits we could likely self-fund a |
68 |
physical machine. These machines are not free (folks were estimating |
69 |
something like 60 euro a month to lease one.) My map here is "I'd |
70 |
rather spend AWS credits than pay 60 euro a month." If the credits run |
71 |
out or we don't get renewed in the program for 2022 we can talk about |
72 |
other options. Maybe we should lease a machine for stage building (as |
73 |
an example.) |
74 |
|
75 |
My process for resource allocation: |
76 |
- We currently have more resources than needs. While this is not true |
77 |
of AWS credits specifically; it is true of money in general. |
78 |
- This leads us to a low barrier for resource allocation. There is |
79 |
not scarcity, so the process to get resources is not intended to be |
80 |
much of a barrier. |
81 |
- Once there is scarcity, we will have different conversations. |
82 |
|
83 |
One risk I have heard is "why don't you reserve some of the credits |
84 |
for if something cool comes up?" or "how would we fund some cool new |
85 |
idea?" and the answer is "with actual money." The Foundation has |
86 |
enough money[0] to weather most of the bad outcomes (e.g. we could |
87 |
fund AWS for a month while we migrate away, we could buy hardware, we |
88 |
could rent hardware, etc. etc.) |
89 |
|
90 |
I consider the AWS credits as part of our cash-like reserves. We are |
91 |
spending them first because they expire and because they are not |
92 |
actually cash. We still have more cash than expenses; so in general I |
93 |
don't see a ton of pressure on Foundation expenses (and thus there is |
94 |
not intended to be a complex process for spending money[1].) |
95 |
|
96 |
I hope this helps; please follow up with me if you have additional |
97 |
questions or concerns. |
98 |
|
99 |
-A |
100 |
|
101 |
[0] We paid our taxes for the past few years and we have already filed |
102 |
our 2020 taxes; so there are no known large outstanding obligations. |
103 |
You can see our 2020 numbers here: |
104 |
https://wiki.gentoo.org/wiki/Foundation:Gentoo_Foundation_Finances_FY2020 |
105 |
[1] There is an argument about spending Foundation resources 'well' |
106 |
(for some definition of that word) and while I empathize with it quite |
107 |
a bit, currently I don't think Foundation supports development very |
108 |
much at all; so my thought process is "try to support more development |
109 |
in general" and if we are not supporting development "well" (e.g. we |
110 |
think there is waste, etc) we can iterate on that. Get it working |
111 |
first, optimize second; if you will. |
112 |
|
113 |
> |
114 |
> Cheers, |
115 |
> Andreas |
116 |
> |
117 |
> -- |
118 |
> Andreas K. Hüttel |
119 |
> dilfridge@g.o |
120 |
> Gentoo Linux developer |
121 |
> (council, toolchain, base-system, perl, libreoffice) |