Blog

Blog je mesto gde možeš da čitaš o navikama IT-evaca, najavama IT dešavanja, aktuelnostima na tržištu, savetima i cakama kako da uspeš na ovom dinamičnom polju.
Mi pratimo trendove, na tebi je da se zavališ u fotelju i čitaš :)

Blog Cloud
Tag: Cloud (127 rezultata)
20.05.2024. ·
4 min

Šta najveći DDoS napad u istoriji može da nauči developere?

U oktobru prošle godine, Google Cloud je objavio da je uspešno suzbio najveći DDoS napad u istoriji - i da je ovaj DDoS napad pogađao poslovne subjekte od avgusta. Šta je to što ga je učinilo najgorim DDoS napadom do sada? Bio je to njegov obim. Tokom svog vrhunca, napad je brojao preko 398 miliona zahteva u sekundi (rps). Poređenja radi, najgori zabeleženi DDoS napad do tog trenutka, otkriven 2022. godine, dostigao je 46 miliona rps. U ovom slučaju, kriminalci su bili u mogućnosti da pokrenu DDoS nakon što su otkrili zero-day ranjivost na HTTP/2 protokolu. U najgorem slučaju, ovaj tip eksploatacije može da preplavi saobraćaj i ometa usluge. Iako neće ugroziti podatke, može izbaciti ranjivu veb stranicu ili aplikaciju iz upotrebe. Ako ga sagledamo sada, pola godine kasnije - šta najveći DDoS napad do sada može da nauči softverske developere o sprečavanju DDoS-a? Redovno popravljajte ranjivosti Zero-day ranjivost učinila je ovaj napad tako efikasnim. Sada je poznat kao HTTP/2 Rapid Reset, ili CVE-2023-44487, i može preopteretiti servere koji se oslanjaju na HTTP/2 protokole. Rano popravljanje nedostataka jedan je od najboljih oblika odbrane od DDoS i drugih napada. Tokom ovog procesa, posebna pažnja mora se posvetiti visokorizičnim ranjivostima. Neažurirane ranjivosti se nalaze među vodećim uzrocima sajber napada, ali mnoge ekipe godinama zanemaraju izbacivanje patch-a. Sa poznatim greškama, kompanije mogu automatizovati ovaj proces kako bi ih unapred popravili u sistemu. Ali kako možete odmah popraviti zero-day ranjivosti? To su pretnje koje još uvek nisu poznate, i alati ne mogu da ih detektuju jer ne znaju da takve ranjivosti postoje. Takođe, može potrajati neko vreme dok patch ne bude dostupan za najnovije zero-day ranjivosti. Dok čekate patch za HTTP/2 Rapid Reset, Microsoft predlaže: Zaštitite svoj sajt WAF-om (web application firewall) Implementirajte odbranu za DDoS napade 7 sloja Postavite pravila ograničenja brzine da blokirate neželjeni saobraćaj Blokirajte maliciozne IP adrese Onemogućite HTTP/2 protokol Pristupajte sajber bezbednosti proaktivno Google je u poziciji da otkrije i suzbije napade pre nego što izmaknu kontroli jer stalno nadgleda svoju bezbednost. Kompanija konstantno razvija bolje mehanizme odbrane i koristi proaktivne mere kako bi kontinuirano poboljšavala svoju bezbednost. Ako vaš tim za razvoj redovno primenjuje patch-eve, pridržava se najboljih praksi za suzbijanje DDoS-a i održava ažuriran plan odgovora na incidente, onda ste u dobrom položaju kada je reč o reaktivnim merama. Međutim, to možda nije dovoljno da zaštitite svoje okruženje od visokorizičnih nedostataka. Da biste sprečili DDoS da omete vaš sistem na ovom nivou, potrebno vam je više. Započnite ovde da implementirate proaktivniji pristup bezbednosti: Nadgledajte mrežni saobraćaj kako biste brzo uočili svaku promenu u saobraćaju Koristite rešenja za analizu ponašanja kako biste otkrili abnormalne obrasce saobraćaja Postavite pravila filtriranja saobraćaja kako biste zaustavili zlonameran saobraćaj Kao rezultat toga, proaktivna sajber bezbednost vam pomaže da rano otkrijete ranjivosti - pre nego što eskaliraju u štetne i skupe napade. Postavite složene odbrambene mere u okviru vaše infrastrukture U svom pregledu najvećeg napada, Emil Kiner iz Cloud Armora primećuje da je zahvaljujući merama balansiranja opterećenja i infrastrukturi za suzbijanje DDoS-a, Google uspeo da održi sve operativnim, i izbegne bilo kakve prestanke rada. Suprotno tome, kada je OpenAI doživeo DDoS napad u novembru 2023. godine, korisnici su se žalili na ponovljene prekide tokom celog dana. Sveobuhvatna infrastruktura za suzbijanje i slojevi sigurnosti mogu napraviti veliku razliku prilikom napada u vašu korist. Samo WAF (web application firewall) nije dovoljan za rano suzbijanje DDoS-a. Na primer, evo nekoliko mera na koje se Google tim oslanja: Posebno prilagođene sigurnosne politike Adaptivne zaštite za analizu uzoraka saobraćaja Globalno balansiranje opterećenja za distribuciju saobraćaja Pored odgovarajuće infrastrukture, važno je imati višedimenzionalni program sajber bezbednosti koji kombinuje različite proaktivne i reaktivne mere. Sarađujte sa kolegama u vašoj industriji Ono što nas ovaj slučaj uči jeste to koliko je važno sarađivati sa drugim akterima u vašoj industriji. Kako bi suzbio napad, Google je delio informacije i obaveštajne podatke o napadima sa zainteresovanim stranama u industriji. To uključuje održavaoce softvera i pružaoce usluga oblaka. Google, Cloudflare i AWS zajedno su radili na istraživanju i zaustavljanju napada pre nego što je izazvao dugotrajne prekide rada za ranjive korisnike. Koordinirali su svoje napore i delili obaveštajne podatke, strategiju i ekspertizu kako bi rano zaustavili napad. Ovo je važno za suzbijanje napada velikih razmera poput ovog. Mogli su da se izbore sa pretnjom na vreme koristeći najefikasnije mere za to. Kako druge kompanije mogu iskoristiti različite saradnje? Izgradite zajednicu kako biste podstakli podržavajuće okruženje u svojoj industriji. Razmenjujte znanje i prakse sa drugim kompanijama. Sarađujte sa partnerskim kompanijama iz industrije kako biste u realnom vremenu suzbili napade. Prilagodite i unapređujte odbranu kako biste sprečili DDoS napade Kada velika kompanija doživi DDoS napad, može biti teško razumeti zašto WAF i druge odbrane nisu odmah zaustavile napad. Kao što vidite ovde, teško je pripremiti kompaniju protiv sofisticiranijih napada, pogotovo ako iskoriste zero-day ranjivost - govorimo o slabosti koju vaš sigurnosni sistem nije mogao da predvidi. Suština najgoreg DDoS napada? Baš kao što se DDoS napadi svake godine sve više unapređuju, vaša odbrana takođe mora da evoluira. Osim primene standardne sajber “higijene” kao što su redovni apdejti, pristupite bezbednosti sa proaktivnim merama. Kreirajte višedimenzionalnu infrastrukturu za sigurnost i, ako možete, sarađujte sa drugima.

