• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    MARASAN: no, parkrat jsem dockeru mazal databazi siti :) a nějaký if jsem mazal rucne.
    a musel jsem zacit vynucovat rozsahy, ne ze si docker nejak nahodně vybere lokalni sit a do neceho se trefí a vsichni se diví. rucne se musi mazat nepojmenovaný volumes atd.
    pokud teda jedu ken docker+compose
    MARASAN
    MARASAN --- ---
    MLEKAR_STEIN: vas tam nesere, jak si docker dela site a pravidla ve firewallu a po rebootu nefunguje kvuli pravidlum ve firewallu anebo nefunguji pravidla ve firewallu kvuli dockeru? Taky mi prijde, ze neni snadny ho smazat a vycistit od nej system, jak je vsude mozne nasranej. Asi nikdo z dockeru nevystupuje ...
    AMBIENTIUM
    AMBIENTIUM --- ---
    DELVIT: za mě docker a k8s, machine learning (pattern recognition a natural language processing), kryptografie okolo bitcoinu a defi, za super věc považuju úplný oddělení frontendu od backendu s Reactem a GraphQL, super je serverless koncept, asynchronní kód, všechny možný různý nosql databáze jako Elastic, využití výpočetních jader grafáren….
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    DELVIT: čim mi přišel objevnej docker:
    1. přišel s kompletním toolboxem. Možná v něčem blbým, ale relativně kompletním. tohle považuju za asi základ úspěchu.
    2. je to jednoduchý na použití. stáhnu image a pustím. v podstatě jail na steroidech. jen k tomu neni opich s vytvářením.
    3. dá se s tim dobře hýbat pokud chcípl server, nebo to prostě potřebuju dát jinam, tak obnovím data/datové volumes. instalace apky je na pět minut.
    4. vývojáři začli přemýšlet, kde mají data. najednou mi zmizely hádky typu "no ale ten tmp nám promazávat nesmite, my tam máme nastavení"
    5. povinnost sestavit image, tedy v podstatě provést instalaci a elementarní konfiguraci, spadla na vývojáře. následkem toho zmizely hadky typu "do baliku vám ty závislosti psát nebudu, máte v dokumentaci seznam a děláte si to stejně ansiblem" případně "to je popsaný v ticketu v jire" protože pokud něco nejede.v image, tak se to rychle otestuje hned po vyrobení a když tak padne vývoji zpět na hlavu dříve, než se to dostane k ops. a když náhodou něco uteče, tak se post mortem vývoji řekne no, tak tohle si koukejte rychle opravit. a utece toho tak do produkce podstatně míň.
    MARASAN
    MARASAN --- ---
    DELVIT: zrovna i virtualizace je velkej pokrok a snad nema vic nez 20 let (?)

    Pak ja povazuju za velkou vec RUST, kterej je schopen skvele nahradit sileny C. A zrovna RUST sem zacal pouzivat po ctyricitce kdy duvodem bylo, ze chci neco delat rychle a RUST je rychlej a proto sem se RUST zacal ucit.

    V poslednich 20 letech je toho kvanta, spousta veci je starsich, ale vysvihla se ted. Uz treba ARM a s nim mobily, maly pocitace (RPi apod). Rozsireni jednocipu kvuli Arduinu. 3D tisk. Tuny tuny veci a vsechny desne zajimavy a hodny vyzkouseni. Oproti tomu novy JS frameworky jsou uplna sracka IMO.
    GARFIELD
    GARFIELD --- ---
    DELVIT: Robo vysavac! (sorry, mam ho kratce a nemuzu si pomoct :)

    Za me treba

    * ML zpracovani obrazu a NLP
    * Rails - neskutecna produktivita pro webovy startup
    * Cloud
    * Vsude mobilni internet (kdyz jsem psal pred 10+ lety aplikaci pro zachranku tak mobilni data mi prisly cutting edge)
    JIMX
    JIMX --- ---
    DELVIT: mně přišly celkem revoluční frameworky typu react/vuejs/... předtím jQuery sice super (oproti plain JS v tý době), ale oproti těmto fw je to asi jako kopat díru lopatou vs bagrem
    DELVIT
    DELVIT --- ---
    MLEKAR_STEIN: To je zajímavá otázka. Ono toho moc nového vlastně není. Docker mě nepřijde jako nějaká revoluční novinka, dle mého pohledu to je "jen" VMka dotažená pro vývoj. Přesně jak psal
    UNTOY:, kde máš nějakou historickou platformu a chceš vyvinout novou a chceš to nějak používat a zároveň chceš vyvinout náhradu. Případně mít stejné prostředí pro všechny, čehož se dá dosáhnout jinak, ale tohle je pohodlnější.

    Já bych se tedy zeptal jinak. Co za revoluční novinku jste viděli v posledních 20+ letech?
    SATAI
    SATAI --- ---
    KOLCON: tohle Ops stejně musí řešit, teď k tomu jen má nástroje
    UNTOY
    UNTOY --- ---
    KOLCON: tu pravou hodnotu poznas ve chvili, kdy se setkas s use-casem, ktery se tim zpusobem dat vyresit lip nez jakymkoliv jinym zpusobem. Priklad - mame monolit appku Python2+Vuejs bezici na legacy AppEngine (1st gen). Pro beh to potrebuje specifickou verzi GCloud SDK, Pythonu a dalsich zavislosti. Chceme to prepsat, ale nemuzeme zastavit novy vyvoj na x mesicu jen abychom ziskali vicemene 1:1 kopii toho co jsme meli. Takze to bezi side-by-side s novym Python3 backendem, kde postupne vznikaji nove API endpointy a presouvaji se tam ty existujici z Python2. Oba backendy idealne potrebuji pristup k te same databazi. A vedle toho k tomu piseme jeste novy frontend. Aby tohle vsechno u sebe dokazal vyvojar nainstalovat, nakonfigurovat a spustit, tak by tim stravil v lepsim pripade minimalne 2 dny, a to za predpokladu ze to dela na nejakym *nix systemu.
    S Dockerem jsou to 4 predkonfigurovany kontejnery (DB, Python2, Python3, Frontend), ktery se spusti jednim `docker-compose` prikazem a je to. Vsechno je reprodukovatelny, takze se nedostanes do situace, kdy to jednomu vyvojari funguje na jeho stroji, druhymu ne a zkus na dalku zjistit v cem je problem.

    Co se tyce deploymentu do produkce, v tomhle mi Docker porad prijde lepsi nez starsi zpusob, kdy se (treba) pres Ansible neco nekam uploadovalo, buildilo, restartovalo a doufalo se. Ale zminovany GCP AppEngine mi prijde jeste o krok dal. Je to sice vendor lockin, ale jediny co je potreba je 1 yaml soubor s prehlednou konfiguraci aplikace, popr. jednoduchy pravidla jak to ma skalovat (min/max pocet bezicich instanci, cpu usage, requestu...) a hotovo. Uplne tim odpada potreba psat Dockerfiles nebo resit veci jako Kubernetes, protoze to je temer fulltime job pro dalsiho cloveka.
    AMBIENTIUM
    AMBIENTIUM --- ---
    KOLCON: pro admina je to to nejlepší co může bejt, pokud to ještě fičí na Kubernetes. Všechno automatizovaný, deployment, auto-scaling (roste zátěž? Prima, spustí se další pody, klesla, ok, vypnou se), infrastructure as code je naprostá paráda. K tomu tooly jako Lens, kde vidíš celej live setup, proklikáš se do libovolnýho živýho podu, vidíš tam logy a můžeš si spustit bash konzoli, vytahat z toho třeba soubory (třeba detailní crash reporty)…. Plus v cloudu nemáš železo, neřešíš chcíplej hardware, appky neběží na “serverech”. Místo toho máš prostě prostor - X CPU, Y RAM atd. a v tom necháš Kubernetes rozprostírat automaticky ty běžící kontejnery…

    Aktualizace třeba programovacího jazyka na vyšší verzi? Ok, změníš jedno čísilko v Docker konfiguraci, buildneš a je to za pár minut, buildnutej image testneš a nasadíš do produkce. Neřešíš, jestli produkce má vyhovující OS a závislosti… a nějaký přípravy na upgrade abys nesbořil existující produkci…. K tomu obří komunita okolo a veškerej myslitelnej tooling k dispozici zdarma…
    QWWERTY
    QWWERTY --- ---
    KOLCON: afaik pointou kontejneru (jednou z mnoha) je, ze zmenis release/konfiguraci v ramci Dockerfile, stary kontejnery vypnes a nechas nahradit novyma (viz "cattle vs pets")
    + se pak daji docela snadno delat i takovy veci jako napr. pro testovani rozjet 1 kontejner s novou verzi a zbylych X nechat na stare, dokud se to neotestuje v ostrym provozu. tzn. potencialni fail neohrozi vsechny uzivatele sluzby a postizeny uzivatele hodi loadbalancer pri dalsim requestu velmi pravdepodobne na starou verzi. stejne jako gradualni/rolling replacement

    za me osobne je to taky super v tom, ze kdyz treba potrebuju pouzit nejaky tool (napr. ESPHome pro flashovani firmware do IoT/embed), tak nemusim delat cely dev environment setup (nedejboze kdyby ten tool chtel jiny zavislosti, nez ty ktery mam aktualne v ramci systemu). takhle si stahnu kontejner, predam mu jenom parametry a ono to funguje
    KOLCON
    KOLCON --- ---
    SATAI: Jako z pohledu programátora to ještě asi chápu. Ale z pohledu admina to musí být peklo, mít takových (cizích) aplikací v systému hodně...
    SATAI
    SATAI --- ---
    KOLCON: pak to přebuilduješ a máš
    KOLCON
    KOLCON --- ---
    SATAI: a pak to nebudu muset 50x udržovat a patchovat?
    SATAI
    SATAI --- ---
    KOLCON: tak si je stav nad jedním base image
    GARFIELD
    GARFIELD --- ---
    Me porad bavi ucit se "novy" (pro me) veci a zkoumat ruzny technologie. Ale musi mi to resit nejakej realnej problem.

    Priklady veci, co me napada z posledni doby:

    * zkoumani architektury/toolu na nejaky business analytics a data pipeline (firma chce lepe utracet penize a ziskavat vic zakazniku)
    * Rails 7 (nase firma bezi na Rails)
    * Apple M1 (co budeme davat programatorum za pocitace)
    * indie web (nemam rad pomaly stranky a seo spam)
    * robo vysavace a veci okolo toho (https://www.youtube.com/watch?v=Y31__uv05KI) (uklizeni po detech)

    Naopak se nedokazu donutit k tomu se ucit neco jen tak do prace. Treba

    * cist si po nocich Knutha (muj realnej zaber je v business aplikacich),
    * bitcoin ¯\_(ツ)_/¯
    * docker (infrastrukturu resime jinak a zatim dostatecne)
    * preact, react, svelte, nextjs, ...
    KOLCON
    KOLCON --- ---
    MLEKAR_STEIN: Já docker moc nepochopil, proč má každá aplikace sebou tahat vlastní operační systém. Proč tam mám mít 50 verzí jedné knihovny pro 60 aplikací. Vždyť to je i bezpečnostní problém...
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    co pro vás znamená nová technologie?
    a čim vám přijde nová?
    mě takhle přišel objevnej docker.
    hlavně tim, že se s tim dá dobre hýbat, můzu to mit doma, stejně jako někde v oblacích. můžu mít vedle sebe víc verzí téhož atd.
    KOJA
    KOJA --- ---
    KOC256: Ja to spis vidim tak, ze snazit se delat diru do sveta s necim co je sice nove ale o nicem je nesmysl. Co je in me vlastne nezajima, spis to kde se resi fundamentalni problemy.
    KOC256
    KOC256 --- ---
    KOJA:
    Jo, jo...

    Mládi vpřed, a staří na svá místa.

    Asi je fajn si přiznat, že v nejnovější technologii už díru do světa neuděláme. Tak je fajn se naopak zaměřit na to, co je dlouhodobě IN a s čím to tu už doklepeme :-) ...myšleno v tom pozitivním slova smyslu.
    Kliknutím sem můžete změnit nastavení reklam