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


A Boris FX új AI eszközöket ad a Continuum 2025.5-hoz

Ez a verzió egyrészt AI-alapú eszközöket vezet be, másrészt fejlesztéseket kínál a meglévő funkciókban, nagyobb hatékonyságot és kreatív kontrollt biztosítva az alkotók számára.


Több mint 1500 új betűtípussal bővült az Adobe Fonts

Az Adobe Fonts kedvelt klasszikusokkal és új kedvencekkel is bővült egyaránt. Öt év alatt ez a legnagyobb bővítés.


Díjazott Maxon alkalmazások a NAB 2025 rendezvényén

A Maxon termékei elismerést kaptak az innováció és kiválóság terén a média technológiában.

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