Power Platform ili razvoj po meri: kako doneti odluku
Praktičan vodič za izbor između Power Platform i Dataverse rešenja i aplikacije po meri na Next.js, Node i PostgreSQL: licenciranje, podaci, UX i vlasništvo.
Sadržaj
Gotovo svaki projekat poslovne aplikacije koji dođe do nas počinje istim pitanjem: da li ovo raditi na Power Platform ili praviti aplikaciju po meri? Oba odgovora mogu biti ispravna. I oba mogu skupo da koštaju ako se izaberu iz pogrešnih razloga.
U nastavku su faktori koje sa klijentima prolazimo pre nego što projektujemo i prvu tabelu. Nijedan od njih sam ne odlučuje. Zajedno obično jasno pokazuju pravac, ili ukazuju na to da je najbolje kombinovati oba pristupa.
Krenite od toga ko koristi aplikaciju
Prvo pitanje nije tehničko. Tiče se ljudi koji će aplikaciju otvarati svakog dana.
Ako su korisnici vaši zaposleni, koji su već prijavljeni na Microsoft 365, Power Platform ima ozbiljnu prednost. Identitet, sigurnosne grupe, integracija sa Teams-om i pristup sa telefona dolaze uz platformu. Model-driven aplikacija na Dataverse-u donosi forme, prikaze, pretragu i bezbednost zasnovanu na ulogama, bez potrebe da se sve to piše od nule.
Ako su korisnici kupci, partneri, dobavljači ili šira javnost, slika je drugačija. Spoljnim korisnicima treba sopstvena registracija, vaš vizuelni identitet i često vrlo specifično korisničko iskustvo. Power Pages može da pokrije deo toga, ali je web aplikacija po meri tu često prirodniji izbor.
Licenciranje prati broj korisnika
Power Platform se licencira po korisniku ili po aplikaciji, uz posebne modele za spoljni pristup i kapacitet. Cena rešenja raste sa brojem ljudi kojima treba licenca, a ne sa obimom posla koji aplikacija obavlja.
Za tim od tridesetak internih korisnika to se obično lako opravda. Za nekoliko hiljada povremenih korisnika potrebna je pažljiva računica. Cene ovde namerno ne navodimo, jer Microsoft redovno menja planove i uslove. Pre odluke proverite aktuelne uslove Microsoft licenciranja za vaš konkretan slučaj, uključujući i to koji su konektori premium.
Aplikacija po meri ima drugačiju strukturu troškova: veće ulaganje u razvoj na početku, a zatim hosting i održavanje koji zavise od opterećenja, a ne od broja zaposlenih.
Pogledajte podatke
Dataverse je ozbiljna relaciona baza sa ugrađenom bezbednošću, audit logom i poslovnim pravilima. Za većinu poslovnih aplikacija podaci se u nju uklapaju bez problema.
Stvari se komplikuju u nekoliko konkretnih situacija:
- Veliki obim transakcija, na primer milioni događaja ili očitavanja senzora mesečno. Prostor u Dataverse-u se dodatno licencira, a intenzivno upisivanje brzo udara u ograničenja servisa.
- Složeni izveštaji koji spajaju više velikih tabela. Oni ionako najčešće završe u posebnom analitičkom skladištu.
- Podaci koji iz regulatornih ili ugovornih razloga moraju da ostanu na određenoj lokaciji ili u određenom sistemu.
PostgreSQL iza sopstvenog API-ja dobro podnosi velike količine podataka i složene upite, i daje vam punu kontrolu nad indeksima i šemom. Ali tada i bekapi, migracije i bezbednost postaju vaša odgovornost, a to je nešto što bi Dataverse inače rešavao umesto vas.
Budite iskreni u vezi sa UX zahtevima
Model-driven aplikacije su efikasne za unos podataka i back-office poslove. Nisu pravljene da izgledaju kao vaš brend, niti da korisnika koji ih prvi put vidi provedu kroz uglađen tok.
Canvas aplikacije daju više vizuelne slobode, ali postaju teške za održavanje kada se ekrani umnože, a logika rasporedi po formulama. PCF komponente pomažu da se popune konkretne praznine, kao što su prilagođena tabela ili mapa.
Ako je samo korisničko iskustvo srž proizvoda, front-end u React-u ili Next.js-u je obično bolja investicija. To važi za portale za kupce, samostalnu registraciju i sve gde je bitna konverzija.
Popišite integracije
Power Automate i katalog konektora omogućavaju da se mnoge integracije brzo podese. Povezivanje sa SharePoint-om, Outlook-om, Dynamics 365 ili nekim poznatim SaaS alatom često traje satima, a ne danima.
Ograničenja se pojavljuju kod:
- sistema koji nude samo SOAP, razmenu fajlova ili neobičnu autentifikaciju,
- integracija kojima treba precizno rukovanje greškama, ponovni pokušaji i idempotentnost,
- čestih sinhronizacija, gde ograničenja broja pokretanja flow-ova i throttling postaju problem.
U takvim slučajevima logiku integracije obično selimo u Azure Functions ili Node servis, čak i kada glavna aplikacija ostaje na Power Platform. Aplikacija po meri ovo rešava prirodno, ali svaki konektor koji biste na platformi dobili gotov sada morate sami da napišete i održavate.
Razmislite o vlasništvu i dugom roku
Kod razvoja po meri kod je vaš. Možete ga hostovati gde god želite, predati drugom timu ili promeniti pravac bez pitanja dobavljača. Ali i svaka bezbednosna zakrpa, ažuriranje biblioteka i odluka o infrastrukturi su takođe na vama.
Kod Power Platform, Microsoft održava platformu i objavljuje izmene po svom rasporedu. Imate manje operativnog posla i veliki broj ljudi na tržištu koji poznaju alate. Zauzvrat prihvatate ograničenja platforme, promene u licenciranju i određeni stepen vezanosti za dobavljača.
Nijedna opcija nije bolja sama po sebi. Pitanje je koji kompromis vaša organizacija može da nosi narednih pet do deset godina.
Ko će to održavati
Praktičan test: ko će menjati ovu aplikaciju za godinu dana? Ako imate, ili planirate da formirate, interni tim koji se snalazi u Power Platform, low-code rešenje može brzo da se razvija. Ako vaši programeri već rade u TypeScript-u i PostgreSQL-u, Power Platform aplikacija lako postane siroče koje niko ne želi da dira.
Hibridno rešenje je često najbolje
Mnogi naši projekti završe negde između. Čest obrazac izgleda ovako:
- Dataverse čuva ključne poslovne podatke i interne procese.
- Zaposleni rade u model-driven aplikaciji sa bezbednošću zasnovanom na ulogama.
- Portal po meri u Next.js-u služi kupcima ili partnerima i komunicira sa Dataverse-om preko zaštićenog API sloja.
- Azure Functions preuzimaju zahtevne integracije i zakazane poslove.
Tako interni korisnici dobijaju brzinu platforme, a spoljni korisnici iskustvo napravljeno za njih. Licence su pritom potrebne samo onima koji zaista rade u back-office-u.
Cena hibrida je arhitektonska disciplina. Potrebne su jasne granice, jedan vlasnik za svaki skup podataka i dosledan bezbednosni model na obe strane.
Hibrid nije kompromis kada je namerno projektovan. Postaje kompromis kada nastane slučajno.
Greške koje često viđamo
- Izbor Power Platform jer „ionako plaćamo Microsoft 365“, bez provere koje funkcije zahtevaju premium licence.
- Razvoj aplikacije po meri za deset internih korisnika, kojima bi model-driven aplikacija završena za nekoliko nedelja sasvim odgovarala.
- Guranje canvas aplikacije daleko preko njenih mogućnosti, dok je niko više ne sme bezbedno da menja.
- Pokretanje razvoja po meri bez budžeta za hosting, monitoring i redovno održavanje.
- Shvatanje odluke kao konačne. Dobro postavljen Dataverse model kasnije može da stoji iza front-enda po meri, a aplikacija po meri može da se poveže sa Power Platform tamo gde to ima smisla.
Kratka lista za proveru
Pre odluke, odgovorite pismeno na sledeća pitanja:
- Ko su korisnici i koliko ih je internih, a koliko spoljnih?
- Koliko košta licenciranje za današnji broj korisnika, a koliko za tri puta veći? Proverite aktuelne uslove Microsoft licenciranja.
- Koliko podataka će sistem imati za tri godine i kojom brzinom će rasti?
- Da li je korisničko iskustvo ono po čemu se izdvajate ili samo alat za obavljanje posla?
- Sa kojim sistemima aplikacija mora da se poveže i kako ti sistemi izlažu podatke?
- Ko će održavati i dograđivati aplikaciju posle puštanja u rad?
- Koliku vezanost za dobavljača možete da prihvatite i kako bi izgledao izlazak?
- Da li bi hibridna podela bolje odgovarala svakoj grupi korisnika?
Ako odgovori vode u različitim pravcima, to je sasvim normalno. Obično znači da pravo rešenje ima više delova, i da se isplati uložiti nekoliko dana u arhitekturu pre nego što se mesecima piše kod.