Sygnity

Artykuły

Sitecore – dokąd zmierzasz?

Mamy przyjemność żyć w czasach transformacji cyfrowej, gdzie pionierskie/nowatorskie rozwiązania są chlebem powszednim, a właściwie wymogiem, by dany produkt był najlepszy na rynku.

Czy rozwiązania Sitecore są najlepsze? Będąc ponad dekadę back-end developerem dla klientów korzystających z Sitecore XP oraz mając swój wkład w niektóre rozwiązania Sitecoreowe pozostawię, to jako pytanie retoryczne.

W tym artykule postaram się przedstawić jak postęp technologiczny i dojrzałość cyfrowa społeczeństwa wpływa na ofertę Sitecore. Zaczniemy od opisu kliku zmian historycznych w wersjach 6-8, potem poruszymy obecne rozwiązania 9-10 i zerkniemy w przyszłość, by spróbować przewidzieć, gdzie znajdziemy się w najbliższym czasie.

Przeszłość (Sitecore 6-8)

Wielu klientów zaczynających przygodę z Sitecore 6 używało będącej wtedy standardem technologii web forms. Był to bezpieczny wybór podczas gdy na rynku pracy mieliśmy developerów desktopowych wchodzących w świat web developmentu. Wystarczył doświadczony programista back-end i już mieliśmy osobę odpowiednią do zarzadzania architekturą rozwiązania. Częstym rezultatem były ograniczenia możliwości użycia najnowszych rozwiązań front-endowych oraz nieefektywna praca nad warstwą widoku, gdzie specjalista front-end nie znał komponentów asp.net, a specjalista back-end denerwował się, że traci czas na przepisywanie kodu z twórczości front-endu. Oczywiście takich problemów nie było w przypadku full-stack developerów, ale było ich zdecydowanie zbyt mało. Odpowiedzią rynku na te wyzwania była architektura MVC dająca większą kontrolę nad wynikowym kodem HTML. Sitecore idąc z duchem czasu bardzo wcześnie dodał wsparcie MVC do platformy. Strony stały się lżejsze, a co za tym idzie wydajniejsze. Większa kontrola nad kodem wynikowym pomogła angażować do zespołów web-developerów, którzy nie musieli borykać się z natywnymi rozwiązaniami Microsoftu. Platforma wspiera web forms i dziś, ale jest to zgodność wsteczna, a nie zaproszenie do tworzenia w tej architekturze. 

Podczas gdy konkurencja dostarczała rozwiązania CMS zawierające dużo, a czasami nawet za dużo elementów gotowych do użycia, Sitecore postawił na pełną elastyczność, dostarczając rozwiązanie, w którym to deweloperzy i klient decydowali o wymaganych dodatkowych modułach. Taki model biznesowy spowodował zaangażowanie wielu partnerów, którzy nie tylko dostarczali rozwiązania dla swoich klientów, ale również tworzyli własne moduły będące ich produktami dającymi możliwość innym firmom lepszego startu ich własnej implementacji. Na rynku pojawiło się kilka akceleratorów i setki dodatkowych modułów. Klienci mogli wybierać rozwiązania wyspecjalizowane do ich potrzeb.

W czasach otwartego oprogramowania warto wspomnieć o Sitecore Marketplace – miejscu stworzonym przez Sitecore, by każdy mógł zaprezentować i podzielić się swoim modułem.

Zdrowa konkurencja wśród partnerów doprowadziła do powstania wielu interesujących rozwiązań, jednak na dłuższą metę zbyt wiele modułów dostarczających różne implementacje podobnych funkcjonalności mogło przytłoczyć deweloperów chcących wybrać najlepsze dla danego klienta rozwiązanie. Na szczęście jeden z partnerów zapoczątkował akcelerator na tyle kompletny i uniwersalny, że Sitecore go nabył wraz z częścią zespołu i zaczął rozwijać jako swój produkt pod nazwą Sitecore Experience Accelerator (SXA).

Bycie systemem zarządzania treścią na rynku, który oferował już wiele podobnych rozwiązań nie było niczym szczególnym, dlatego rozwój części marketingowej i jej promocja była naturalnym kierunkiem rozwoju platformy. Sitecore Experience Platform (wcześniej Sitecore DMS) – A/B testy, personalizacja, profilowanie użytkowników, kampanie marketingowe, analytics… jednym słowem wszystko co wcześniej było realizowane przez zewnętrznych dostawców, a dostarczało wartość marketingową stało się częścią platformy. Jako rozwiązania natywne developerzy uzyskali większą kontrolę i wpływ na działanie tej części biznesu. Klienci już nie musieli szukać zewnętrznych rozwiązań i specjalistów.

By zapewnić wsparcie dla skalowalności danych analitycznych wprowadzono Sitecore Experience Database (xDB). Surowe dane zbierane były w wydajnej, nierelacyjnej bazie MongoDB i agregowane/przetwarzane do baz SWL-owych (reporting).

