Strangler Fig -malli
Sovellatte Strangler Fig -mallia monoliittisten sovellusten asteittaiseen refaktorointiin mikropalveluiksi häiritsemättä olemassa olevia toimintoja.
Strangler Fig -malli on ilmainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu SaaS-arkkitehtuuri ja startup-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.
Strangler Fig -mallin esittely
Tervetuloa Strangler Fig -mallia käsittelevään oppituntiin! Tämä tehokas arkkitehtuurimenetelmä auttaa nykyaikaistamaan suuria ja monimutkaisia sovelluksia häiritsemättä palvelua.
Ajattele kuristajaviikunaa: se alkaa pienenä köynnöksenä, kasvaa isäntäpuun ympärille ja lopulta peittää ja korvaa sen. Juuri näin toimimme ohjelmistojen kanssa!
Miksi monoliitti kannattaa hajottaa?
Monet vanhat järjestelmät on rakennettu monoliiteiksi eli yhdeksi tiukasti yhteen kytketyksi sovellukseksi. Monoliitit voivat olla hyvä lähtökohta, mutta niistä voi ajan mittaan tulla haastavia:
- Kehityssyklit ovat hitaita
- Yksittäisten osien skaalaaminen on vaikeaa
- Tekninen velka kasvaa suureksi
- Julkaisuihin liittyy enemmän riskejä
Strangler Fig -malli tarjoaa vähäriskisen tavan päästä monoliitista eroon.
Välityspalvelin käytännössä
Perusajatuksena on ottaa käyttöön uusi, ohut sovelluskerros, joka toimii olemassa olevan monoliitin edessä julkisivuna tai välityspalvelimena. Kaikki saapuvat pyynnöt ohjautuvat ensin tälle välityspalvelimelle.
Välityspalvelin päättää sitten, ohjataanko pyyntö vanhaan monoliittiseen sovellukseen vai uuteen, nykyaikaiseen mikropalveluun.
Ensimmäisen palvelun valitseminen
Ensimmäinen vaihe on tunnistaa monoliitista pieni, itsenäinen toiminnallisuuden osa tai ”rajattu konteksti”, jonka haluat irrottaa.
Etsi seuraavia:
- Ominaisuuksia, joilla on selkeät rajat
- Usein muuttuvaa toiminnallisuutta
- Alueita, jotka aiheuttavat skaalautuvuusongelmia
Aloita pienestä, jotta riskit pysyvät vähäisinä ja opit prosessin aikana.
Mikropalvelun kehittäminen
Kun olet valinnut ominaisuuden, rakennat täysin uuden mikropalvelun käsittelemään kyseistä toiminnallisuutta. Tämä uusi palvelu kehitetään nykyaikaisilla teknologioilla ja arkkitehtuurin parhaiden käytäntöjen mukaisesti.
Ratkaisevaa on, että uusi palvelu toimii itsenäisesti monoliitin koodikannan ulkopuolella.
Pyyntöjen asteittainen reititys
Kun uusi mikropalvelu on valmis, päivität välityspalvelimen. Sen sijaan, että se lähettäisi kaikki kyseiseen ominaisuuteen liittyvät pyynnöt monoliitille, se ohjaa ne nyt uuteen mikropalveluun.
Vanhan monoliitin kyseiseen ominaisuuteen liittyvää koodia ei enää käytetä, joten uusi palvelu on käytännössä ”kuristanut” sen pois käytöstä.
Esimerkki käyttäjäprofiilin päivittämisestä
Oletetaan, että monoliittisi käsittelee käyttäjäprofiileja. Päätät irrottaa toiminnon ”Käyttäjän sähköpostiosoitteen päivittäminen”.
- Rakenna uusi
UserProfileService. - Välityspalvelin tarkistaa saapuvista pyynnöistä polun
/api/users/{id}/email. - Jos kyseessä on sähköpostiosoitteen päivitys, välityspalvelin lähettää pyynnön palvelulle
UserProfileService. - Muut profiiliin liittyvät pyynnöt, kuten nimen vaihtaminen, ohjataan edelleen monoliitille.
Lopulta kaikki profiiliin liittyvät ominaisuudet on siirretty, ja vanha monoliitin koodi voidaan poistaa.
Asteittainen muutos
Strangler Fig -mallin hienous on sen asteittaisuudessa. Kaikkea ei kirjoiteta uudelleen kerralla.
- Irrota yksi ominaisuus.
- Testaa se perusteellisesti.
- Kasvata luottamusta ratkaisuun.
- Toista sama seuraavan ominaisuuden kohdalla.
Näin toiminta voi jatkua keskeytyksettä ja niin sanotun ”big bang” -uudelleenkirjoituksen riski pienenee.
Strangler Fig -mallin edut
Tämän mallin käyttäminen tarjoaa SaaS-tuotteen kehitykselle merkittäviä hyötyjä:
- Pienempi riski: Siirto tehdään yksi osa kerrallaan.
- Jatkuva toiminta: Pitkiä käyttökatkoja ei tarvita.
- Nykyaikaistaminen: Uudet palvelut käyttävät modernia teknologiaa.
- Parempi skaalautuvuus: Mikropalveluita voidaan skaalata itsenäisesti.
- Nopeampi kehitys: Pienemmät ja keskittyneet tiimit työskentelevät uusien palveluiden parissa.
Strangler Fig -mallin haasteet
Vaikka malli on tehokas, huomioi myös mahdolliset haasteet:
- Välityspalvelimen monimutkaisuus: Reitityskerroksesta voi tulla monimutkainen.
- Datan siirto: Uusien palveluiden tarvitsemien tietojen siirtotavan päättäminen voi olla hankalaa.
- Hajautettu monoliitti: Ilman huolellista suunnittelua mikropalvelut voivat päätyä tiukasti toisiinsa kytkeytyneiksi.
Suunnittelu ja selkeät rajat ovat avainasemassa!
Mallin ymmärtäminen
Mikä seuraavista on Strangler Fig -mallin ensisijainen hyöty monoliittisen sovelluksen uudelleenjärjestelyssä?
Kertaus: monoliitin asteittainen korvaaminen
Tänään tutustuimme Strangler Fig -malliin, joka on strateginen tapa nykyaikaistaa vanhoja monoliitteja mikropalveluiksi.
- Se käyttää välityspalvelinta liikenteen uudelleenohjaamiseen.
- Ominaisuudet irrotetaan ja rakennetaan uudelleen uusiksi palveluiksi.
- Prosessi on asteittainen, mikä pienentää riskejä.
- Keskeisiä hyötyjä ovat jatkuva toiminta ja nykyaikaistaminen.
Tämä malli on erittäin hyödyllinen, kun olemassa olevia SaaS-alustoja kehitetään ilman suuria häiriöitä. Jatkakaa rakentamista!
Opi SaaS-arkkitehtuuri ja startup-kehitys tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Strangler Fig -malli” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa SaaS-arkkitehtuuri ja startup-kehitys-oppimispolun 3 oppituntia, myös oppitunnin “Strangler Fig -malli”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Strangler Fig -malli”?
Sovellatte Strangler Fig -mallia monoliittisten sovellusten asteittaiseen refaktorointiin mikropalveluiksi häiritsemättä olemassa olevia toimintoja. Harjoittelet SaaS-arkkitehtuuri ja startup-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni SaaS-arkkitehtuuri ja startup-kehitys-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin SaaS-arkkitehtuuri ja startup-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Strangler Fig -malli”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä SaaS-arkkitehtuuri ja startup-kehitys-oppitunnilla?
Kyllä. Jokainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Strangler Fig -malli
- Uudelleenalustaminen vai refaktorointi
- Vaiheittaiset käyttöönotot ja testaus
- Tiedonsiirtostrategiat