Hogyan előzi meg a Moovit a production incidenseket a Qodana által végzett kódelemzéssel?

2025-01-20 09:00
Problémák korai felismerése, egyéni konfigurációk és költséghatékonyság - A Qodana kódelemzés alkalmazásával a Moovit csak profitált!
Moovit: Qodana kódelemzés a production incidensek megelőzésére

A Moovit az első számú, ingázók által használt alkalmazás mögött álló alkotó. Természetesen a folyamatos fejlesztések, és javítások nem maradnak el náluk sem. A felmerülő problémák megoldására a Qodana-ra bízták magukat kódelemzés szempontjából - nem hiába!

A kihívás: A nullmutatók és más hibák felderítése, amelyek kiesést okozhatnak.

A Moovit iOS, Android és webes alkalmazásai intelligens mobilitási élményt nyújtanak a felhasználóknak, hogy könnyen eljussanak úti céljukhoz bármilyen tömegközlekedési vagy közösségi közlekedési eszközzel. A felhasználók a mobil jegyrendszer előnyeit élvezhetik, hogy megtervezzék, kifizessék és utazzanak a közlekedési szolgáltatásokkal. A 2012-ben bevezetett Moovit ma már több mint 1,5 milliárd felhasználót szolgál ki 112 ország több mint 3500 városában, 45 nyelven. A tömegközlekedés fontos tényező a munkahelyek, az oktatás, az egészségügyi ellátás és sok másféle útvonalnál, de a közlekedés kihívást és stresszt is jelent.

Mivel oly sok ember függ a közlekedési információktól és útmutatásoktól - beleértve a valós idejű információkat is -, a rendszer stabilitása kritikus fontosságú. A Moovit infrastrukturális csapata felelős a teljes rendszer stabilitásáért mind a B2C, mind a B2B projektek esetében. A csapatnak jelentős kihívást jelentett a termelésben landoló és a vállalat szolgáltatásait megzavaró problémák azonosítása. Az egyik fő gondjuk a NullPointerExceptions felderítése volt, amelyek gyakran okoznak kieséseket, és amelyekről úgy vélik, szerepet játszottak a CrowdStrike incidensben.

A szolgáltatási műveletek kockázatainak csökkentése és a magas kódminőség fenntartása érdekében a Moovit olyan statikus kódelemző eszközt keresett, amely megfelel a következő kritériumoknak:

  • Gyors szkennelés a problémák korai felismeréséhez. A csapatnak olyan eszközre volt szüksége, amely a fejlesztési ciklus korai szakaszában képes azonosítani a problémákat, a Jenkins minőségkapuk és az IntelliJ IDEA integrációjával.
  • Egyéni szabályok és konfigurációk létrehozásának képessége. A csapatnak képesnek kellett lennie egyéni szabályok meghatározására és a vállalatukra jellemző kódolási konvenciók érvényesítésére.
  • Skálázhatóság és költséghatékonyság. A megoldásnak a Moovit nagy kódbázisát jelentős teljesítménybeli túlterhelés vagy túlzott költségek nélkül kellett kezelnie.

Eredmények:

Kevesebb probléma a termelésben, nagyobb fejlesztői bizalom

Jelenleg a Qodana-t hat csapat használja a Moovitnál, összesen 60 fejlesztővel. Mivel a Qodana ugyanazon az elemzőmotoron alapul, mint az IntelliJ IDEA, a Moovit fejlesztői mind az IntelliJ IDEA-ban, mind a Qodana-ban szinkronizálták az ellenőrzési profiljaikat.

Az így kapott folyamat a következő lépésekből áll:

  1. A fejlesztők először lefuttatják a Qodana-ellenőrzéseket az IntelliJ IDEA-ban, és kijavítják az esetleges problémákat.
  2. Ezután egyesítési kérelmeket (MR) tolnak a Bitbucket tárolóba. A Jenkinsben elindul egy építési feladat, ahol egy további Qodana minőségkapu blokkolja a kódot, ha az meghalad egy bizonyos számú problémát, vagy ha magas súlyosságú problémákat tartalmaz.
  3. Ha az egyesítést a Qodana minőségkapu blokkolta, a fejlesztő egy Slack-üzenetet kap a Qodana Cloudban lévő jelentéshez vezető linkkel. Ezután az Open in IDE funkciót használja az IntelliJ IDEA-ban ajánlott javítások alkalmazására, mielőtt újra leköti a kódot.

„A legfontosabb előny az volt, hogy nem kellett előre meghatározni az ellenőrzések listáját, mivel a Qodana a nagy súlyosságú problémák széles körét figyeli. Egyszerűen áttekintettük a kritikus problémák alapértelmezett listáját, és csak azokat távolítottuk el, amelyek nem voltak relevánsak az igényeink szempontjából.”