Zapewnienie możliwości wydajnego developerskiego wsparcia aplikacji na produkcji zawsze było istotną częścią platformy. Jednakże nawet najbardziej elastyczne i rozszerzalne środowisko, jeżeli wymagało wdrożenia, to czas reakcji był zależny od długości tego procesu. Wiele zespołów starało się dążyć do idei częstych (np. dziennych) wdrożeń, aczkolwiek dla sporej części było to jednak poza zasięgiem, co skutkowało 2-3 tygodniowym okresem od zgłoszenia zadania do jego wdrożenia na produkcji. W przypadku zadań utrzymaniowych istniała spora ilość, która była łatwa w implementacji, często jednorazowa i jedynym limitem był czas oczekiwania na wdrożenie. Moduł Sitecore Powershell zrewolucjonizował możliwości platformy dostarczając narzędzie do używania skryptów bez konieczności dokonywania kosztownych wdrożeń. Elastyczność i poziom wsparcia twórców modułu spowodował, że stał się on preferowanym narzędziem do tworzenia innych narzędzi platformy.

Rozwiązania chmurowe są już z nami od pewnego czasu. Wielu klientów już od dawna umieszczało swoje rozwiązania w chmurze, jednak nadal architektura bazowała na wirtualnych serwerach, niewiele różniąc się od użycia serwerów fizycznych. Istotne zmiany pojawiły się od wersji 8.2 gdy Sitecore XP uzyskał pełne wsparcie dla Azure Web Apps. Przejście z IaaS (infrastructure as a service) na PaaS (platform as a service) spowodowało, że ważne funkcjonalności takie jak auto skalowanie, wdrożenia typu blue/green, monitoring, integracja z Azure DevOps stały się dostępne od ręki i wspierane praktycznie bez wysiłku.

Podsumowując przeszłość jednym zdaniem: System zarządzania treścią rozwinął się w platformę marketingową zapewniającą funkcjonalności wymagane przez rynek.

Teraźniejszość (Sitecore 9-10)

Ogólny trend w kierunku mikro serwisów doprowadził do istotnych zmian w architekturze Sitecore XP. Wyodrębnienie xConnect pozwoliło na wykorzystanie części platformy bezpośrednio przez inne aplikacje. REST-owe API umożliwiło systemom wewnętrznym jak i zewnętrznym na dostęp i manipulację danymi klientów bez konieczności przechodzenia przez aplikację webową.

Jednak chyba najbardziej oczekiwaną funkcjonalnością jest natywne wsparcie platformy dla architektury headless. Oczywiście już wcześniej można było tworzyć tego typu rozwiązania, lecz wymagały one sporego nakładu pracy. Wraz z Sitecore JSS (obecnie Sitecore Headless Services) uzyskujemy narzędzia pozwalające w pełni korzystać z dobrodziejstw XP. Pełne wsparcie oraz przykładowe projekty dla najbardziej popularnych schematów znacznie zwiększyły możliwości pozyskania talentów odpowiedzialnych za poszczególne warstwy aplikacji. Aplikacje można tworzyć w trybie bezpołączeniowym, a potem zaimportować do Sitecore. Dodatkowe wsparcie przez SXA pozwala na tworzenie i zarządzanie aplikacjami headless bez konieczności dodatkowych wdrożeń. To znacznie przyśpiesza start projektu. Dla zespołów silnie związanych z .net, w wersji 10 pojawił się Sitecore ASP.NET Rendering SDK, który pozwala korzystać z architektury headless z zachowaniem .net-owego stosu technologicznego do renderowania HTML.

Kolejną istotną funkcjonalnością jest wsparcie dla kontenerów. Dynamiczny rozwój tej technologii w ostatnich latach spowodował, że rynek zaczął doceniać zalety konteneryzacji. Nie dziwi zatem fakt, że i Sitecore przechodząc na architekturę mikro serwisów wpasował się idealnie w możliwości tej architektury. Obszerna dokumentacja i przykłady pozwalają developerom nieobytym z tym podejściem na stawianie pierwszych kroków w świecie kontenerów.

Przy rozbudowanej architekturze do wsparcia opcji konfiguracji dostaliśmy Sitecore Installation Framework, gdzie za pomocą PowerShell-a możemy wpływać na skrypty instalacyjne. Dodając Sitecore CLI – interfejs linii poleceń do interakcji z platformą, zawierający między innymi moduły do serializacji i publikacji otrzymujemy niezastąpiony zestaw narzędzi do budowy i utrzymywania środowisk.

Drobnym krokiem w celu uproszczenia, a w zasadzie wpasowania się w umiejętności większości developerów stosu Microsoftowego jest zastąpienie MongoDB bazą SQLową. Dla 9 była to opcja, a od 10 standard.

