-
-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathinstance.tt2
More file actions
343 lines (331 loc) · 13.1 KB
/
Copy pathinstance.tt2
File metadata and controls
343 lines (331 loc) · 13.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
[%- PROCESS header.tt2 -%]
<h1>Google Compute Engine Machine Type [% instance.name %]</h1>
<blockquote class="blockquote">
<p>
[% IF instance.family %][% instance.family %][% END %]
Google Compute Engine machine type [% instance.name %] with [% instance.vCpus%] vCPU and [% instance.memoryGB %] GB memory.
[% IF instance.localSsd > 1 %]Bundled with [% instance.localSsd FILTER format("%.0f") %] GB local SSD.[% END %]
[% IF instance.name.search('-lssd') %]Local SSD storage is required and automatically attached. Additional costs for Local SSD storage are charged.[% END %]
[%- IF instance.sap || instance.hana -%]
GCE machine type [% instance.name %] is certified for
[% IF instance.sap %]SAP applications[% END %]
[% IF instance.sap && instance.hana%]and[% END %]
[% IF instance.hana %]SAP HANA[% END %]
on Google Cloud Platform.
[%- END -%]
Available in [% regions.size %] Google Cloud region[% IF regions.size > 1 %]s[% END %].
[% notAllCpuPlatformsAvailable = 0; FOREACH region IN regions; IF region.availableCpuPlatformCount < instance.cpuPlatformCount; notAllCpuPlatformsAvailable = 1; END; END; %]
[% IF notAllCpuPlatformsAvailable %]<mark>Not all CPU platforms are available in all regions.</mark>[% END %]
</p>
</blockquote>
<p class="d-grid gap-2 d-lg-block">
<a class="btn btn-success" href="/grid.html?name=[% instance.name %]" role="button">✅ Instance Picker with filter on machine type [% instance.name %]</a>
<a class="btn btn-warning" href="/comparison/[% instance.name %]/vs.html" role="button">Compare machine type [% instance.name %]</a>
</p>
<div class="row">
<div class="col-xxl-6">
<h2>Google Cloud VM [% instance.name %]</h2>
<p>Technical facts about the Google Compute Engine machine type [% instance.name %].</p>
<div class="table-responsive">
<table class="table table-hover table-striped table-bordered">
<tr>
<th>Series</th>
<td>[% instance.series %]</td>
</tr>
<tr>
<th>Family</th>
<td>[% instance.family %]</td>
</tr>
<tr>
<th>vCPU</th>
<td>[% instance.vCpus %][% badgeSharedCpu(instance) %]</td>
</tr>
<tr>
<th>Memory</th>
<td>[% instance.memoryGB %] GB</td>
</tr>
<tr>
<th>CPU Manufactur</th>
<td>[% badgeCpuManufactur(instance) %]</td>
</tr>
<tr>
<th>CPU Platform</th>
<td>[% listCpuPlatform(instance) %]</td>
</tr>
<tr>
<th>CPU Base Frequency</th>
<td>[% IF instance.cpuBaseClock > 0 %][% instance.cpuBaseClock %] GHz[% ELSE %]<span class="text-muted">?</span>[% END %]</td>
</tr>
<tr>
<th>CPU Turbo Frequency</th>
<td>[% IF instance.cpuTurboClock > 0 %][% instance.cpuTurboClock %] GHz[% ELSE %]<span class="text-muted">?</span>[% END %]</td>
</tr>
<tr>
<th>CPU Max. Turbo Frequency</th>
<td>[% IF instance.cpuSingleMaxTurboClock > 0 %][% instance.cpuSingleMaxTurboClock %] GHz[% ELSE %]<span class="text-muted">?</span>[% END %]</td>
</tr>
[% IF instance.acceleratorCount %]
<tr>
<th>Accelerator (GPUs)</th>
<td>[% instance.acceleratorCount %]</td>
</tr>
<tr>
<th>Accelerator Type</th>
<td>[% instance.acceleratorType %]</td>
</tr>
[% END %]
<tr>
<th>EEMBC CoreMark Benchmark (<a href="https://www.eembc.org/coremark">?</a>)</th>
<td>[% IF instance.coremarkScore %][% instance.coremarkScore %][% ELSE %]<span class="text-muted">-</span>[% END %]</td>
</tr>
<tr>
<th>EEMBC CoreMark Standard Deviation</th>
<td>[% IF instance.standardDeviation %][% instance.standardDeviation %] %[% ELSE %]<span class="text-muted">-</span>[% END %]</td>
</tr>
<tr>
<th>EEMBC CoreMark Sample Count</th>
<td>[% IF instance.sampleCount %][% instance.sampleCount %][% ELSE %]<span class="text-muted">-</span>[% END %]</td>
</tr>
<tr>
<th>SAP Standard Benchmark (<a href="https://www.sap.com/about/benchmark.html">?</a>)</th>
<td>[% IF instance.saps %][% instance.saps %][% ELSE %]<span class="text-muted">-</span>[% END %]</td>
</tr>
<tr>
<th>Network Bandwidth</th>
<td>[% instance.bandwidth %] Gbps</td>
</tr>
<tr>
<th>Network Tier 1</th>
<td>[% IF instance.tier1 %][% instance.tier1 %] Gbps[% ELSE %]<span class="text-muted">-</span>[% END %]</td>
</tr>
<tr>
<th title="Disk usage is charged separately from machine type pricing!">Max. Disk Size</th>
<td>[% instance.diskSizeTiB %] TB</td>
</tr>
<tr>
<th title="Disk usage is charged separately from machine type pricing!">Max. Number of Disks</th>
<td>[% instance.disks %]</td>
</tr>
<tr>
<th>Local SSD</th>
<td>
[% booleanLocalSsd(instance) %]
[% bundledLocalSsd(instance) %]
</td>
</tr>
<tr>
<th>SAP Application</th>
<td>[% booleanSap(instance) %]</td>
</tr>
<tr>
<th>SAP HANA</th>
<td>[% booleanHana(instance) %]</td>
</tr>
<tr>
<th>Spot Provisioning Mode (Spot VM)</th>
<td>[% booleanSpot(instance) %]</td>
</tr>
<tr>
<th>Sustained Use Discount (SUD)</th>
<td>[% booleanSud(instance) %]</td>
</tr>
<tr>
<th title="Google Compute Engine API Description">GCE API Description</th>
<td>[% instance.description %]</td>
</tr>
</table>
</div><!-- table-responsive -->
</div> <!-- // col -->
<div class="col-xxl-6">
<h2>Costs (Pricing) for [% instance.name %]</h2>
<p>Cost and pricing across all regions for Google Cloud VM [% instance.name %].</p>
<h3>Price per Hour</h3>
<div class="table-responsive">
<table class="table table-hover table-striped table-bordered">
<thead>
<tr>
<th scope="col"></th>
<th scope="col" title="Lowest price across all regions">Min.</th>
<th scope="col" title="Average price across all regions">Avg.</th>
<th scope="col" title="Highest price across all regions">Max.</th>
</tr>
</thead>
<tbody>
<tr>
<th>Standard price per hour</th>
<td class="currency">[% instance.minHour %]</td>
<td class="currency">[% instance.avgHour %]</td>
<td class="currency">[% instance.maxHour %]</td>
</tr>
[% IF instance.spot && instance.avgHourSpot > 0 %]
<tr>
<th>Spot provisioning model (Spot VM)</th>
<td class="currency">[% instance.minHourSpot %]</td>
<td class="currency">[% instance.avgHourSpot %]</td>
<td class="currency">[% instance.maxHourSpot %]</td>
</tr>
[% END %]
</tbody>
</table>
</div>
<h3>Price per Month</h3>
<div class="table-responsive">
<table class="table table-hover table-striped table-bordered">
<thead>
<tr>
<th scope="col"></th>
<th scope="col" title="Lowest price across all regions">Min.</th>
<th scope="col" title="Average price across all regions">Avg.</th>
<th scope="col" title="Highest price across all regions">Max.</th>
</tr>
</thead>
<tbody>
<tr>
<th>Price per month[% IF instance.sud %] with sustained use discount (SUD)[% END %]</th>
<td class="currency">[% instance.minMonth %]</td>
<td class="currency">[% instance.avgMonth %]</td>
<td class="currency">[% instance.maxMonth %]</td>
</tr>
[% IF instance.spot && instance.avgMonthSpot > 0 %]
<tr>
<th>Spot provisioning model (Spot VM)</th>
<td class="currency">[% instance.minMonthSpot %]</td>
<td class="currency">[% instance.avgMonthSpot %]</td>
<td class="currency">[% instance.maxMonthSpot %]</td>
</tr>
[% END %]
<tr>
<th>1 year commitment (CUD)</th>
<td class="currency">[% instance.minMonth1yCud %]</td>
<td class="currency">[% instance.avgMonth1yCud %]</td>
<td class="currency">[% instance.maxMonth1yCud %]</td>
</tr>
<tr>
<th>3 year commitment (CUD)</th>
<td class="currency">[% instance.minMonth3yCud %]</td>
<td class="currency">[% instance.avgMonth3yCud %]</td>
<td class="currency">[% instance.maxMonth3yCud %]</td>
</tr>
</tbody>
</table>
</div><!-- table-responsive -->
<h3>Operating System Licenses Costs</h3>
<p>Monthly costs for paid <i>premium</i> operating system licenses for Google Compute Engine machine type [% instance.name %].</p>
<div class="table-responsive">
<table class="table table-sm table-hover table-striped table-bordered">
<thead>
<tr>
<th scope="col">Operating System</th>
<th scope="col">Month</th>
<th scope="col">1Y CUD</th>
<th scope="col">3Y CUD</th>
</tr>
</thead>
<tbody>
<tr>
<th>Microsoft Windows Server</th>
<td class="currency">[% instance.monthWindows %]</td>
<td></td>
<td></td>
</tr>
<tr>
<th>SUSE Linux Enterprise Server</th>
<td class="currency">[% instance.monthSles %]</td>
<td></td>
<td></td>
</tr>
<tr>
<th>Red Hat Enterprise Linux</th>
<td class="currency">[% instance.monthRhel %]</td>
<td class="currency">[% instance.monthRhel1yCud %]</td>
<td class="currency">[% instance.monthRhel3yCud %]</td>
</tr>
<tr>
<th>SUSE Linux Enterprise Server for SAP</th>
<td class="currency">[% instance.monthSlesSap %]</td>
<td class="currency">[% instance.monthSlesSap1yCud %]</td>
<td class="currency">[% instance.monthSlesSap3yCud %]</td>
</tr>
<tr>
<th>Red Hat Enterprise Linux for SAP</th>
<td class="currency">[% instance.monthRhelSap %]</td>
<td class="currency">[% instance.monthRhelSap1yCud %]</td>
<td class="currency">[% instance.monthRhelSap3yCud %]</td>
</tr>
</table>
</div><!-- table-responsive -->
</div> <!-- // col -->
</div> <!-- // row -->
<h2>Price per Region</h2>
[%
cost_hour_difference = instance.maxHour - instance.minHour;
cost_hour_difference_percent = cost_hour_difference*100 / instance.maxHour
%]
<p>
Costs and pricing for Google Compute Engine machine type [% instance.name %] in Google Cloud regions in which the VM is available.
Between the most expensive and the cheapest region is a price <mark>difference of [% cost_hour_difference_percent FILTER format("%.0f") %]%</mark>.
</p>
<div class="table-responsive">
<table
class="table table-sm table-hover table-striped table-bordered"
data-classes="table table-sm table-hover table-striped table-bordered"
data-toggle="table"
data-sort-name="hour"
data-sort-order="asc"
data-sortable="true"
data-sticky-header="true"
>
<thead>
<tr>
<th scope="col" data-sortable="true">Region</th>
<th scope="col" data-sortable="true">Location</th>
<th scope="col" data-sortable="true">#Zones</th>
<th scope="col" data-sortable="true" title="CPU Platforms" >#Platf.</th>
<!-- Costs -->
<th scope="col" data-field="hour" data-sortable="true">Hour</th>
[% IF instance.spot && instance.avgHourSpot > 0 %]<th scope="col" data-sortable="true">Spot</th>[% END %]
<th scope="col" data-sortable="true">Month</th>
<th scope="col" data-sortable="true">1Y CUD</th>
<th scope="col" data-sortable="true">3Y CUD</th>
</tr>
</thead>
<tbody>
[% FOREACH region IN regions %]
<tr>
<td>
<a
href="/[% region.name %]/[% instance.name %].html"
title="Google Compute Engine machine type [% instance.name %] in Google Cloud region [% region.name %]">
[% region.name %]
</a>
</td>
<td>
[% IF region.regionLocation %][% region.regionLocation %][% ELSE %]<span class="text-muted">?</span>[% END %]
[% iconLowCo2Region(region) %]
</td>
<td [% IF region.zoneCount < 1%]class="table-danger"[% END%] title="Available [% region.zoneCount %] zone[% IF region.zoneCount > 1 %]s[% END %] in region [% region.name %]">[% IF region.zoneCount %][% region.zoneCount %][% ELSE %]<span class="text-muted">?</span>[% END %]</td>
<td [% IF region.availableCpuPlatformCount < instance.cpuPlatformCount %]class="table-warning"[% END%] title="Available CPU platforms in region [% region.name %]">[% IF region.availableCpuPlatformCount %][% region.availableCpuPlatformCount %][% ELSE %]<span class="text-muted">?</span>[% END %]</td>
<!-- Costs -->
<td
class="currency [% IF region.hour >= instance.maxHour %]table-danger[% ELSIF region.hour > instance.avgHour %]table-warning[% ELSE %]table-success[% END %]"
title="Costs per hour for machine type [% instance.name %] in region [% region.name %]: [% region.hour %] USD">[% region.hour %]</td>
[% IF instance.spot && instance.avgHourSpot > 0 %]
<td
class="currency [% IF region.hourSpot >= instance.maxHourSpot %]table-danger[% ELSIF region.hourSpot > instance.avgHourSpot %]table-warning[% ELSE %]table-success[% END %]"
title="Costs per hour for machine type [% instance.name %] in region [% region.name %] with spot provisioning model (Spot VM): [% region.hourSpot %] USD">[% region.hourSpot %]</td>
[% END %]
<td
class="currency [% IF region.month >= instance.maxMonth %]table-danger[% ELSIF region.month > instance.avgMonth %]table-warning[% ELSE %]table-success[% END %]"
title="Costs per month for machine type [% instance.name %] in region [% region.name %]: [% region.month %] USD[% IF instance.sud %] with sustained use discounts (SUD) applied[% END %]">[% region.month %]</td>
<td
class="currency [% IF region.month1yCud >= instance.maxMonth1yCud %]table-danger[% ELSIF region.month1yCud > instance.avgMonth1yCud %]table-warning[% ELSE %]table-success[% END %]"
title="Costs per month for machine type [% instance.name %] in region [% region.name %] with 1 year commitment (CUD): [% region.month1yCud %] USD">[% region.month1yCud %]</td>
<td
class="currency [% IF region.month3yCud >= instance.maxMonth3yCud %]table-danger[% ELSIF region.month3yCud > instance.avgMonth3yCud %]table-warning[% ELSE %]table-success[% END %]"
title="Costs per month for machine type [% instance.name %] in region [% region.name %] with 3 year commitment (CUD): [% region.month3yCud %] USD">[% region.month3yCud %]</td>
</tr>
[% END %]
</tbody>
</table>
</div><!-- table-responsive -->
[% PROCESS footer.tt2 %]