Świat IT cały czas bardzo dynamicznie się rozwija. Pojawiają się nowe technologie, nowe rozwiązania i modele biznesowe. Rozwiązania, które jeszcze nie tak dawno były szeroko wykorzystywane – jak np. architektura monolityczna - powoli są wypierane przez lepsze, bardziej elastyczne i wszechstronne pomysły.

Przykładem właśnie takiej zmiany w podejściu jest architektura MACH. W tym artykule poznasz podstawowe założenia tej architektury, dowiesz się, z czego się ona składa i jak wpływa na e-commerce.

Chociaż ciężko przewidzieć, jak świat online będzie wyglądać za 10 czy 15 lat, to jednak można podejmować pewne kroki, aby biznes był w stanie dopasować się do zachodzących na rynku zmian. Celem jest swobodny rozwój, niezależnie od tego, jak w przyszłości będą zmieniać się oczekiwania klientów i wykorzystywane technologie. I właśnie to ułatwia architektura MACH, czyli szereg rozwiązań technologicznych, które mają uczynić sprzedaż online odpornym na przyszłe zmiany.

Czym jest architektura MACH?

MACH to akronim, który odnosi się do czterech głównych zakresów tworzących tę architekturę. Te zakresy (a jednocześnie rozwinięcia tego skrótu) to:

  • Microservice-based (oparty na mikroserwisach)
  • API-first (wykorzystujący API)
  • Cloud-native (w pełni działający w chmurze)
  • Headless (rozdzielający front end i back end – ten ostatni element wymaga nieco więcej wyjaśnień, zaraz do tego przejdziemy)

Microservice-based

Aby dobrze wytłumaczyć, czym są i jak działają mikroserwisy, musimy cofnąć się w czasie i powiedzieć dwa słowa o modelu, który poprzedzał mikroserwisy. Chodzi o architekturę monolityczną. W aplikacjach, które były określane jako monolity wszystkie funkcje i elementy stanowiły jedną całość. Oznacza to, że, decydując się na dany produkt, klient otrzymywał gotowy zestaw. Był to po prostu gotowy produkt pudełkowy - każdy element był na stałe wbudowany w architekturę. Zmiana wiązała się z dużą ilościa pracy.

Nieco później, podejście do tworzenia aplikacji i stron internetowych zaczęło się zmieniać. Potrzebne było bardziej elastyczne rozwiązanie, którym okazały się właśnie mikroserwisy lub mikrousługi. W takim modelu dany produkt cyfrowy składa się z szeregu modułów, które odpowiadają tylko za określoną czynność lub obszar. Pozwala to na ich swobodne modyfikowanie i rozwijanie bez konieczności przebudowywania całej struktury.

Posłużmy się przykładem z e-commerce. Załóżmy, że uruchamiamy aplikację mobilną, która w swojej istocie udostępnia wszystkie najważniejsze funkcje sklepu – przeglądanie oferty, składanie zamówień, płatność i dostawę. Do tej pory sklep nie oferował płatności przy pomocy portfeli cyfrowych (takich jak Google Pay) i chcemy to zmienić. Jeśli aplikacja wykorzystuje mikroserwisy, jedyne co trzeba zrobić, to zmodyfikować sam moduł odpowiedzialny za płatności. Cała reszta może pozostać bez zmian. Korzyści są oczywiste – taka aktualizacja jest znacznie prostsza, szybsza i tańsza.

API-first

API to drugi i ostatni akronim na liście. Rozwinięcie to z angielskiego application programming interface (interfejs programowania aplikacji). W uproszczeniu API to rozwiązanie umożliwiające łatwą komunikację między różnymi produktami cyfrowymi – narzędziami, platformami i wtyczkami.

Znowu wykorzystajmy przykład e-commerce. Prowadzisz sklep internetowy, ale chcesz także sprzedawać na innych marketplace. Dzięki API możliwa jest łatwa integracja między sklepem a marketplace i systemem magazynowym (dzięki temu zarówno w sklepie, jak i na marketplace widoczna jest ta sama, aktualna informacja na temat dostępności produktów). Kiedy jakiś klient zamówi produkt, w sklepie także zmniejsza się jego dostępność, a system magazynowy otrzymuje informację o nowym zamówieniu. Wszystko odbywa się automatycznie i bardzo szybko.

Dzięki API możesz dokładać do biznesu nowe rozwiązania praktycznie bez ograniczeń. W ten sposób stosunkowo łatwo rozwijać możliwości i ofertę i to bez wprowadzania większego zamieszania w samym sklepie. Może się okazać, że w niedalekiej przyszłości będziesz chciał wykorzystać personalizowane rekomendacje produktowe, inteligentnego asystenta klienta lub oprogramowanie sterujące cenami w sklepie. Dzięki API nie będzie to stanowić większego problemu.

Cloud-native‌

Tego trendu chyba nie da się nie zauważyć – cały świat IT zmierza w kierunku chmury. Nawet programy i aplikacje, które jeszcze nie tak dawno były dostępne offline (w tzw. modelu on-premises) przechodzą w całości lub w większości do chmury. Taki los spotkał np. pakiet Microsoft Office, ale i wiele innych produktów i usług.

