(Az előadás a 2017-es HWSW mobile! termékfejlesztési konferencián hangzott el.)
- A hozzászóláshoz be kell jelentkezni
- 634 megtekintés
Hozzászólások
Semmi közöm a szoftver fejlesztéshez (hivatalosan, hobbiból van) és a felhős/elosztott rendszerekhez sem értek. Meg az egész világot kiszolgálni képes webalkalmazásokhoz pláne nem. De a számomra értelmezhetetlen cím miatt muszáj volt megnéznem ezt a kis videót, és vannak kérdéseim (a látóköröm szélesítésére):
- Miért serverless a neve? A cloud, mint tudjuk annyit jelent, hogy valaki más szervere, akkor hogyan valósul meg a serverless? Attól, hogy nem én nyomogatom a szervert, az még ott van és dolgozik nekem.
- Hogyan lesz olcsóbb saját on-prem és/vagy bérelt VPS/kubernetes/stb. plusz devops helyett egy óriási multinak fizetni mindenért (aki a nyereségért csinálja, ergo csak nagyon nagy méreteknél lesz költséghatékony - szerintem)? Nem okozhatnak ilyen rendszerek - áttételesen - dráguló szolgáltatásokat a végfelhasználóknak?
- Ha megcsinálja a fejlesztő cloud-semlegesre (ez érdekes lesz, lévén a videó alapján csak most alakul ez az egész, ergo senki sem ért még hozzá), és megáll az egyik cloud szolgáltató, akkor mennyi idő elindítani az egészet máshol? És fejlesztés közben tesztelik az összesnél, vagy majd élesben derül ki, hogy mégsem teljesen kompatibilis? Mibe kerül a fejlesztés, ha már közben több cloud-ban fut pénzért a teszt-rendszer? A megspórolt devops fizetéséből kitelik a különbözet?
- Amikor a fejlesztő megakad, és eddig hívta a devops vagy üzemeltetés részleget, az most az AWS-t meg az Azure-t hívja kis indiai, angolul alig tudó supporttal a túloldalon? És az tud majd segíteni neki tovább lépni?
- Ha több cloud szolgáltatónál fut egy időben a rendszer, hogy meglegyen a megfelelő szintű redundancia (előző kérdések), akkor az hol lesz olcsó és egyszerűen üzemeltethető az eddigi megoldásokhoz képest?
- Kiszámolta-e valaki, hogy ez elméletben lehet-e olcsóbb, mint a megelőző megoldások? És azt mérte-e valaki, hogy a gyakorlatban olcsóbb lett-e?
- Azt megbecsülte-e valaki, hogy tényleg rövidebb lesz-e a fejlesztési idő, ha az felsorolt sok dologgal nem kell a fejlesztőnek foglalkozni? Megfigyelte-e valaki, hogy tényleg gyorsabban elkészült-e bármi így el?
- A mai programozói átlag színvonalat elnézve (legalábbis itthon) mibe fog kerülni egy ilyen rendszer üzemeltetése, amit másodperc alapon számláznak? Itt arra gondolok, hogy egy random magyar számlázó szoftver még mindig "select * from tábla" módon működik kliens oldalon, és igen gyakran hangzik el fejlesztőtől, hogy "ja, azt elfelejtettem". A webshop-ok jó része meg még FTP-n cserélgetett XML-ekkel kommunikál a számlázó rendszerrel. (Tudom, be vagyok szűkülve. De ez kérem Magyarország, magyar KKV-kkel, nem világraszóló rendszereket futtató multival vagyunk kirakva).
- A rosszul beállított erőforrás-kezelés (amikor véletlenül 100 példányban fut ami kettőben is elég lenne, mert ugye "ja azt elfelejtettem") kinek a költsége lesz? A fejlesztőé vagy az ügyfélé? Van erre már bevált szerződési mód?
- Ha az egész a felhő szolgáltatónál tud csak működni, akkor már a fejlesztési fázisban sincs olyan, hogy a fejlesztő a saját gépén tesztel, tehát már a fejlesztés alatt is viszi szépen a pénzt?
- Ki tanítja meg a fejlesztőket ezt használni, így gondolkozni, dolgozni? Elolvassák a neten szabadidejükben?
- Úgy általában: miért van ennyi sok előadás olyan technológiákról, ami a magyar cégek legalább 80-90%-át nem érinti, mert nem futtatnak ilyen méretű rendszereket? Tudom, nagyon érdekesek. De valójában mennyi ilyen és mennyi másmilyen fejlesztés van itthon?
- Azért olyan szarok a hétköznapi programok (számlázó, CRM, ERP, stb.), mert az összes értelmes fejlesztő multinál dolgozik ilyen alapokra épített szoftvereken, és csak a "rosszak" maradnak itthon, hazai igényeket kiszolgálni?
Bocs, ha offenzívnek tűnök bizonyos mondatokkal, de üzemeltetésben dolgozóként ilyen tapasztalataim vannak csak. Sajnos.
Beszámoztam, hogy aki tud, 1-1 pontra is tudjon könnyen válaszolni.
Tényleg érdekel most már a dolog, nem kötekedésnek írtam ezt!
Tőlem nézve olyan már az IT itthon (vagy mindig is ilyen volt?), mint az autószerelés: futnak már a Tesla Model Y, meg VW ID.3 modellek ügyfelek alatt, sok itthoni szerelő meg a mai napig nem tudja, hogy a 89-ben (32 éve...) megjelent VW TDI motoron diagnosztikai készülékkel kell vezérlés csere után beállítani az értékeket, nem szemre meg fülre... Vagy az elmúlt 25 év kiégetté és frusztrálttá tett?
- A hozzászóláshoz be kell jelentkezni
Ugyan a videot nem neztem meg, de az amazon lambdaval van tapasztalatom.
Megirsz egy programot, azon a kornyezetben amit az amazon lambda tamogat (pl. nodejs). Tegyuk fel, hogy ez egy ritkan hasznalt dolog, pl. kepfeltoltesnel atmeretezi a kepet, vagy szamlanal a szamlakepen ocr-t futtat.
A lambda igazabol egy elore bekonfigolt virtualis gep, ami valamilyen eventre (http request vagy timer) triggelerodik, es ez a gep elinditja a programodat, majd miutan vegzett (vagy timeout letelt), leallitja a gepet.
Ennyi idod van egy http keresre valaszt adni.
Nem kell torodnod kontenerek ezreivel, nem futnak folyamatosan, nem hasznaljak a memoriat (ami szerveren a szuk keresztmetszet).
Nem kell foglalkoznod a kornyezet frissen tartasaval (ez nem egy kesz docker kontener, amibol ujat kene forgatnod), a kornyezetet az amazon frissen tartja.
Van par fajl amit ki kell toltened az amazon fele, hogy a tudja a programodrol, hogy kell inditani, de ennyi.
Az elonye? Nem fizetsz csak a futasidoert. Nem kell frissen tartanod a kornyezetet.
Baromi gyorsan elinditjak a lambda szervert ami elinditja a programodat, valami 3 masodperc a cold start, de ha sokszor hivod meg, akkor boven masodperc alatt van az inditas.
Erdemes egy status funkciot implementalni ami hamar visszater a valasszal , igy cacheban tarthatod a programodat az amazonnal.
Egy minimalis programot osszerakni pl. dockerban nekem olyan 50-60MB ramot eszik meg ha jol emlekszem, es akkor egy hello worldrol beszelunk. Nem tudsz realisan minden funkciot sajat kontenerbe pakolni, mert elfogy a ram. A lambdaval ez lehetseges.
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....
- A hozzászóláshoz be kell jelentkezni
Ez jól hangzik egyébként!
Mondjuk a videó alapján (vagy nem az alapján, csak rossz beidegződés/hozzáállás alapján) azt hittem itt komplett rendszerekről beszélünk - nem egy-egy alkalmanként használt funkcióról -, amik nagyjából folyamatosan használatban vannak. Ha pedig ilyenekről beszélnénk, akkor nem létezik, hogy azok a működésük minden másodpercében annyi pénzt termeljenek, hogy megérje ilyen módon futtatni őket.
Vagy máshogy mondom: a videó alapján ez (is, mint oly sok minden eddig) a "jövő techológiája", nem úgy beszél róla, mint bizonyos célfeladatok megoldásának új eszközéről, hanem általánosan, mindenre használható módszerről.
- A hozzászóláshoz be kell jelentkezni
Ilyenre is van példa, mármint amikor egy-egy "alkalmanként" használt funkciót több ezerszer hívnak meg másodpercenként. Épp tavalyi a hír, hogy a BBC is az AWS Lambdába költözött: https://www.infoq.com/news/2020/11/bbc-aws-serverless/
Bár én továbbra is szkeptikus vagyok a költségeket illetően, hogy ez megéri-e nekik. Ha jól meg vannak írva a dolgok, és szénné optimalizálják a kódot, akkor talán jó lehet.
- A hozzászóláshoz be kell jelentkezni
Magyarán feltalálták újra a CGI scripteket.
- A hozzászóláshoz be kell jelentkezni
Semmi közöm a szoftver fejlesztéshez (hivatalosan, hobbiból van) és a felhős/elosztott rendszerekhez sem értek
Ezzel nagyjából meg is válaszoltad az összes kérdésedet, mert ha lenne tapasztaladod benne akkor ezeket a kérdéseket fel sem tetted volna.
- A hozzászóláshoz be kell jelentkezni
Tehat, amig az ember nem szoftverfejleszto, addig nincs joga megtudni, hogy mifan terem a serverless technologia es mitol "serverLESS".
:)
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....
- A hozzászóláshoz be kell jelentkezni
Ameddig ezt a hosszú hsz-t megírta, addig pont utána tudott volna rendesen nézni, és a fenti kérdések felét meg is tudta volna válaszolni.
- A hozzászóláshoz be kell jelentkezni
A fenti kérdésekre (minimum) kettő válasz létezik. Az egyik a marketing duma, amit a neten elolvashatok, a másik meg a valóság, amit csak benne dolgozók tudnak megosztani (már aki meg akar osztani bármit).
Namost a marketing részére nem vagyok kíváncsi, mert az 100%-ban átverés mindig.
Viszont szerencsére nem kötelező ide beírni senkinek, így aki szerint hülyeség, hogy megkérdeztem, annak nem kötelező válaszolnia. vagy írhat ilyent is, hogy miért nem néáztem utána, ezt is szabad.
- A hozzászóláshoz be kell jelentkezni
Megpróbállak elindítani: a serverless egy technológia, és nem szükséges hozzá felhő, on premise megoldások és léteznek rá. Ezek után a fenti kérdésied hány százaléka vonatkozik a serverless technológiára?
- A hozzászóláshoz be kell jelentkezni
Oh, ez eszembe sem jutott. Akkor felütöm az álláskeresős oldalakat és csapok vagy 10 év fejlesztő munkát, hogy majd 2031-ben tudjam a válaszokat ezekre a 2017-es anyagra felmerült kérdéseimre.
Gondolom velem ellentétben másnál úgy volt, hogy bölcsi, ovi, általános, gimi, aztán már senior serverless cloud fejlesztő, válaszokkal a fejében. Sajna nekem nincs ilyen szerencsém (más szakmával sem, nem csak ezzel).
- A hozzászóláshoz be kell jelentkezni
devops helyett egy óriási multinak fizetni mindenért (aki a nyereségért csinálja, ergo csak nagyon nagy méreteknél lesz költséghatékony
Pontosan azért lesz lehet költséghatékonyabb kiszervezni public cloudba az infrát, mert a multi mondjuk egymillió ügyfélnek szolgáltat, a házon belüli IT department meg csak magatoknak. Más problémára ad megoldást a kettő, egyik sem feltétlenül rossz megoldás.
A megspórolt devops fizetéséből kitelik a különbözet?
már a fejlesztési fázisban sincs olyan, hogy a fejlesztő a saját gépén tesztel, tehát már a fejlesztés alatt is viszi szépen a pénzt?
Azt megbecsülte-e valaki, hogy tényleg rövidebb lesz-e a fejlesztési idő, ha az felsorolt sok dologgal nem kell a fejlesztőnek foglalkozni?
Szerintem ne azon gondolkodj, hogy mennyit lehet a fizetésekből spórolni.
Mennyivel korábban tudsz belépni egy piacra, ha az embereid nem a kereket találják fel épp újra, hanem a konkrét problémán dolgoznak? Mennyi pénzt vagy hajlandó parkoltatni évekig a saját infrastruktúrában, és nézni, ahogy csökken az értéke? Stb.
- A hozzászóláshoz be kell jelentkezni
Alapvetően egyet értek a mondandóddal, de azért van benne egy csúsztatás: "Mennyi pénzt vagy hajlandó parkoltatni évekig a saját infrastruktúrában, és nézni, ahogy csökken az értéke?"
Egy infrastruktúrát tipikusan 3-5 évre vásárolnak meg a cégek. A mondásod akkor lenne igaz, ha 3-5 év alatt felhőre ennek a beruházási értéknek (+ nyilván azon üzemeltetési költségek, melyek felhő esetén nem jelentkeznek) csak a töredékét költenéd. De ez nem feltétlenül igaz.
Például egy Exchange esetén igaz, de ha olyan ügyviteli rendszerről beszélünk, ami nem működik használható mértékben WAN-on, akkor nagyon könnyen lehet, hogy nem igaz. Ezenkívül teljesen más egy olyan cég, ahol 10 éve azonos létszám/tevékenység van (akár 5 évnél hosszabb időre vásárolnak), mint ahol folyamatos bővülés/változás.
Múltkor volt egy előadás, amikor valaki azzal érvelt a felhő mellett, hogy egy cég 30m-ért vett Oracle licencet, kiderült, hogy mégsem kell, így 30m felkerült a polcra. Holott felhő esetén mindössze 300e/hó lett volna az ára, azaz csak annyit bukott volna, mire rájön a tévedésre. A hülyeség ellen egyrészt nincs védelem (felhő esetén is ki lehet előre fizetni felesleges összegeket), másrészt gyanús, hogy a 30m-be kerülő licenc és az alatta levő infrastruktúra kijött volna havi 300e-ből. De jól hangzik, az tény. Ennél a cégnél lehet, hogy sok helyen lehetett volna még sok 10m-et találni, szívesen nézegettem volna sikerdíjért.
Egyébként 5 év alatt nemcsak csökken egy infrastruktúra értéke, hanem lényegében lenullázódik. Nemcsak könyvelésileg, hanem piacilag is megközelíti. És ezt így is kell számolni, legfeljebb DR oldalra még megfelel.
- A hozzászóláshoz be kell jelentkezni
Szerencsére régen foglalkoztam Oracle licenceléssel, de 2 core-nyi enterprise license akkor 50.000 dollár volt listaáron, persze teszt-fejlesztőit is licenszelni kell! Szóval az a 30m nem is tűnik olyan soknak. :) Gondolom standard edition olcsóbb, de azt valamiért nem szeretik a DBA-k.
- A hozzászóláshoz be kell jelentkezni
A mondásod akkor lenne igaz, ha 3-5 év alatt felhőre ennek a beruházási értéknek (+ nyilván azon üzemeltetési költségek, melyek felhő esetén nem jelentkeznek) csak a töredékét költenéd.
Nem azt mondtam, hogy olcsóbb, hanem hogy nem kell benne parkoltatni a pénzt. Lehet, hogy mindkét opció fillérre pontosan ugyanannyi, de az egyiknél előre le kell tenni a pénzt, a másiknál meg csak hó végén, utólag. Simán lehet, hogy 5 év alatt X=Y, ezzel kapcsolatban nem állítottam semmit.
Ezenkívül teljesen más egy olyan cég, ahol 10 éve azonos létszám/tevékenység van (akár 5 évnél hosszabb időre vásárolnak), mint ahol folyamatos bővülés/változás.
Szerintem elég ritka, hogy 5 évig stagnál a cég forgalma, egyik irányba sem mozdul el. És mindezt ugye az 5 éves ciklus elején kéne belőni. Lehet, hogy van ilyen, de szerintem ez a ritkább eset.
- A hozzászóláshoz be kell jelentkezni
Felhőnél sem mindegy, hogy előre kifizeted vagy folyamatosan fizeted. Előbbi esetben ott is parkol benne a pénz. 1 év felhő jó eséllyel jelentősen kevesebb, mint 3 év infrastruktúra, ez nem vitás. Én úgy látom, hogy egy infrastruktúra egy cég kiadásainak töredéke, tehát ez korlátozottan szempont (azaz ha egy cég azért költ csak 1m-et és nem 1,5m-et, mert 1,5m-re nincs pénze, akkor gond van). Másfelől vannak pénzügyi konstrukciók, például van, aki lízingeli az infrastruktúrát, más kölcsönt vesz fel (nem azért, mert nem tudná kifizetni).
Másfelől az informatikai költségvetésnek sok ügyfélnél nem is az infrastruktúra viszi el az oroszlán részt, hanem a rajta futó szoftverek. Itt nem Exchange-re gondolok, hanem ügyviteli és egyéb szoftverekre. Persze sok szoftver is van már felhősen, de az integráció stb nem spórolható meg.
Az informatikai költségvetés nem feltétlenül változik a forgalommal. Több ügyfelem is van, akik szépen prosperálnak, de az IT nem változik lényegesen.
- A hozzászóláshoz be kell jelentkezni
Nem ilyen területen dolgozom, ezért én is csak laikusként mondom, de vannak válaszaim a kérdéseidre:
1. A szolgáltatás nincsen fixen szerverhez rendelve, hanem automatikusan indul el "valahol". Ezért nevezik így.
2. Másodperc alapú számlázás van. Ha nem használod nem kerül semmibe - vagy legalábbis nagyon olcsó. Tehát ha Magyarország a célcsoportod és munkaidőben használják a szolgáltatásod, akkor az éjszakákat máris megspóroltad. De ha mégis jön egy csúcsterhelés, akkor a rendszer automatikusan felskálázza a szolgáltatásodat, így nagyon nagy potenciális igényt ki tudsz szolgálni olcsón.
3. Tippem: Ha eleve konténerekben fejlesztesz, akkor elég lesz késői fázisban az igazi infrastruktúrán tesztelni, mert a fejlesztői gépen futó konténered pont ugyanazt tudja. Lásd 10. pontot!
Mibe kerül a fejlesztés, ha már közben több cloudban fut? Ameddig nem stressz-tesztet futtatunk, addig szinte semmibe, az a néhány futás, amit a fejlesztő csinál nem lesz drága. Összemérve a bérköltséggel semmi. De nem kötelező a cloudban futni, a fejlesztői gépünkön is fejleszthetünk.
5. Szerintem többfélére redundánsan feltenni a szolgáltatást mindigis drága lesz a tervezés szintjén, de ez független attól, hogy milyen technológia van alatta.
6. A másodperc alapú számlázás miatt elméletben olcsóbb lehet, ha a terhelés ingadozik, vagy nem tudjuk előre.
7. Én úgy tudom, hogy az iparban hatalmas pofáraesések vannak a sima cloudos fejlesztéssel is. De az is igaz, hogy mindigis óriási pofáraesések voltak az iparban, az elinduló projektek jelentős része sosem készül el :-)
8. Ha rosszul skálázódik egy program, akkor fizikai vason, vagy VPS-en simán lassú lesz, vagy OOM-mel elszáll. Itt pedig baromi drága lesz. "Stop loss"-szerű védelmet be lehet állítani, ezt az előadó is említette. De tény, hogy ez felügyelet nélkül problémás lehet.
9. Szerződés kérdése, azt tippelném.
10. A konkrét technológia ismerete nélkül azt tippelném, hogy kompatibilis környezetet a fejlesztő a saját gépén is tud futtatni. Nincsen benne semmi mágia.
11. Igen. Illetve egymástól eltanulják a projekt folyamán. Architekt kell, aki jól tervezi meg a szolgáltatásokat és közöttük az API-t, a többi fejlesztő már csak lekódolja minták alapján.
- A hozzászóláshoz be kell jelentkezni
- A Serverless megnevezés valóban kicsit zavaró. Azért szeretik inkább Lambda vagy Function-as-a-Service-nek (FaaS) nevezni. A lényeg az, hogy nem ódvatú módon konténert image-et adsz és hozzá Helm chartot, hanem konkrétan egy meghívható függvényt. Megoldása válogatja, hogy hogyan működik pontosan, hogyan fogadsz és küldesz adatot, honnan szeded az útvonal paramétereket, HTTP headereket, hogyan állítod be a válasz HTTP státuszt. Máskülönben olyan, mint a régi microservice: eldobható, környezeti változóból veszi a beállításokat, felcsatolt volume-ból (K8s secret) a TLS certeket, stb. Viszont az csak elméletben igaz, hogy ha a függvényed kilép, akkor vége mindennek, mert pl. a HTTP v2 kapcsolatok meg adatbázis sessionök ezt megsínylenék.
- Saját rendszert üzemeltetni szerintem felejtős. Annyi probléma van vele, támadások, skálázás, adatbázis redundancia, stb, hogy erre csak nagyon profik képesek. Ilyen "óriási multi" remélhetőleg magyar is van. Ha drágul, akkor átmész máshova.
- Mindig cloud semlegesre készül minden cloud native kód. A FaaS pont itt okoz kis fejtörést, nem szabad cloud függő frameworkre hagyatkozni.
- Ha a fejlesztő követi az alapszabályokat, hogy mocskosul egyszerű kódot ír, csak 1 dologgal foglalkozik, akkor piszkosul nehéz problémába ütközni.
- Árazástól függ. De ha adatbázisod is van, azt hogyan tartod szinkronban 2 felhőszolgáltató közt? Pl. Azure és AWK felhőkben lévő Rediseidet összekötöd?
- Szerintem mindenki magának számolja ki.
- A FaaS csak kis mértékben gyorsíthat, ha már eddig is cloud native voltál. A különbség csak annyi, hogy függvényt adsz meg az API GW-nek, nem a K8s service URL-jét.
- Az itthoni programozókkal semmi gond. Minden sarkon találsz vérprofi cloud native fejlesztőt. Ez nem véletlen, piszkosul egyszerű az egész.
- FaaS-nál nem állítgatsz erőforrást. Meghívódik a függvényed, olvasol/írsz adatbázist, visszatérsz. A jó öreg Kubernetesnél sem nagy probléma, ha több példány fut, mint kéne, kivéve, ha a cluster lefoglalja a resource limitben megadott erőforrásokat. Meg az sem jó, ha 1 példányra tolsz 10000 kérés/s forgalmat.
- A kód felhőfüggetlen, saját laptopon pl. minikube-ban vagy k3s-ben illik elfutnia, ha csak nem valami számításigényes (pl. videó, AI) cuccot fejlesztesz. De az igazi FaaS ezek nélkül is elmegy, ha kell DB, indítasz egyet és a proginak átadod a címét környezeti változóban.
- A cloud native világ mocskosul egyszerű. Azok a 20 soros tutorialok, amik fenn vannak, valóban működőképes és élesben biztonságosan üzemeltethető alkalmazások. Helyette az eszköztár nőtt meg. Pl. HTTP hibakódokra odadobsz egy számlálót és felkelti az üzemeltetőt, ha csúnyák a számok. De ennek remélhetőleg nem nagyon kell a kódban megjelennie.
- A magyarok eléggé elől járnak ezekben a technológiákban. A sok nagy multi, pl. IBM, telkók már rég behozták ezeket.
- A multiknál dolgozó magyarok többsége itthon van.
https://aws.amazon.com/blogs/compute/simplify-serverless-applications-w…
- A hozzászóláshoz be kell jelentkezni
IMHO (nem néztem végig...max a feléig)
1. - a cloud már nem elég "trendy", kellett egy újabb clickbait buzzword
2. - gondolom az elméleti háttér az, hogy a mérethatékonyság miatt még a szolgáltató haszna mellett is olcsóbb tud lenni, mint a dedikált ember/vas. De ez ugye csupán egy egydimenziós kimutatás.
Valamint az oligopol piac jövőben hátrányait már senki sem számolja, csak a rövidtávú trend a lényeg, mert az adott ember pozíciója szempontjából csak annak van hatása...utána a vízözön, MVP.
4. - ez összefügg a 2. ponttal: a kényelmet, lehetőséget, képességet, rugalmasságot lehet forintosítani, de szerintem korrekten belőtt szám még nem született sehol a világban. Ezután a 2. pont problémáját azzal akarják feloldani azzal, hogy a két forintosított adat különbözetét veszik és ezalapján meghozzák "A döntést". De ugye a 2. paraméter szubjektivitása miatt az eredmény sem lehet másmilyen...
5.- utókövetés? Hahh..úri huncutság. Hány cégnél van controlling/revíziós részleg? És ha van, akkor ott hány olyan szakmai ember ül, aki az adott területet érti is? Papír alapján bármi kimutatható és az ellentéte is, scope kérdése.
De ha véletlenül ki is mutatná valaki, hogy srácok, ez nem volt egy jó húzás, akkor mibe fáj a visszarendeződés? És azt kinek a bónuszából fizetik?
13. - az IT szerintem már túllépett a kézműves korszakán és a tömegtermelés minden jegyét magán viseli: "olcsón, még éppen elfogadhatót" ez a jelige, akinek meg nem jó, az fáradjon át az úri szabósághoz... Szóval a cégek is eldönthetik, hogy melyik kategória kihívásaival szeretnének megküzdeni. Csak sajnos sokszor nem vallja ezt be senki (sem a munkáltató, sem a vevő) és konfekció áron szeretne egyedi dizájner/minőségi ruhát...(ki nem, ugye? :D)
Illetve akkora a fejlődés, hogy az úri szabóság vagy durván konzervatív vagy nagyon dizájner. Középút nem lehet, mert vagy tökéletesre csiszolnak valamit és eközben elszalad mellettük a világ, vagy valami nagyon nagy újdonságba fektetnek be előre, amiben a vevőnek durván hinnie kell.
"The only valid measurement of code quality: WTFs/min"
- A hozzászóláshoz be kell jelentkezni
1. - a cloud már nem elég "trendy", kellett egy újabb clickbait buzzword
Ne lássunk már bele olyat ami nincs benne. Lambda és társai sok éve léteznek, pont ugyanígy hívták akkor is (serverless). És még csak az sem igaz, hogy most van ebből valami hype, vagy eddig nem érdekelt senkit, de most beindult. Ha valaki ezen a területen dolgozik, akkor nem újdonság neki, eléggé megkerülhetetlen téma már évek óta.
- A hozzászóláshoz be kell jelentkezni
2017es az előadás.
Én ezt ugyanúgy cloudnak látom, csak az elszámolást/skálázást megvariálták, dinamikusabbá tették. Az autó még autó marad attól, hogy automata váltót tesznek bele.
"The only valid measurement of code quality: WTFs/min"
- A hozzászóláshoz be kell jelentkezni
A Lambda meg 2014-es, de előtte is volt már ilyen lehetőség az aws-nél. Illetve fordítva nézed: pont az ilyen technológiáktól cloud a cloud, nem pedig attól, hogy valaki más által vásárolt és működtetett vason futtatunk virtuális gépeket havidíjért cserébe. Szóval ne akarjuk beletuszkolni már ebbe az egész dologba, hogy akkor ez most egy cloud utáni új hype.. Nem, ez még mindig a cloud hype, illetve ez annak a szerves része, lassan 10 éve.
- A hozzászóláshoz be kell jelentkezni
A legtöbb szoftver amit látok el kéne hogy fusson úgy párszáz mega memóriával meg egy olyan CPU negyedével, ami a telefonomban van. Ezzel szemben botrányosan összetákolt rendszerek vannak mindenütt, teletömve hülyeségekkel, Thread.sleepekkel, meg agyatlanságokkal. Na ezért kell mindegyik instance-nak 16GB memória, ezért indul el 18 perc alatt, ezért fut ki a memóriából 1 hét uptime után, ezért szolgál ki mondjuk 10 requestet legjobb esetben másodpercenként és ezért kell rögtön 10-20 instance belőle, meg load balancer, meg minden országba még egy datacenter.
Ez van. Ilyenek a döntéshozók, a kollégák meg az egész ipar és itt egy új - hamis - ígéret, ami majd megoldja minden gondunkat (is). Ez volt X éve a felhő, meg a mikroszervíz meg most a serverless.
Hát ez van. :)
- A hozzászóláshoz be kell jelentkezni
Igen, egyetértek. A legtöbb szoftver sokszoros erőforrást használ, mint ami az adott feladathoz minimálisan szükséges. Ha valami csak mondjuk 1000-szeres, akkor az már egész jónak számít, és simán mehet production-be. Itt is szoktam azzal sokkolni, hogy mikor olyan topik van, hogy adatbázist kell optimalizálni, mert lassú, akkor bemutatom, hogy az összes adat elférne ~100MB körüli RAM-ban, és ha végignyálazva keresnénk benne és minden tranzakció után egy új fájlba mentenénk az egészet, akkor is sokszor gyorsabb lenne mint az elvárt.
Ettől függetlenül, ahol _valóban szükség van rá_, ott ezek a modern dolgok tényleg hasznosak lehetnek. Véleményem szerint az igazán nagy adatmennyiségekkel dolgozó programoktól eltekintve mindent fejlesztési időre kell optimalizálni, viszont az iparban hallgatólagosan elfogadott 1000-szeres erőforrás használat helyett 10-50-szeresig érdemes mégis optimalizálni. Ha ezt megcsinálják, akkor máris kiderül, hogy a teljesítmény felskálázása sokkal olcsóbb is tud lenni. A fejlesztés során ha folyamatosan teljesítményben is gondolkodunk (azzal a népi bölcsességgel sem értek, hogy a túl korai optimalizálás mindig baj volna), illetve időnként profilozunk és az alapján szűk keresztmetszeteket javítunk, akkor sokszor egyszerűbb megoldások is születnek. Azért mert rákényszeríti a fejlesztőt arra, hogy gondoljon bele, hogy mégis amit csinált az _hogyan_ is működik? Mi a felesleges belőle?
- A hozzászóláshoz be kell jelentkezni
Bennem az a kérdés merül fel, hogy a skálázódás megoldása akkor szokott nehézségekbe ütközni, amikor a kezelt adatokat megfelelően szinkronban kell tartani. Ha nincsenek közösen kezelt adatok a userek között, akkor egy bébi csimpánz is meg tudja oldani a skálázódást.
Ebben az architektúrában pont az a teljesen átláthatatlan számomra, hogy az adatok perzisztenciája hova történik, és azt hogyan osztjuk meg a futó példányok között? És ha ezzel probléma van, akkor hol alakul ki szűk keresztmetszet emiatt?
A hálózaton, amin keresztül elérjük az adatbázist (SQL, noSQL) vagy storage-ot egy rakás másik userrel osztozunk. Tud erre valami garanciát adni a szolgáltató, hogy milyen gyors lesz az adat elérése? Milyen a latency, a sávszélesség, stb?
- A hozzászóláshoz be kell jelentkezni