09.05.2024. ·
2 min

Bezbednost operativnih sistema

Najnoviji izveštaj kompanije IBM otkriva da su incidenti povrede podataka prošle godine prosečno koštali kompanije 4,45 miliona dolara, što predstavlja porast od 15% u poslednje tri godine. Prema istom izveštaju, tokom 2023. godine zabeleženo je 550 slučajeva kompanija koje su bile pogođene ovim problemom. Ove brojke ukazuju na sve češće susrete sa ovakvim incidentima, a u daljem tekstu ćemo analizirati i uporediti nivoe bezbednosti najpopularnijih operativnih sistema. ChromeOS ChromeOS, operativni sistem nove generacije koji je baziran na Linux-u i razvijen od strane Google-a, koncipiran je sa fokusom na sigurnost. Nudi niz efikasnih bezbednosnih funkcija, među kojima se ističe sandboxing. Ovaj mehanizam omogućava da svaka aplikacija ili proces funkcioniše unutar izolovanog okruženja (sandbox), što sprečava pristup fajlovima, drugim aplikacijama ili kernelu, čime se efikasno štiti od pretnji zasnovanih na vebu. Druga značajna funkcija je Verified Boot, koja svaki put pri pokretanju sistema proverava njegov integritet, osiguravajući da operativni sistem nije izmenjen ili kompromitovan od strane zlonamernog softvera. Uprkos ovim naprednim karakteristikama, ChromeOS ima relativno mali udeo na tržištu - oko 2%. Linux Linux, najpoznatiji operativni sistem otvorenog koda na svetu, prepoznatljiv je po svojim robustnim bezbednosnim mehanizmima, mada njihova efikasnost varira u zavisnosti od distribucije. Distribucija Qubes, koja se zasniva na Fedora Linux-u, posebno je cenjena zbog visokog nivoa bezbednosti zahvaljujući upotrebi Xen virtuelizacije. Ovaj pristup omogućava izolaciju različitih zadataka i aplikacija u odvojenim virtuelnim mašinama, čime se sprečava širenje štete ukoliko jedan segment bude kompromitovan. Međutim, nedavno otkriće backdoor-a u jednom široko korišćenom alatu za kompresiju, koji je pronađen u distribucijama poput Red Hat-a i Debian-a, ukazuje na to da čak ni open source sistem ne može uvek da garantuje potpunu sigurnost. Iako Linux ima skroman udeo na tržištu od oko 4%, njegova modifikacija, Android, dominira u sektoru cloud tehnologija sa 90% zastupljenosti. macOS Apple-ov operativni sistem, zasnovan na Unix-u, ekskluzivno se koristi na uređajima ove kompanije. Visok nivo bezbednosti macOS-a proističe iz Apple-ove politike razvoja i softvera i hardvera, što omogućava integrisanu zaštitu. Kompanija redovno objavljuje sigurnosna ažuriranja, dodatno učvršćujući sistem protiv potencijalnih pretnji. macOS takođe koristi mehanizam sandboxing-a i efikasan alat za enkripciju, FileVault, koji šifrira ceo sistemski disk i zahteva autentikaciju pre pokretanja sistema. Udeo macOS-a na tržištu personalnih računara iznosi oko 15%. Windows Windows je operativni sistem s najvećim udelom na tržištu, koristi se na više od 73% personalnih računara, zbog čega je oduvek bio primarna meta napada. U ranijim verzijama, kao što su Windows XP i prethodnici, korisnici su automatski imali administratorske privilegije, što je omogućavalo zlonamernim programima lako preuzimanje kontrole nad sistemom. Microsoft je često bio na udaru kritika zbog spore reakcije na otkrivene sigurnosne ranjivosti. Danas, sa Microsoft Defenderom, Windows pruža zaštitu u realnom vremenu, uključujući i napredni firewall. Ove unapređene mere sigurnosti značajno umanjuju potrebu za antivirusnim softverom trećih strana, nudeći efikasnu zaštitu integrisanu direktno u operativni sistem.

30.04.2024. ·
2 min

Intel otkriva svoje planove za AI i čipove koji bi mogli da promene tržište