— Amit Weinblum, a Moovit infrastrukturális csoportjának vezetője

A termelési incidensek számának csökkenése

Köszönhetően a folyamat korábbi szakaszában történő proaktív észlelésnek és megoldásnak, az infrastruktúra-csapat kevesebb termelési problémáról számolt be. Különösen olyanokról, amelyeket a fejlesztés során is észre lehetett volna venni.

„Még eléggé újak vagyunk a Qodana használatával, de már volt két olyan jelentős eset, amikor azt gondoltam: „Megmentették a csapatom a késő éjszakai munkától”. Ez pozitív hatással volt a munkámra, mivel most már jobban bízom abban, hogy figyelmeztetnek minket a kritikus problémákra.”

— Dor Rud, Backend csapatvezető a Moovitnál

A kritikus kódszabályok könnyebb érvényesítése

A Moovit nagyra értékelte azt a lehetőséget, hogy saját egyéni szabályokat hozhatnak létre, amelyek eltérnek a standard Qodana-ellenőrzésektől, testre szabhatják a problémák súlyosságát, és könnyen hozzáadhatnak vagy eltávolíthatnak ellenőrzéseket a profiljukból. Mindez lehetővé tette számukra, hogy figyelemmel kísérjék a számukra valóban fontos kódváltozásokat.

Fokozott fejlesztői termelékenység és a legjobb kódminőségi gyakorlatok elfogadása

A fejlesztők nagyra értékelték az elemzés pontosságát és az IntelliJ IDEA-val való integrációt. Ezek a fejlesztések lehetővé tették számukra, hogy a problémákat gyorsabban oldják meg, kevesebb zavaró tényezővel a munkafolyamatokban.

Egy másik fontos tényező a JetBrains márka ereje volt, amely segített meggyőzni a fejlesztőket, hogy a Qodana-t kiegészítő kódelemzési lépésként alkalmazzák. Bíztak az eredményeiben, mivel már korábban is kedvelték az IntelliJ IDEA-t és más JetBrains-termékeket. Végső soron a gyorsaság és a megbízhatóság növelte a statikus elemzés pozitív megítélését a szervezeten belül.

,,Őszintén szólva aggódtunk a visszahatás miatt, amit a Qodana bevezetése hozott magával. Általában nagyon nehéz vállalati irányelveket a fejlesztőkre kényszeríteni. A JetBrains jó hírnevének köszönhetően, és annak, hogy a Qodana valóban kritikus problémákat jelent, a fejlesztők nem hagyják figyelmen kívül a Qodanát, vagy keresnek kerülőutakat, hanem kijavítják a problémákat."

— Dor Rud, Backend csapatvezető a Moovitnál

,,Mint minden kódelemző eszköz, a Qodana is hozzátesz plusz egy lépést a folyamathoz, lassítva ezzel a fejlesztési ciklust - de ez csak rövid távú kellemetlenség. Hosszú távon stabilizálta a termelési rendszerünket, és lehetővé tette a fejlesztők számára, hogy elkerüljék a problémák túl késői javítását a folyamatban. Láthatjuk a paradigmaváltást, ahol a fejlesztőcsapatok követik az irányelveket, és a Qodana segítségével megspórolnak jónéhány álmatlan éjszakát.”

— Amit Weinblum, a Moovit infrastrukturális csoportjának vezetője

Forrás: The Road to Reliable Transit: How Moovit Prevents Production Incidents With Code Analysis by Qodana

JetBrains árakért és további információért keresd fel viszonteladóink egyikét! Ha kérdésed van,  ügyfélszolgálatunk is készségesen a rendelkezésedre áll!

Olvass tovább

,
Ragadd meg a pillanatot a Wacom Movink segítségével!

Ragadd meg a pillanatot a Wacom Movink segítségével! Alkoss korlátok nélkül, és vidd magaddal könnyedén a ,,stúdiódat"!

,
Téli Mondocon 2025: Hozd ki belőle a legtöbbet!

Kezdd az évet felejthetetlenül, és irány a téli Mondocon 2025! Légy még egy nap erejéig karácsonyi szellemben, és szakadj ki a valóságból!


Hogyan előzi meg a Moovit a production incidenseket a Qodana által végzett kódelemzéssel?

Problémák korai felismerése, egyéni konfigurációk és költséghatékonyság - A Qodana kódelemzés alkalmazásával a Moovit csak profitált!

Copyright © 2023 Trans-Europe Zrt. Minden jog fenntartva.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram