Milyen dev környezetet webfejlesztő csapat(ok)nak?
Néhány 4-5 tagú webfejlesztő csapatnak keresek fejlesztői környezetet. Főként php, js, pyhtonban nyelveket beszélünk.
Jelenleg van:
- Egy régebbi legacy php+js web applikáció ami sima managed vason fut (apache, php és társai). A dev környezet itt tulajdonképpen remote deployment. PhpStorm minden változtatást feltol a storage-ra, onnan a webszerver mindenkinek kiszolgálja a saját virtualhostján.
- Egy újabb stack ami micro service alapú, és kubernetes clusteren fut. A service-ek önálló docker image-ek. A lokális fejlesztés laptopokon dockerben történik. A service aztán megy a dev/staging clusterre illetve a prod clusterre.
Régen midnig gond volt a lassú és problémás fel/letöltéssel, vpn, stb. Újabban, hogy lokálisan dockerben lehet futtatni az egészet, az lett a gond, hogy a különböző IDE-k mellett a nehany docker image, nodejs stb build processzek rendesen pörgetik a procit... Másrészt, ok, dockerral ezerszer könnyebb lett az élet, viszont szinte minden platformon sántít valami. Win, win wsl, mac os... mindenhol valmi más miatt de lassan minden nem Linuxos fejlesztőnél ott figyel egy Ubuntu virtualboxban ahol szépen összelapátolták maguknak a dev setupot. :)
- Milyen dev setupot/környezetet használtok, miért?
- Remote vagy lokális dev?
- Ha remote docker (pl docker machine-nel) egy távoli vason/VM-en, akkor egy docker engine hogyan tud ki szolgálni több fejlesztőt? Van valamilyen megoldás hogy elkülönítsem a felhasználókat? Egymás image-eit láthatják, nem gond, csak ne akadjanak össze (többen ugyanazt a portot használnák). Vagy mindenkinek kell külön VM, docker engine-nel?
- Ha remote deploymentben gondolkodnék (pl VM dockerrel tokkal vonoval) minden fejlesztőnek ahova az IDE automatikusan sync-el?
- Ha lokális akkor milyen praktikák vannak azon túl, hogy vegyek erősebb hardvert?
Kubernetes problematika
- Ha fejlesztek egy feature-t ami megkövetel egy másik service-t ami eltér a pillanatnyi master vagy developmenttől akkor jelenleg a legegyszerűbb amit tehetek, hogy gyalog készítek egy másik deployt a kívánt barnch-ről és futtatom egy másik hostname-en/porton. Viszont összetettebb helyzetben ennek káosz lesz a vége. Fejlesztőnként egy kubernetes cluster az luxus. Valahogyan route-olni header alapján Istioval, vagy LinkerD-vel? Van valami más automatizált megoldás?
Kíváncsi vagyok a tapasztalatokra, esetleg ha valaki tud más forrást hasonló témákban szívesen fogadom.
- Tovább (Milyen dev környezetet webfejlesztő csapat(ok)nak?)
- 521 megtekintés