Intel je u zvanično predstavio svoj Gaudi 3 procesor — namenjen ubrzanju radnih opterećenja generativne veštačke inteligencije (genAI) u preduzećima — na svojoj Vision 2024 konferenciji i otkrio niz proizvoda sledeće generacije i strateških saradnji sa ciljem da se poveća adoptacija genAI. Strategija čip-proizvođača obuhvatila je strategiju za hardver i cloud usluge za sve, od data centara do edge uređaja, uključujući AI PC-jeve. Izvršni direktor Intela Pat Gelsinger hvalio je eru AI, koja uključuje PC-jeve koji će koristiti novu porodicu Intel Core Ultra procesora. Kompanija očekuje da će isporučiti 40 miliona AI PC procesora u 2024. godini i 100 miliona sledeće godine. U decembru, Intel je prvobitno najavio nadolazeće izdanje svog Gaudi 3 procesora za radna opterećenja AI u data centrima, i predstavio je pregled svojih 14. generacijskih Core Ultra "Meteor Lake" procesora za data centre i 5. generacijskih Xeon Scalable CPU-ova. Novi Xeon 6 procesori će uključivati softversku podršku za MXFP4 format podataka, što smanjuje latenciju za naredni token do 6.5 puta u poređenju sa Xeon procesorima 4. generacije koji koriste FP16, uz mogućnost pokretanja Llama-2 velikih jezičkih modela sa 70 milijardi parametara. Intel je ponudio i nove detalje o Gaudi 3 arhitekturi, performansama i OEM-ovima koji su se obavezali da će je dovesti na tržište, i istakao rastući broj korisnika. Kompanija je navela više od desetak "partnera" koji koriste njene Gaudi 3 akceleratore, uključujući Naver Corp., Bosch, NielsenIQ i Seekr. Istorijski gledano, kompanija Nvidia je predvodila tržište AI hardvera sa svojim GPU-ovima (grafički procesorski uređaji) i TPU-ovima (tensor procesorski uređaji), kreiranim za napajanje i obuku velikih jezičkih modela i AI aplikacija. U skladu s tim, Intel je Gaudi 3 pozicionirao kao direktnog konkurenta Nvidia-inom H100 GPU-u. Gaudi 3 pruža u proseku 50% bolje zaključivanje treniranih AI modela i 40% bolju energetsku efikasnost u poređenju sa Nvidia-inim H100 - "za mnogo manje novca", rekao je Gelsinger. Prema Intelu, Gaudi 3 akceleratori mogu pružiti četiri puta više AI računanja za računarske memorijske sisteme koristeći BF16 floating point format i 1.5 puta veću propusnost memorije u poređenju sa Gaudi 2. Pored toga, takođe nudi dvostruko veću propusnost mreže u poređenju sa svojim prethodnikom. Intel je koristio TSMC-ov proces od 5 nm za izradu Gaudi 3 čipova, koji su sada dostupni originalnim proizvođačima opreme (OEM-ovima) uključujući Dell, HPE, Lenovo i Supermicro za tržište AI data centara. Čip je dizajniran da se poveže sa hiljadama drugih unutar data centara. Prošle godine, Nvidia je kontrolisala oko 83% tržišta čipova za data centre, dok je većim delom preostalih 17% dominirao Google-ovim prilagođenim tensor procesorskim jedinicama (TPUs). Tokom svoje Vision konferencije, Intel je takođe pružio nove informacije o svojim proizvodima i uslugama sledeće generacije u svim segmentima poslovne AI primene, uključujući i svoje nove Intel Xeon 6 procesore, koji mogu pokretati RAG procese.

17.04.2024. ·
5 min

Node.js Lambda Package Optimization: Decrease Size and Increase Performance Using ES Modules