Mikro serwisy, konteneryzacja, headless, ułatwienia DevOps, to super zalety z punktu widzenia developerów. Oczywiście z każdą nową wersją w platformie dochodzą też zmiany dla edytorów i specjalistów od marketingu.

Sitecore Forms w pełni zintegrowane z platformą są rozwiązaniem o wiele bardziej przyjaznym niż poprzednie moduły jak WFFM, które nierzadko były zastępowane innymi rozwiązaniami.

Marketing Automation z interfejsem „przeciągnij i upuść” to niebywały skok w ułatwieniu tworzenia i zarządzania procesami marketingowymi.

Opcjonalny dodatkowy interfejs do edycji treści, Sitecore Horizon, będący swoistym połączeniem części funkcjonalności obecnych narzędzi edycyjnych (Experience Editor, Content Editor) wzbogaconym o symulator urządzeń i wykres danych analitycznych jest ukłonem w kierunku osób skupionych na edycji treści, gdzie szybkość działania i dostępność najbardziej przydatnych funkcji jest ważniejsza niż mnogość opcji, których nie używa się do większości stron lub przeważnie wymagających większych uprawnień lub wiedzy.

Podsumowując ostatnie zmiany rozwiązania Sitecore: Usprawnienie interfejsu dla edytorów i specjalistów od marketingu. Zaadoptowanie nowoczesnej architektury mikro serwisów i konteneryzacji w celu usprawnienia skalowalności i wykorzystania części aplikacji przez nienatywne źródła danych. Wsparcie dla headless pozwalające na pełne wykorzystanie nowoczesnych rozwiązań i talentów specjalistów front-end.

Teraźniejszość (Sitecore CDP, Content Hub)

W dzisiejszych czasach rozwiązania chmurowe w modelu SaaS (software as a service) cieszą się rosnącym zainteresowaniem. Klient otrzymuje gotowy produkt, nie musi martwić się o infrastrukturę i ponosi tylko koszty użycia bez konieczności opłacania zespołu developerskiego. Dla większości rozwiązania „prosto z pudełka” są w zupełności wystarczające. Nie dziwi więc fakt, że Sitecore inwestuje w tego typu usługi i przejmuje dwa produkty, którymi wzbogaca swoją ofertę.

Sitecore Content Hub – produkt skupiający się na centralnym zarządzaniu zasobami cyfrowymi klienta, oczywiście wzbogacony o funkcje marketingowe. Sitecore XP również mógł spełniać tę rolę, jednak posiadanie produktu dedykowanego, który się skupia na tych obszarach i jest dostępny od ręki daje więcej możliwości, zwłaszcza integracji z już istniejącymi systemami klienta. Oczywiście Sitecore XP posiada moduły pozwalające na pracę z tym rozwiązaniem znakomicie łącząc te dwa produkty.

Sitecore Customer Data Platform – swoiste połączenie analytics z rozbudowaną częścią decyzyjną by wpływać na treści poprzez personalizację i eksperymenty by realizować cele marketingowe.

Przyszłość

Sitecore jak każda firma stara się odpowiadać na potrzeby rynku, czasami wyprzedzając je i oferując nowatorskie rozwiązania, a czasami po prostu wdrażając popularne trendy. Przełomowych zmian technologicznych nie sposób przewidzieć, zatem skupmy się na potrzebach potencjalnych klientów. Oczywiście każdy z nich chce osiągnąć swoje cele marketingowe jak najefektywniej, co nie zawsze jest równoznaczne z wyborem najlepszego dostarczyciela usług czy oprogramowania, zwłaszcza gdy migracja obecnie używanych rozwiązań jest kosztowna. Oczywiście sporo klientów zainwestuje i wybierze kompleksowe rozwiązanie oferowane przez Sitecore, jednakże większości wystarczyłyby tylko niektóre funkcjonalności (przynajmniej w początkowym okresie). Co zbliża nas do stosunkowo niedawno wprowadzonego określenia „Composable DXP”, czyli możliwości złożenia systemu z najlepszych na rynku klocków wchodzących w skład platformy marketingowej.

Nowe produkty (Content Hub, CDP) znakomicie wpasowują się w ten model i zapewne doczekamy się kolejnych. Czy będą to zupełnie nowe, odrębne części, czy może przeniesione do chmury do modelu SaaS elementy Sitecore XP – zobaczymy.

Czy oznacza to schyłek produktu Sitecore XP? Oczywiście, że nie. Nadal część klientów preferuje rozwiązania „on-premise”, gdzie sami mogą być odpowiedzialni za kwestie bezpieczeństwa i zarządzania platformą. Niektórzy będą zainteresowani tylko Sitecore XM i w naturalny sposób przejdą do rozwiązania XP. Dodatkowo platforma integruje się i/lub będzie się integrować z pozostałymi produktami Sitecore czyniąc ją nadal najbardziej elastycznym rozwiązaniem.