Dlaczego chmura zyskała taką popularność? Jest kilka powodów. Po pierwsze, to bardzo wygodne rozwiązanie – nie trzeba instalować gigabajtów oprogramowania na swoim komputerze. Do potrzebnego oprogramowania lub platformy łatwo dostaniesz się poprzez przeglądarkę internetową – o każdej porze i z dowolnego miejsca na świecie.

Po drugie, chmura jest szybka i bezpieczna. Dostawcy cloud computing dbają, aby dane przechowywane na ich serwerach były odpowiednio zabezpieczone, a komunikacja – szyfrowana. Standardową praktyką jest częste tworzenie kopii zapasowych, co oznacza, że nawet w wypadku poważnej awarii (która, dodajmy, jest mało prawdopodobna) będziesz w stanie szybko odzyskać utracone dane i postęp pracy. Jest to możliwe dzięki temu, że cloud computing wykorzystuje infrastrukturę IT, która często jest rozproszona, więc nawet problem (np. brak zasilania), nie spowoduje braku dostępu do zasobów.

Po trzecie i chyba najważniejsze, chmura jest łatwo skalowalna, a to kluczowe w dzisiejszym świecie. W normalnych warunkach, znaczne zwiększenie zapotrzebowania na przestrzeń dyskową lub moc obliczeniową skutkuje koniecznością dokupienia nowego sprzętu, co jest kosztowne i czasochłonne. W cloud computing wystarczy zgłosić zapotrzebowanie do dostawcy. A co, gdy zapotrzebowanie znowu spadnie, bo zbliża się sezon ogórkowy? Można znowu zmienić plan, tym razem na niższy. To bardzo elastyczne rozwiązanie.

Jak dostawcy całościowego ekosystemu sprzedażowego, dużą rolę przyłożyliśmy do rozwiazań cloud. Dlatego w pełni odpowiadamy za serwery i ich dostępność. Wykorzystaliśmy do tego model hybrid-tenant.

Zobacz tekst: Dlaczego stworzyliśmy własne rozwiązanie cloud?

Headless‌ (e-)commerce

To rozwiązanie, któremu należy poświęcić nieco więcej miejsca, bo wymaga wyjaśnienia, bo chodzi o rozdzielenie warstwy front end i back end. Przypomnijmy, że front end to wszystko to, co użytkownik widzi na ekranie komputera, wszystko to, co może kliknąć i z czym może wejść w interakcję. Back end to z kolei warstwa pozostająca niewidoczna dla klienta – to tutaj odbywają się wszystkie obliczenia, procesy i tutaj znajduje się cała struktura utrzymująca sklep lub aplikację.

Zobacz tekst: 5 sygnałów, że Twój e-commerce potrzebuje technologii headless.

W tradycyjnym modelu front end i back end ściśle ze sobą współpracują. Jeśli zmienia się coś we front endzie, będzie to oddziaływać na back end i odwrotnie. Niestety oznacza to, przeprowadzanie większych zmian lub modyfikacji w sklepie czy aplikacji wymaga ingerencji w obie warstwy. Niby nie stanowi to większego problemu, ale znów mówimy o większych nakładach czasowych i finansowych. I tutaj do gry wkracza model headless, który rozdziela warstwę back end i front end (w świecie e-commerce często stosowane jest określenie headless commerce). Skąd wzięła się ta nazwa? Headless oznacza z angielskiego bez głowy. Chodzi o warstwę back end, która w pewnym sensie „traci głowę”, czyli połączenie z warstwą front end.

Czym skutkuje rozdzielenie tych dwóch warstw? Przede wszystkim, niedoścignioną elastycznością. Działając w tym modelu, możesz swobodnie zmieniać wygląd, sposób działania i zachowanie sklepu. Możesz równie bezproblemowo wdrażać nowe usługi i rozwiązania. I w większości przypadków nie będzie to oznaczało drastycznej przebudowy warstwy back end. Jak zatem te dwie warstwy się ze sobą komunikują, skoro zostały rozdzielone? Zgadza się, poprzez protokół API, który omówiliśmy wcześniej, a który także stanowi jeden z kluczowych składników architektury MACH.

Zalety architektury MACH

Omawiając każdą z technologii, tworzących architekturę MACH staraliśmy się wspomnieć o konkretnych zaletach, jakie się z nią wiążą. Generalnie rzecz biorąc idea jest taka, aby biznes stosujący architekturę MACH był elastyczny w modyfikowaniu, przygotowany na nowe rozwiązania technologiczne i łatwo skalowalny.

Warto przemyśleć, jak Twoja firma wybiera dostawców i rozwiązania technologiczne. W dzisiejszych czasach sama cena i oferowane funkcje to za mało. Ważny jest sposób działania. Jeśli będziesz wybierać rozwiązania przyjazne środowisku online, skalowalne i łatwe w modyfikacji, to będziesz mógł w ten sposób łatwiej rozwijać biznes i czerpać z niego korzyści przez wiele lat.

Autorem tekstu jest Marcin Rutkowski.