This article explains how to optimize Node.js AWS Lambda functions packaged in ES module format. It also shows an example with bundling and AWS CDK, as well as results for gained performance improvement. Node.js has two formats for organizing and packaging the code: CommonJS (CJS) — legacy, slower, larger, and ES modules (ESM) — modern, faster, smaller. CJS is still a default module system, and sometimes the only supported option for some tools. Let’s say you have a Node.js project, but you haven’t bothered with this before. You may now ask yourself — in which format is my code packaged? Let’s look at some JavaScript code examples: In JavaScript, it is clear by just looking into the code. But in TypeScript, you may find yourself writing code in ESM syntax, but using CJS in runtime! This happens if TypeScript compiler is configured to produce CommonJS output format. Compiler settings can be adjusted in tsconfig.json file and we will show how to avoid CJS output with an example later. There are two ways for Node.js to determine package format. The first way is to look up for the nearest package.json file and its type property. We can set it to module if we want to treat all .js files in the project as ES modules. We can also omit type property or put it to commonjs, if we want to have code packaged in CommonJS format. The second way to configure this is using file extensions. Files ending with .mjs (for ES modules) or .cjs (for CommonJS) will override package.json type and force the specified format. Files ending with just .js will inherit chosen package format. ES modules So how exactly can ESM help us improve Lambda performance? ES modules support features like static code analysis and tree shaking, which means it’s possible to optimize code before the runtime. This can help to eliminate dead code and remove not needed dependencies, which reduces the package size. You can benefit from this in terms of cold start latency. Function size impacts the time needed to load the Lambda, so we want to reduce it as much as possible. Lambda functions support ES modules from Node.js 14.x runtime. Example Let’s take one simple TypeScript project as an example, to show what we need to configure to declare a project as an ES module. We will add just couple of dependencies including aws-sdk for DynamoDB, Logger from Lambda Powertools and Lambda type definitions. The type field in package.json defines the package format for Node.js. We are using module value to target ES modules. The module property in tsconfig.json sets the output format for TypeScript compiler. In this case, ES2022 value says that we are compiling our code to one of the versions of ES modules for JavaScript. You can find additional info for compiler settings on https://www.typescriptlang.org/tsconfig. Bundling To simplify deploy and runtime process, you can use a tool called bundler to combine your application code and dependencies into a single JavaScript file. This procedure is used in frontend applications and browsers, but it’s handy for Lambda as well. Bundlers are also able to use previously mentioned ES modules features, which is the reason why they are important part of this optimization. Some of the popular ones are: esbuild, webpack, rollup, etc. AWS CDK If you’re using CDK to create your cloud infrastructure, good news is that built-in NodejsFunction construct uses esbuild under the hood. It also allows you to configure bundler properties, so you can parametrize the process for your needs. With these settings, bundler will prioritize ES module version of dependencies over CommonJS. But not all 3rd party libraries have a support for ES modules, so in those cases we must use their CommonJS version. ➤ What’s important to mention is that if you have an existing CommonJS project, you can keep it as is and still make use of this improvement. The only thing you need to add is mainFields property in CDK bundling section, which will set the format order when resolving a package. This might help you if you have some troubles switching the project completely over to ES modules. Let’s use a simple function that connects to DynamoDB as an example. Its job is just to read a record from a database. We will create two Lambda functions with this same code. One using the CDK example above, and the other one using the same CDK but without ESM bundling properties. It is just to have separate functions in CommonJS and ES modules so it’s easier to compare them. Here is a bundling output during CDK deploy with esbuild: You can see that ESM version of the function has package size reduced by almost 50%! Source maps file (.map) is also smaller now. esbuild provides a page for visualizing the contents of your bundle through several charts, which helps you understand what your package consists of. It is available here: https://esbuild.github.io/analyze. Here is how it looks like for our test functions: In this case, CommonJS package is improved by bundler only by minifying the code, which got it down to 500kb. Packages under @aws-sdk take up more than half of the package. But with using ES module — first approach when bundling, the package size goes down even further. As you can see, there is still some code in CJS format as some dependencies are only available as CommonJS. Performance results Let’s see now how much improvement is made by comparing cold start latency between ES module and CommonJS version of the function. Small load test with up to 10 concurrent users was executed to obtain the metrics. Below are visualized results using CloudWatch Logs Insights. CommonJS ES modules Numbers above are in milliseconds, so in average we reduced cold start duration by 50+ms, or 17%. Bigger difference is for minimum latency, which was shorter for almost 70ms, or 26%. These are not drastic differences, but from my experience with real-world projects — package size can go down like 10x, and cold start latency by even 300–400ms. Conclusion The improvement from using ES modules can be seen even in the simple example above. How much you can lower cold start latency depends on how big your function is and if it needs a lot of dependencies to do its job. But that’s the way it should be, right? For example, for simple functions that just send a message to SQS/SNS and similar, we don’t need dependencies from the rest of the app — like database or Redis client, which might be heavy. And sometimes shared code ends up all over the place. Even if the improvement in your case is not that big, it still might be worth considering using ESM. Just be aware, some tools and frameworks still have bad or no support for ESM. In the end, why would you want to pack and deploy the code you won’t use, anyway? 😄 Author: Marko Jevtović Software Developer @Levi9Serbia

26.03.2024. ·
5 min

Održavanje koraka s tehnološkim promenama: Značaj i evolucija Jave

