Tudod, mi az a DevSecOps?

Címkék

Nem, nem egy buzzword. Az agilis módszertanok és a DevOps elterjedésével már egyáltalán nem kirívó, ha egy cégnél naponta több tucatszor vagy akár több ezerszer változik az éles környezet. Ez a tempó alapjaiban borította fel a security csapatok munkafolyamatait. Ezekre az új kihívásokra adott válaszként született meg a DevSecOps. Milyen trükkökkel oldható meg a biztonság skálázhatósága? Ezekre a kérdésekre is választ ad a HWSW free! meetup-sorozat április 2-i DevOps tematikájú alkalma. További részletek »

Hozzászólások

Nem értem ezt a maradiságot, nálunk már évek óta DevSecPizCofWasCleOps-ok dolgoznak. Stratégiánk fontos része a pizza beszerzése, a kávé megfőzése, a mosogatás és a takarítás is!

de, az egy buzzword.

már a devops is azzá lett, hiszen nem tudják eldönteni, hogy olyan fejlesztőt értenek alatta amelyik képes és hajlandó is üzemeltetni is a saját szarait, vagy egy olyan üzemeltetőt, aki ki tudja (és akarja is) javítani mások által összegányolt üzemeltethetelen szarokat.

egész más inspiráció és egészen más kvalitások is kellenek mindegyikhez ;)

na most akkor a devsecosp, mindezt még biztonságosra is csinálja, ugye?

muhahaha.

--
zrubi.hu

A kulonbseg az, hogy a 15 eve bevalt modszerek nem mukodnek megfeleloen a modern kontenerizalt vilagban. Es azert kellett neki uj kontost adni, mert egy kicsit mast kell csinalni. Ugyanis manapsag a sec egyfelol be van epitve a pipelineba. De mivel nem kotelezo elem, es napi 10-30 release is elkepzelheto, nem ritka, hogy a fold teljesen kulnbozo pontjain ulnek a csapatok, akik ugyanarra a clusterre toljak a cuccaikat, ezert a security-t be kell epiteni a futo clusterbe. Kezdve az RBAC, network policyktol, az image scannig, az alertingen at a dynamikus tuzfalon keresztul mindent. Azaz uzemeltetni kell eles rendszerben futo biztonsagi megoldasokat, mindamellett, hogy egy csomo hagyomanypos megoldasra is szukseg van. Aza egy ilyen szakembernek ertenie kell biztonsagi/uzemeltetesi szempontbol a Linuxot, a Kubernetest, az overlay networkot, a service mesheket, a kontenerizacion at egy csomo mindent. Jah es nyilvan reprodukalhatoan kell az egeszet leszallitani.

-
First impressions of the new Cloud Native programming language Ballerina

Nyilván való, hogy az IT security egy eléggé gyorsan változó terep... ettől függetlenül nem goldolnám, hogy egy új buzzword munkaköri elnevezés fogja megváltani a világot ;)

főleg, hogy a fő probla azóta is ugyan az maradt: a profit mindenek előtt.

szerintem.
--
zrubi.hu

Igen. Ahogy strukturalod a csapatok az a strukturalodas fog megjelenni az alkalmazas arhitekturajaban is elobb utobb. Azt mondjak internet szerte, hogy ez a ket dolog kez a kezben jarnak. Es ha egy nagy csapatod van, akik fejlesztenek jo esellyel az architektura is egy monolit lesz. Mig ha szetbombazod oket kis csapatokra akkor meg kicsi egysegek fognak egyuttmukodni az alkalmazas oldalon is. Nyilvan a feladat ugyanaz mint eddig, kodot kell irni, azt ki kell tenni a szerverre, es garantalni kell, hogy biztonsagosan mukodik. De az, hogy ez kinek a felelossege egy 5-8 fos csapatban mar korantsem olyan trivialis. Ezert ahogy valtozik az architektura es a csapatok felelpitese, ugy jelennek meg uj szerepkorok. Es Buzzword ide vagy oda ez egy teljesen termeszetes folyamat, amikor osszejon egy jol definialhato skill-set akkor adunk neki egy nevet :)

-
First impressions of the new Cloud Native programming language Ballerina

Conway's law +1, aminek egy csomo mas vetulete is van.
* 1., Ha az uzemeltetest is csak 1 csapat viszi, amelyben nincs specializalodas (mindenki csinal mindent), ha ugyeletet kell adni, akkor a kozos tudasnak menedzselese - ami legalabb az ugyelet adashoz szukseges - is egyre nehezebb lesz => monolith
* 2., Ha microservices architekturaban gondolkodsz, immutable elemek hasznalataval, akkor az infrastruktura szolgaltatasoknak skalazhatonak es hibaturoeknek kell lennie => SPoF-ok megszuntetese
* 3., A SPoF nemcsak az infrastrukura szolgaltatasaiban lehet, hanem a tamogato/uzemelteto csapatban is mint pl.: Brent a The Phoenix Project konyvben.
* 4., Az 1. pontbol kifolyolag, ha boviteni szeretned a csapatot vagy potolni annak egy tagjat, akkor meg fog gyulni a bajod a felvetelizteteskor vagy csak nagyobb budzse kell a megvalositashoz.

