Při hledání možností, jak usnadnit práci novým kolegům na našem projektu byla jednou ze zvažovaných možností i použití virtuálního počítače v Azure. Nápad byl asi takový, že si uděláme předlohu, tedy ideální pracovní stroj, kde již budou nainstalovány všechny používané aplikace. Tedy mimo samozřejmého Visual Studia i všechny další nástroje pro práci s kódem, všechny potřebné SDK, testovací nástroje a další.
Nováček by si tak jen na pár kliků na Azure portálu vytvořil svoji instanci, nastavil potřebné přihlašovací údaje a mohl tak prakticky ihned začít pracovat.
Nováček by si tak jen na pár kliků na Azure portálu vytvořil svoji instanci, nastavil potřebné přihlašovací údaje a mohl tak prakticky ihned začít pracovat.
Dnes dostane jen "holé" pracoviště, tedy laptop s nainstalovaným operačním systéme (v našem případě s Windows 10) a následně si vše musí nainstalovat a nastavit sám. Děje se tak částečně postupně, i tak ale odhadujeme, že pro přípravu a instalací všeho potřebného, je potřeba více jak tří dnů. Oproti tomu použití předpřipraveného obrazu a VM by tuto dobu mohlo zkrátit na půl dne. Díky tomu, že veškerá práce probíhá na VM v Azure, není nutné mít nějaký extra výkonný hardware lokálně a dojde tak i k určité úspoře nákladů.
Na druhou stanu je ale nutné připravit a udržovat obraz našeho vývojářského prostředí na Azure a implementovat následně i všechny přicházející aktualizace. Také na připojení k Internetu a na místní síť by byli kladeny jiné nároky.
Následné aktualizace jsou pak časově zhruba stejně shodné bez ohledu jestli se provádí na lokále a nebo na vzdáleném virtuální počítači.
Práci s VM si občas zkouším - a je fakt, že se to o hodně zlepšilo, ale zpoždění je občas patrné a člověk má občas pocit, že to "není ono" - ale katastrofální to rozhodně není. Problémy začnou se sítí - na mé domácí síti stačí, aby někdo začal něco uploadovat a jakžtakž pocit, že to jde, je rázem pryč. Kvalitní konektivita je tedy nutnou podmínkou.
Kolik ušetříme?
Ale dává to vůbec smysl po finanční stránce? Zkoušel jsem si to propočítat, všechny ceny jsou v amerických dolarech a časové údaje ve dnech, vše počítáno na dobu tří let:
Provoz VM něco stojí - naprostým minimem je asi konfigurace A3 (4 jádra. 7GB RAM a 120GB disku), která při důsledném vypínání po skončení pracovní doby stojí kolem 40 dolarů měsíčně. Ale to je minimum, kterého se nepodaří v praxi dosáhnout. Hodina práce s instancí o velikosti A4 (což je 8 jader, 14 GB RAM a 240GB diskového prostoru) stojí 60 centů. Pokud bude tato instance běžet 10 hodin denně, 21 dnů v měsíci, bude nás provoz za 3 roky stát kolem 4500 USD.
Pokud to vše nějak shrnu, tak pro provoz VM jsou rozhodující tyto náklady - vše pro dobu tří let:
Při lokálním vývoji jsou náklady tyto:
Dáno do tabulky, lze si snadno vypočítat, kolik bude ušetřený den stát v závislosti na počtu vývojářů:
Provoz VM něco stojí - naprostým minimem je asi konfigurace A3 (4 jádra. 7GB RAM a 120GB disku), která při důsledném vypínání po skončení pracovní doby stojí kolem 40 dolarů měsíčně. Ale to je minimum, kterého se nepodaří v praxi dosáhnout. Hodina práce s instancí o velikosti A4 (což je 8 jader, 14 GB RAM a 240GB diskového prostoru) stojí 60 centů. Pokud bude tato instance běžet 10 hodin denně, 21 dnů v měsíci, bude nás provoz za 3 roky stát kolem 4500 USD.
Pokud to vše nějak shrnu, tak pro provoz VM jsou rozhodující tyto náklady - vše pro dobu tří let:
- DevOps stráví celkem asi 15 dnů přípravou a následnou aktualizací obrazů
- Vývojář pak prvotním nastavením stráví půl dne, během tří let každí tři měsíce stráví čtrtinu dne aktualizacemi OS, VS a dalších nástrojů - celkem tedy asi 3dny.
- Laptop bude stát 1000 USD, provozní náklady VM budou 4500 USD, celkem tedy 5500 USD
Při lokálním vývoji jsou náklady tyto:
- Vývojář stráví prvotním nastavením tři a půl dne, podobně jako u BM pak každé tři měsíce čtvrt dne obětuje aktualizacím, celkově tedy touto praí stráví 6 dnů
- Laptop bude stát 2500 USD - bude mít více lepší CPU, více RAM, rychlý SSD disk.
Dáno do tabulky, lze si snadno vypočítat, kolik bude ušetřený den stát v závislosti na počtu vývojářů:
# developers | 5 | 10 | 15 | 30 | 60 | 90 |
VM days | 30 | 45 | 60 | 105 | 195 | 285 |
VM price USD | 27500 | 55000 | 82500 | 165000 | 330000 | 495000 |
LM days | 30 | 60 | 90 | 180 | 360 | 540 |
LM price USD | 12500 | 25000 | 37500 | 75000 | 150000 | 225000 |
Price for a day saved in USD | 15000 | 2000 | 1500 | 1200 | 1091 | 1059 |
Z tabulky tedy žádná finanční výhoda při používání VM neplyne - v malém týmu bude den ušetřené práce stát kolem 1500 USD, tedy vedlo by to spíše k prodělku. Ani u velkého týmu není úspora tisícovky dolarů něco, za co by nás finančníci moc pochválili - tedy asi ve většině českých firem.
Co s tím?
Aby to mělo smysl, je nutné:- co nejvíce standardizovat vývojové prostředí s tím, že vývojář nesmí provádět žádné velké změny a IT oddělení musí mít co největší kontrolu - tak, aby ideálně odpadly i ty dny nutné na aktualizace vývojářem a celkové doba, kterou stráví "neproduktivně" se omezila jen na prvotní nastavení.
- vyjednat slevy na provoz VM, popřípadě zvolit jinou velikost VM a přísněji dbát na dodržování doby běhu instance v Azure.
- dělat práci s vyšší přidanou hodnotou, tedy jinými slovy pracovat produktivněji
# developers | 5 | 10 | 15 | 30 | 60 | 90 |
VM days | 17.5 | 20 | 22.5 | 30 | 45 | 60 |
VM price USD | 15000 | 30000 | 45000 | 90000 | 180000 | 270000 |
LM days | 30 | 60 | 90 | 180 | 360 | 540 |
LM price USD | 12500 | 25000 | 37500 | 75000 | 150000 | 225000 |
Price for a day saved in USD | 200 | 125 | 111 | 100 | 95 | 94 |
Není lepší udělat totéž na lokálním vmvare ESXi/HyperV serveru? Na gigabitu se pracuje mnohem lépe.
OdpovědětVymazatZmiňuji to jako možnost na konci článku, ale nemám přehled o cenách takového řešení, tedy na kolik přijde vlastní hardware, softwarové vybavení, jaké jsou náklady na administraci a podobně.
OdpovědětVymazatI got lot of informations from your blog.And thanks for sharing!!!!
OdpovědětVymazatDigital Marketing Company in Chennai
This blog is very much interesting to see...
OdpovědětVymazatSAP ABAP Training in Chennai
Thank you for your information. it is very useful on any person. really for amazing information in ur file.
OdpovědětVymazatseo company in chennai
i have lot of information your blog. thank for sharing
OdpovědětVymazatseo company in chennai
I got lot of informations from your blog.And thanks for sharing!!!!
OdpovědětVymazatBest sap basis training in chennai
Tento komentář byl odstraněn autorem.
OdpovědětVymazatTento komentář byl odstraněn autorem.
OdpovědětVymazatIts is one of the good information. Thanks for sharing the fabulous one..
OdpovědětVymazat.
AWS Training in chennai
Thanks for the informative article. This is one of the best resources I have found in quite some time. Nicely written and great info. I really cannot thank you enough for sharing.
OdpovědětVymazatCarwash in omr
usedcars in omr
automotors in omr
car accessories in omr
http://martinstrimpfl.blogspot.com/
OdpovědětVymazat