Java programski jezik ostaje ključan stub u svetu programiranja i tehnologije, a njegova primena proteže se kroz različite industrije - od razvoja softvera i aplikacija do big data tehnologija i sistema za upravljanje poslovnim operacijama. U Srbiji, kao i globalno, potreba za Java programerima je konstantna, što je posledica široke primenljivosti ovog programskog jezika, objektno-orijentisane paradigme i platformski nezavisnog izvođenja. Analiza tržišta rada u Srbiji za 2024. godinu, kako je pisao Infostud, pokazuje da je pozicija softver developera, uključujući one koji se specijalizuju za Java programski jezik, među najtraženijim i najbolje plaćenim zanimanjima. U razgovoru sa Aleksandrom Gavrilovićem, senior Android developerom i Bratislavom Damnjanovićem Android developerom u kompaniji Cake.com, dobili smo uvid u trenutnu vrednost i buduću perspektivu ovog sveprisutnog jezika. "Java je i danas, uprkos sve bržem razvoju tehnologije, temelj mnogih aplikacija koje koristimo svakodnevno. Njena platformska nezavisnost, robusnost i ogromna zajednica čine je nezamenljivim alatom u razvoju softvera", objašnjava Gavrilović. Ove karakteristike Jave omogućavaju programerima da kreiraju aplikacije koje su pouzdane, sigurne i dostupne na različitim platformama, što je čini idealnim izborom za projekte od web razvoja do enterprise aplikacija. Bratislav Damnjanović, Android developer u Cake.com, deli slično mišljenje, takođe naglašavajući sveprisutnost i adaptabilnost Jave. “Mantra ‘Piši jednom, pokreni bilo gde’ je nešto što je obeležilo evoluciju Java programskog jezika. To praktično znači da kod koji je napisao programer, može da se izvrši na bilo kom uređaju na kome je instaliran Java Virtual Machine (JVM)”, objašnjava Damnjanović. “Bez obzira na pojavu novih programskih jezika i tehnologija, Java i dalje igra važnu ulogu u različitim domenima i industrijama. Velikim delom je zaslužna i aktivna zajednica programera koja doprinosi njenoj evoluciji. Obiman ekosistem biblioteka i alata koji okružuju Javu pruža programerima bogatstvo resursa za optimizaciju razvoja, poboljšanje produktivnosti i rešavanje različitih potreba aplikacija”, naglašava on. Java u srcu različitih industrija Gavrilović dalje ističe kako se Java koristi u širokom spektru projekata, uključujući razvoj Android aplikacija, web i enterprise softvera, kao i u big data tehnologijama i finansijskoj industriji. "Posebno je značajna u razvoju Android aplikacija gde, uprkos popularnosti Kotlina, Java zadržava svoju primarnu ulogu zahvaljujući istorijskom nasleđu i stabilnosti", naglašava on. Različite industrije imaju specifične potrebe koje Java uspeva da zadovolji, od sigurnosti i skalabilnosti u finansijskom sektoru do fleksibilnosti i pouzdanosti u telekomunikacijama. "U finansijskoj industriji, na primer, neophodna je visoka sigurnost i stabilnost, dok u telekomunikacijama tražimo sposobnost brzog adaptiranja na promene. Java nam omogućava da udovoljimo ovim različitim zahtevima", kaže Gavrilović, ističući univerzalnost Jave. U Cake.com konkretno, kako nam je objasnio Damnjanović, Java nalazi primenu u backend servisima koji podržavaju Pumble, aplikaciju za poslovnu komunikaciju sličnu Slack-u, što pokazuje njenu široku upotrebljivost u različitim sektorima. Tehnički izazovi i rešenja u radu sa Javom Kada je reč o tehničkim karakteristikama koje Javu čine posebno pogodnom ili nepogodnom za određene projekte, Damnjanović ističe njenu podršku principima objektno-orijentisanog programiranja, što ovaj jezik čini idealnim za izgradnju modularnih i skalabilnih sistema. "LinkedIn se u velikoj meri oslanja na Javu", kaže on, navodeći korišćenje frameworka kao što su Spring i Hibernate koji pokreću osnovne funkcionalnosti ove platforme, uključujući autentifikaciju korisnika.. Međutim, za projekte gde je ključna optimizacija memorije, drugi programski jezici mogu biti prikladniji zbog Javine upotrebe Garbage Collector mehanizma. Damnjanović navodi i konkurentnost kao jedan od glavnih izazova kada je rad u Javi u pitanju. “Jedan od izazova u radu na sistemima koji su pisani u Java programskom jeziku je konkurentnost. To je praktično sposobnost programa da izvršava više zadataka istovremeno. Često se dešava da više niti (threads) pristupa deljenim resursima. Problemi koji mogu da se jave u ovim situacijama zovu se Race Condition i Deadlock i rešavaju se različitim tehnikama kao što je korišćenje mehanizma Mutex”, objašnjava on. Gavrilović, s drudge strane, navodi da su neki od najvećih izazova sa kojima se susreo tokom rada sa Javom uključivali upotrebu zastarelih verzija biblioteka i framework-ova, optimizaciju performansi, upravljanje memorijom, testiranje, i implementaciju sigurnosnih mehanizama. Da bi prevazišao ove izazove, ističe važnost pažljivog proučavanja dokumentacije, traženja alternativa, optimizacije koda, korišćenja efikasnih algoritama, i primene najboljih praksi za sigurnost. Posebno naglašava kako je optimizacija memorije i izbegavanje cikličnih referenci ključno za prevazilaženje izazova u upravljanju memorijom. "Upravljanje memorijom i GC su me često stavljali na probe, posebno u projektima sa velikim brojem objekata. Optimizacija upotrebe memorije i izbegavanje cikličnih referenci su bili od suštinskog značaja", kaže Gavrilović, dodajući da je testiranje posebno izazovno, ali neophodno za uspešnu realizaciju projekata. Budućnost Jave u AI svetu Gavrilović i Damnjanović sugerišu da će Java nastaviti da zauzima centralno mesto u softverskoj industriji, čak i usred rastuće popularnosti novih tehnoloških trendova kao što su veštačka inteligencija, Internet stvari (IoT), i cloud computing. "Java se već koristi u razvoju AI alata i aplikacija za IoT, a njena prisutnost u cloud computing-u je neosporna", kaže Gavrilović. Damnjanović dodaje, "Java ima svoje mesto zbog svoje brzine, bezbednosti i sposobnosti za multithreading u oblastima kao što su mašinsko učenje i neuronske mreže, što sugeriše da će Java i dalje imati svetlu budućnost u tehnološkom pejzažu." Java, sa svojim bogatim ekosistemom, aktivnom zajednicom i sposobnošću da se prilagodi novim tehnološkim zahtevima, ostaje ne samo relevantna, već i neophodna u svetu softverskog inženjerstva. Uvidi Damjanovića i Gavrilovića pokazuju da, uprkos izazovima i promenljivim trendovima, Java zadržava svoju poziciju kao jedan od ključnih jezika za razvoj softvera. Njihove priče oslikavaju Javu kao tehnološki alat koji se neprestano razvija, prilagođava i inovira, osiguravajući njenu dugovečnost i značaj u budućnosti tehnologije. Bez obzira na evoluciju tehnološkog pejzaža, Java će, prema svemu sudeći, nastaviti da igra ključnu ulogu u oblikovanju budućnosti softverske industrije, omogućavajući razvoj novih inovacija i rešenja koja će oblikovati naš digitalni svet.

HelloWorld
0
20.03.2024. ·
2 min

Google je u 2023. godini lovcima na bagove isplatio malo bogatstvo