Rengeteg pelda lenne meg...
Sokan mar ott elakadnak, hogy mi az a DevOps es miert jo, igy nem csoda, hogy nem latjak a jelentosseget/hasznat az ezen beluli specializalodasnak, mint peldaul DevSecOps mernok.

Koszi a pontositast, nem ugrott be a neve a dolognak.

2, annyival egeszitenem ki, hogy az uzemeltetes (akik uzemeltetik a platformon amin futnak az appok/servicek, pl Kubernetes clustert) legtobbszor nem is tud a workload jellegerol, hogy az milyen komponensekbol all, mennyi komponens van hany peldanyban. Az is elofordulhat, hogy 20 csapat futtat fejenkent 8 servicet. Ezert kell az az ember, aki biztositja a HA-t, meg monitorozza az alkalmazast, es megtalal mondjuk tranzakcios hibakat, vagy egyeb problemakat, amik a fejleszto gepen nem jonnek ki. (de atjott, hogy tudod, nem is neked irom feltetlen)

-
First impressions of the new Cloud Native programming language Ballerina

Szivesen.

Pontosan es ez szorosan kapcsolodik az 1. ponthoz, hogy jellemzoen a szolgaltatasok komplexitasa es az alap infrastruktura vagy nevezzuk platform merete egy bizonyos szint felett kikenyszeriti, hogy az alkalmazas/termek/service uzemeltetes es az infrastruktura/platform uzemeltetes kulon csapat(ok)ban tortenjen.
Az egyes termekert felelos csapatok belso szolgaltatasi szerzodesben meghatarozott modon kapjak es a Platform uzemelteteseert felelos csapat(ok) pedig PaaS szolgaltataskent adja a termekeert felelos csapatoknak a szolgaltatasokat es a kapacitast.

Egy ido utan nem lehet mindket teruletet nagyon magas szinten uzni, illetve on-callt adni es felelosseget vallalni mindkettoert egyszerre, ezert donteni kell, hogy ki miben melyed el jobban es melyik all hozza kozelebb.

"nem lehet mindket teruletet nagyon magas szinten uzni"
Ezt en ketto fele bontanam. Egyik fele, hogy a devops mernok a "hid", szoval lesznek nala nagyobb szakik akik a platformot uzemeltetik, es programozobol is valszeg lesz nala nagyobb magus. A lenyeg, hogy mindket dolgot ertse, mindket csapat elfogadja/elismerje a szaktudasat, adjanak a szavara, ezaltal megszuntetve a szakadekot a ket reszleg kozott.
A masik resze, hogy azert lehet erteni hozza. Nem annak aki most ugrik bele nullarol, vagy most boviti a szakteruletet. Ismerek szakembert, aki 14 eve van az ITban, vilag eleteben uzemeltette amit fejlesztett (meg a kapcsolodo igenyeket), es bar 70%ban programozas tette ki az idejet (osszesen kb 6 nyelven), azert vegigjarta az ops iskolat is kezdve a single node bash,lamp,sendmail,iptables,nagios,on-prem-tol a kulonbozo Java kontenereken at a Chef-es/Ansible-s cloudos megoldasokon keresztul a Hadoop uzemelteteseig (elos verzio Dockerben futott 3 eve :D) a legtobb "fancy" dologgal. Ma kubernetest uzemeltet hazon belul amin continous deploymenttel kerulnek ki a valtozasai (nyilvan masoke is :)). Nem gondolja magat a legpengebbnek, ismerem jol, van egy csomo peldakepe pl meg szaki akire felnez, de azert nehez atvernie mindket oldalnak, mert latott mar ezt-azt. Nyilvan ez kapcsolodik a 4-es ponthoz; zsebbe kell nyulni, erdekes kihivast kell adni; es baromira nehez skalazni.

-
First impressions of the new Cloud Native programming language Ballerina

+1
Egy kicsit kiegészíteném, bár mindenben egyetértek.
A mai fejlesztő és üzemeltető eszköztár mellett, - de legyen bármilyen magas szintű egy programozó tudása, - már "csak" kódoló lesz belőle. Az a tudás, ami régen a széleskörű alapismeretek megszerzése után rendelkezésre állt, ma már eltűnt. Sőt, a rendszerek is bonyolultabbak, ezért a széleskörű tudást nem tudja helyettesíteni a józan paraszti ész sem. Ha valaminek működnie kell, de az egyes szakterületkre specializált szereplők nem képesek átlátni a teljes működést és feltételrendszert, akkor szükség van olyanra, aki rendelkezik az ehhez szükséges és elegendőan alapos ismeretekkel.

Tudok egyszerű példát is mondani. AES256 kukcsokat fogunk használni... A "magasszintű", mindenhez is értő kolléga rögtön javasolta, hogy generáljunk egy csomó kulcsot, nehogy runtime lassulás következzen be. :0 A mindenhez értés mellett kell egy "devops" akinek halvány gőze van egy kulcs előállításának módjáról és "költségéről". A többieknek csak egy függvényhívás.