Google je lovcima na bagove isplatio 10 miliona dolara u 2023. godini. U pitanju je 600 lovaca iz preko 68 zemalja. Tokom godina, Google-ova zajednica lovaca na bagove igrala je ključnu ulogu u identifikovanju i ispravljanju velikog broja ranjivosti na brojnim platformama kompanije. Google-ova posvećenost motivisanju ovih istraživača izrodila je nekoliko novih programa, ali je donela i poboljšanja na postojećim. Među novitetima posebno se ističe lansiranje Bonus Awards programa koji nudi dodatne nagrade za sve izveštaje koji se odnose na Vulnerability Reward Program (VRP) mete. Dodatno, program nagrada proširen je i sada uključuje i Chrome i Cloud. Google je nedavno predstavio i Mobile VRP, gde je fokus stavljen na Android aplikacije, a vredno spomena je i lansiranje Bughunters bloga koji pruža detaljniji uvid u celokupno putovanje ka bezbednijem internetu. Tehnološki gigant nedavno je u Tokiju održao i svoju godišnju konferenciju posvećenu bezbednosti, ESCAL8, sa brojnim događajima koji su uključivali takmičenja, radionice i predavanja lovaca na bagove i zaposlenih u ovoj kompaniji. Kada je bezbednost Androida u pitanju, Google je ostvario nekoliko ključnih momenata dodeljujući 3.4 miliona dolara istraživačima koji su otkrili ranjivosti unutar ovog ekosistema, dok je maksimalna nagrada za otkrivanje kritične ranjivosti iznosila 15.000 dolara. Proširujući domet programa, dodat je i Wear OS kako bi se podstaklo istraživanje u novoj kategoriji nosivih uređaja i obezbedila bezbednost korisnika. Na ESCAL8 konferenciji, tokom hakerskog događaja za Wear OS i Android Automotive OS, dodeljeno je preko 70.000 dolara u nagradama istraživačima koji su tom prilikom otkrili kritične ranjivosti. Kada je reč o bezbednosti Chrome-a, gigant je predstavio različite inicijative koje uključuju MiraclePtr Bypass Reward i Full Chain Expoloit Bonus sa ciljem da motiviše istraživače da krenju sa proveravanjem bezbednosti potpuno novih sfera. Uprkos izazovima, Google je nagradio bezbednosne stručnjake sa 2.1 miliona dolara za njihov doprinos povećavanju bezbednosti Chrome pregledača. Kompanija je posebno naglasila i svoje delovanje na polju AI bezbednosti preko bugSWAT haking događaja koji targetiraju LLM proizvode. Kompanija je primila 35 izveštaja, koji su uspeli da sakupe 87.000 dolara u nagradama, ali i otkriju kritične probleme koji pogađaju AI sisteme.

26.12.2023. ·
5 min

Istraživanja pokazuju da je GenAI izuzetno neprecizan za poslovnu upotrebu

Kako Ai generativne platforme u sebe “usisavaju” sve veće količine podataka i povezuju se sa više i više korporativnih baza podataka, stručnjaci polako počinju da aktiviraju alaram kako bi skrenuli pažnju na jednu važnu stvar – ovi alati su izuzetno neprecizni i polako počinju da budu sve zatvoreniji. Veliki jezički modeli (LLM), algoritamske platofrme na kojima se generativni AI alati kao što je ChatGPT grade, izuzetno su neprecizni kada su povezani sa korporativnim bazama podataka i sve manje transparentni u svom radu, tvrde dva nova istraživanja. Studija Stenford univerziteta pokazala je da dok veliki jezički modeli nastavljaju da upijaju masivne količine informacija i rastu, postaje sve teže pratiti izvore tih podataka. Zauzvrat, to kompanijama otežava da saznaju da li mogu da bezbedno kreiraju aplikacije koje koriste komercijalne genAI modele, dok istražvači ne mogu biti sigurni da su podaci koje dobijaju za svoja istraživanja precizni. Takođe, sve ovo otežava i zakonodavcima da dizajniraju smislene zakone koji bi zauzdali moćnu tehnologiju, tvrdi ovo istraživanje. Veliki jezički modeli kao što su GPT, LLAMA i DALL-E, pojavili su se tokom protekle godine i transformisali veštačku inteligenciju, pružajući mnogim kompanijama priliku da sa njima eksperimentišu i poboljšaju svoju produktivnost i efikasnost. Međutim, sve te prednosti dolaze sa određenom dozom nesigurnosti. Transparentnost i odgovornost u AI tehnologiji „Transparentnost je ključan preduslov za bilo kakvu javnu odgovornost, naučne inovacije i efikasno regulisanje digitalnih tehnologija. Manjak transparentnosti oduvek je bio problem sa kojm su se suočavali korisnici digitalnih tehnologija“, izjavio je Rishi Bommasani, vođa istraživanja. Primera radi, OpenAI, koji u svom imenu sadrži reč „open“ (otvoren), jasno je stavio do znanja da neće biti transparentan kada su u pitanju brojni aspekti GPT-4 modela, naglasili su istraživači Stenford univerziteta. Ocena transparentnosti jezičkih modela Kako bi procenili nivo transparentnosti, istraživači su oformili tim koji je uključivao saradnike sa MIT i Prinston univerziteta, kako bi razvili sistem bodovanja nazvan Foundation Model Transparency Index. Ovaj sistem procenjuje 100 različitih aspekata ili indikatora transparentnosti, uključujući i način na koji neka kompanija kreira osnovni model, ako on radi i kako se koristi. Istraživanje je ocenjivalo 10 jezičkih modela, a rezultati su pokazali da je srednja ocena transparentnosti bila svega 37%. Najvišu ocenu dobio je LLAMA (52%), a potom slede GPT-4 (48%) i PaLM 2 (47%). „Ako nemate transparentnost, regulatorna tela ne mogu da postavljaju prava pitanja, a kamoli da nešto preduzmi“, dodao je Bommasani. Sa druge strane, gotovo 95% šefova vetuje da njihovi zaposleni regularno koriste genAI alate, dok 53 odsto njih veruje da oni sada praktično vode određene sektore unutar kompanije, pokazalo je istraživanje koje je sproveo Kaspersky Lab. Rezultati su pokazali i da gotovo 59% odsto direktora poseduje određenu dozu zabrinutosti u vezi sa bezbednosnim rizicima koje ovi modeli nose sa sobom i načinom na koji bi oni mogli da ugroze osetljive kompanijske podatke. Problem sa ovim jezičkim modelima ide znatno dublje od puke transparentnosti jer je i preciznost njihovih podataka dovedena u pitanje. Preciznost i pouzdanost jezičkih modela Juan Sequeda, glavni istraživač data.world AI laboratorije, izjavio je da je njegova kompanija testirala jezičke modele povezane sa SQL bazama podataka tražeći od njih odgovore na specifična pitanja u vezi sa kompanijom. Rezultati su pokazali da su u svega 22% slučajeva dobijali tačne odgovore, dok su gotovo sva pitanja koja su zahtevala napredne odgovore dobila netačne odgovore. Nedostatak odgovarajućih text-to-SQL benčmark testova koji su skrojeni po potrebama poslovnih korisnika može da utiče na davanje tačnih odgovora ovih velikih jezičkih modela. Strategije za poboljšanje tačnosti i upravljanje rizikom Već sada je vidljivo da im nedostaje interni poslovni kontekst određene kompanije, a to je jedna od ključnih stvari koja garantuje preciznost i tačnost odgovora. Sa druge strane, kompanije ulažu milione dolara u cloud skladištenje podataka, poslovnu inteligenciju, alate za vizualizaciju i ELT i ELT sisteme, kako bi mogle da bolje upravljaju podacima. Mogućnost korišćenja jezičkih modela za postavljanje pitanja u vezi sa tim podacima otvara velike prilike za unapređivanje ključnih procesa kao što su ključni indikatori performansi i strateško planiranje. Ovo istraživanje bilo je fokusirano isključivo na GPT-4, a preciznost dobijenih podataka iznosila je svega 16%. „Podaci koje smo dobili uopšte nisu ohrabrujući. Šta se dešava kada pred bordom direktora koristite netačne cifre, ili pred istražnom komisijom? Cena te nepreciznosti mogla bi da bude izuzetno visoka“, izjavio je Sequeda. Problem sa ovim jezičkim modelima leži u činjenici da su u pitanju statističke mašine koje predviđaju sledeću reč na osnovu reči koje su bile pre nje. Ova predviđanja bazirana su na šablonima posmatranja kompletnog interneta, Zbog toga, rezultati koje će dati će biti mogući, ali i neprecizni, pogotovo ako nikada ranije nisu uočili šablon koji je vezan za neku specifičnu kompaniju. Tačnost velikih jezičkih modela (LLM) povećava se na 54% kada se postavljaju pitanja preko reprezentacije baze podataka SQL preduzeća u obliku grafikona znanja. "Zbog toga, ulaganje u prućžaoce ove usluge obezbeđuje veću tačnost sistema za odgovaranje na pitanja koji koriste LLM", rekao je Sequeda. "Još uvek nije jasno zašto se ovo dešava, jer ne znamo šta se dešava unutar LLM-a. "Ono što znamo je da, ako LLM-u pružite upit sa ontologijom mapiranom unutar grafikona znanja, koji sadrži ključni poslovni kontekst, tačnost je tri puta veća nego kada to ne učinite", nastavio je Sequeda. "Međutim, važno je postaviti pitanje, šta znači 'dovoljno tačno'?" Da bi povećale mogućnost tačnih odgovora od LLM-a, kompanije moraju da imaju "snažnu osnovu podataka", ili ono što Sequeda i drugi nazivaju podacima spremnim za veštačku inteligenciju; to znači da su podaci mapirani unutar grafikona znanja kako bi se povećala tačnost odgovora i obezbedila objašnjivost, "što znači da možete naterati LLM da pokaže svoj rad". Još jedan način da se poveća tačnost modela je korišćenje malih jezičkih modela (SLM) ili čak specifičnih jezičkih modela neke industrije (ILM). "Mogu zamisliti budućnost u kojoj svako preduzeće koristi nekoliko specifičnih LLM-ova, svaki podešen za određene vrste pitanja", rekao je Sequeda. Za sada, pristup i dalje ostaje isti: predviđanje sledeće reči. Ta predikcija može biti precizna, ali uvek će postojati šansa i da će ona biti pogrešna. Svaka kompanija mora da se postara da pruži nadzor i regulaciju ovih sistema kako bi sprečila da osetljivi podaci budu ugroženi od strane modela koji nisu precizni.