Volt főnökömmel beszélgetve újságoltam, hogy végre találtam olyat, aki hajlandó C#-ban programozni. (Majd megtanulja.) - Jó nyelv, nagyszerű benne az USB kezelés. - mondta - Pedig a másik mindenhez is értő kolléga technológiája szerint letölt egy opensource (vagy sem) lib-et, ami jól dokumentált (vagy sem), és kipróbálja. Ha nem jó, akkor loop. Nyilvánvalóan kell mellé egy "devops", aki veszi/vette a fáradságot a C# képességeinek elolvasásához. Meg aki az USB mibenlétével is tisztában van, mert ... (mint fent). Ettől kezdve ez a tudás abszolút devops szint, hiszen C#, device driver és hardver ismeretek szükségesek a programozó úr irányításához.
Ezek csak szösszenetek, de mesélhetnék vég nélkül...

Pontositanom kell a kiragadott idezetet, de termeszetesen egyetertek azzal, amit irsz.

"Egy ido utan nem lehet mindket teruletet nagyon magas szinten uzni ES on-callt adni/felelosseget vallalni mindkettoert egyszerre."

DevOps mernokkent azert automatizalunk, hogy reprodukalhato, skalazhato, hibaturo, hordozhato ... - a sor tetszolegesen kiegeszitheto meg - rendszereket/infrastrukturakat epitsunk, teszteljunk es uzemeltessunk akkor es ott ahol igeny van ra. De az egyeni szakmai fejlodesunk szempontjabol ettol van egy sokkal, de sokkal fontosabb szempont is. Ez a tudasunknak (a mit, mivel es hogyan resze) egy olyan formaba ontese es tarolasa, amely kesobb bovitheto, hordozhato es futtathato. Ahhoz hogy melyebben megertsuk, hogy mit es miert csinaltuk ugy, ahogy kell hozza reszletesebb dokumentacio a miertekrol. Ahhoz hogy ez megszerzett tudas legyen ezen felul meg kell a gyakorlati tapasztalat. Ezzel igy az evek/evtizedek alatt szep tudast lehet felhalmozni es erre lehet epitkezni es boviteni, hogy ujabb es ujabb dolgokat sajatitsunk el.

Es itt visszkanyarodnek az elejere. En nem a tobb terulet magas szintu uzeset illetve az ahhoz szukseges tudas megszerzeset vonom ketsegbe, sot ilyen szakemberekre nagy igeny van es kell hogy legyen, hanem azt, hogy hajnali 2 orakor, almabol felkeltve is kepes azonnal a jo helyre nyulni es rovid idon belul (persze ez is relativ) elharitani a hibat - barmely teruletet is erint - ugy, hogy kozben nem azon kell gondolkodnia illetve a ceges tudasbazist bujnia, hogy volt-e mar ilyen problemank, mi okozta es azt hogy oldotta meg? Es ahogy azt korabban is emlitettem ilyen kollegakbol nem csak 1-2 kellene az on-callt ado csapat(ok)ban.

En ezert gondolom, hogy ezert kell a specializacio, illetve az egyeni fejlodes. En inkabb olyan teruletekre fokuszalnek, mint DevSecOps, Chaos Engineering, Machine Learning, AI, Big Data. Szerintem ezek a teruletek mar most is olykor kulon embert/poziciot kivannak.

Pontosan lehet tudni ;) "olyan fejlesztőt értenek alatta amelyik képes és hajlandó is üzemeltetni is, es rendelkezik uzemeltetesi tapasztalattal" hiszen a 5-8 fos microservice csapatban az o felelossege atadni az SRE teamnek az uzemeltetheto alkalmazast.

-
First impressions of the new Cloud Native programming language Ballerina

Én a devopsot úgy mondtam a kollégámnak, hogy azért nem hülyeség, mert kell olyan fejlesztő, aki tud üzemeltetni is, mer bizony szerintem bárki tud felhozni a fejlesztők által elkövetett galádságot(*). És persze fordítva is igaz. Ezen a szálon elindulva azt se hátrány, ha van fogalma a biztonságról is.

Ja, hogy ez alap lenne?

*) A csúcs eddig az az alkalmazás volt (javás), ami ha egyszer elindult, akkor nem lehetett megállítani. Mármint üzemszerűen. Oké, határidőre át kellett adni, de ennyire?!

Meghogy csak a KKV-k akarnak 1 ember araert 3-at foglalkoztatni...

A KKV szektorban ez semmit nem valtoztat. Ott eddig is meg kellett csinalni, amit meg kellett senki nem kerdezte, hogy mindek hivjak a pozit. Ellenben pont a nagyobb szervezeteknel jon kepbe ez a dolog, ahol van penz kikepezni az embert erre a teruletre. Nekem van ismerosom, aki ebben a pozicioban dolgozik, es nem KKV higgyetek el.

-
First impressions of the new Cloud Native programming language Ballerina

Na már megint egy divatos betanított munkás pozíció...

Volt valaki ezen a meetupon, milyen volt?