25.12.2023. ·
2 min

IT tržište Srbije u prvih devet meseci: Pad potražnje za kandidatima i skok konkurisanja

Broj oglasa za IT pozicije u prvih devet meseci 2023. godine je manji za čak 52% u odnosu na isti period prošle godine, pokazali su najnoviji podaci sajta HelloWorld.rs. Najplaćeniji posao i ove godine u IT sektoru bila je Software inženjer, sa prosečnom platom između 1.807 i 1.985 evra. Istraživanje našeg sajta takođe pokazuje i sve veću potražnju za juniorima kojima je namenjeno čak 15% oglasa za posao, dok je potraga za seniorima konstantna i taj udeo oglasa je 22%. Pad broja oglasa primećen krajem 2022. godine Analizirajući podatke od januara do septembra 2023, uočen je značajan pad od 52% u broju IT oglasa u odnosu na isti period prošle godine. Ovaj trend primećen je u poslednjem kvartalu prethodne godine kada se desio i pad broja oglasa na sajtu. I pored toga, zabeležen je rekordan broj konkurisanja kandidata - u 2023. godini veće je za 55% u odnosu na 2022. Ovaj trend nastavlja se i u trećem kvartalu ove godine. Za Software inženjere nema krize U poslednjih nekoliko godina, IT sektor beleži sve veću potražnju za stručnjacima iz različitih oblasti. Dok se Software inženjeri i dalje nalaze  na ključnoj radnoj poziciji, postoje i drugi visoko traženi poslovi u IT-ju. Na listi najtraženijih su: Software Inženjer IT Help Desk / Support System Administrator / Inženjer Frontend Developer Data Warehouse / Business Intelligence Developer HelloWorld je radio na unapređenju platforme za prikaz informacija o platama, kako bi te podatke učinio preciznijim i relevantnijim za korisnike. Ovaj korak ima za cilj veću sigurnost korisnika sajta u to da prikupljeni podaci odražavaju što realniju sliku o platama u IT sektoru u Srbiji. U saradnji sa Data Science timom smo razradili metodologiju koja će nam omogućiti ovakav pristup. Najplaćeniji su i ove godine Software inženjeri, pored njih se visoko kotiraju i Project menadžeri. Ovako izgledaju prosečni opsezi plata po pozicijama: Software Inženjeri: Prosečna plata se kreće od 1.807 do 1.985 evra. QA Specijalisti: Zarade variraju od 1.047 do 1.245 evra. IT Help Desk: Prosečna plata je između 700 i 790 evra. Test Engineer: Zarade se kreću od 1.106 do 1.365 evra. Project Manager: Prosečna plata iznosi od 1.414 do 1.765 evra. Kada govorimo o najtraženijim tehnologijama u septembru 2023. godine to su: SQL, JavaScript, Cloud, Git i Java. Konstantna potražnja za seniorima i pad broja oglasa za rad od kuće U poređenju sa 2022. godinom, beležimo značajne promene u potražnji kadrova po senioritetu. Konkretno, potražnja za juniorima beleži skok sa 9% na 15%, dok je kod mediora uočen pad sa 68% na 63%. Seniori imaju stabilan udeo oglasa od 22%. U 2023. godini, udeo remote pozicija u ukupnom broju oglasa smanjen je sa 32% na 22%. Ova promena sugeriše prilagođavanje poslovnih modela kompanija, koje sve više naglašavaju potrebu za angažovanjem kadrova koji su fizički prisutni na radnom mestu.  

HelloWorld
0
09.11.2023. ·
3 min

Apple i Bing: Šta bi se desilo da je Microsoft prodao svoj pretraživač gigantu iz Kupertina?

Microsoft je oko 2020. godine razmatrao prodaju svog pretraživača Bing kompaniji Apple, prema izvorima upućenim u tu stvar. Dogovor bi značio da bi Bing zamenio Google kao podrazumevani pretraživač na iPhone, iPad i Mac uređajima. Međutim, pregovori nisu otišli dalje od razgovora između izvršnih direktora obe kompanije, Satje Nadele i Tima Kuka. Zašto je Microsoft hteo da proda Bing? Jedan od razloga je bila želja kompanije Microsoft da se fokusira na svoje druge poslovne segmente, kao što su cloud computing, veštačka inteligencija i gejming. Bing je bio gubitak za Microsoft, koji je ulagao milijarde dolara u njegov razvoj i promociju, ali nije uspeo da ostvari značajan udeo na tržištu pretraživanja. Prema podacima kompanije StatCounter, Bing je imao samo 2,7% globalnog udela na tržištu pretraživanja u septembru 2023. godine, dok je Google imao 91,5%. Zašto je Apple odbio da kupi Bing? Jedan od ključnih razloga je bio novac koji je Apple zarađivao od Google-a za to što je njegov pretraživač podrazumevana opcija na Apple-ovim uređajima. Prema izveštaju Bloomberga, Google je Apple-u plaćao između 4 i 7 milijardi dolara godišnje za tu privilegiju. Ovaj dogovor je bio predmet antimonopolskog suđenja između Google-a i američkog Ministarstva pravde, koje je ukazivalo na Google-ovu dominaciju na Apple-ovim uređajima kao dokaz da Google ima monopol na pretraživanje. Drugi razlog je bio kvalitet i sposobnosti Binga u poređenju sa Google-om. Eddy Cue, viši potpredsednik Apple-a zadužen za usluge, koji je sklopio dogovor sa Google-om, nedavno je rekao na sudu da je smatrao "Da niko nije ni približno dobar kao Google u pretraživanju, ni tada, ni sada". On je dodao da Apple nije koristio druge pretraživače jer nije postojala "validna alternativa". Šta bi se desilo da je Apple kupio Bing? To je pitanje koje možemo samo nagađati, ali možemo zamisliti neke moguće scenarije. Prvo, Apple bi verovatno promenio ime i dizajn Binga da bi se uklopio u svoj brend i ekosistem. Možda bi ga nazvao Apple Search ili Siri Search, i dao mu minimalistički i elegantni izgled. Drugo, Apple bi verovatno integrisao Bing sa svojim drugim uslugama, kao što su Siri, iCloud, Apple Maps, Apple News i Apple Music. To bi značilo da bi korisnici mogli da dobiju personalizovane i relevantne rezultate pretraživanja na osnovu svojih podataka i preferencija. Treće, Apple bi verovatno uložio više resursa u poboljšanje Binga i njegovih funkcija. Možda bi koristio svoju ekspertizu u veštačkoj inteligenciji i mašinskom učenju da napravi Bing pametnijim i bržim. Možda bi takođe dodao nove funkcije kao što su glasovno pretraživanje, prevod teksta i slika, i prepoznavanje objekata i lica. Kako bi se to odrazilo na tržište pretraživanja? To je takođe teško predvideti, ali možemo pretpostaviti da bi to imalo značajan uticaj. Prvo, to bi značilo da bi Google izgubio veliki deo svog prihoda i saobraćaja koji je dobijao od Apple-ovih uređaja. To bi moglo da oslabi Google-ovu poziciju i motiviše ga da poboljša svoj pretraživač i ponudi bolje uslove drugim partnerima. Drugo, to bi značilo da bi Bing dobio veliki podsticaj u popularnosti i kredibilitetu, jer bi bio podrazumevani pretraživač na milionima Apple-ovih uređaja. To bi moglo da privuče više korisnika i oglašivača, i poveća Bing-ov udeo na tržištu. Treće, to bi značilo da bi tržište pretraživanja postalo konkurentnije i raznovrsnije, jer bi bilo više opcija za korisnike i oglašivače. To bi moglo da podstakne inovacije i kvalitet u industriji pretraživanja. Apple i Bing su bili blizu dogovora oko 2020. godine, ali su ga odbacili zbog novca i kvaliteta. Interesantno bi bilo sada videti rezultate ove saradnje, kada Bing uspeva da uzme sve veći procenat tržišta zahvaljujući integraciji sa GPT 4.

Da ti ništa ne promakne

Ako želiš da ti stvarno ništa ne promakne, prijavi se jer šaljemo newsletter svake dve nedelje.