Integracja z SaaS – o co pytać?2024-08-10Cześć! Każdy z nas integrował się kiedyś z systemem zewnętrznym. W zależności od skali integracji takie wdrożenie może być banalne lub rozciągnięte na miesiące ciężkiej pracy. O co więc pytać, aby integracja była udana? O tym w dzisiejszym wydaniu. Mam również dla Ciebie 5 najciekawszych materiałów z ostatnich kilku tygodni. A więc w dzisiaj mam dla Ciebie: Miłego czytania 😀 Inżynierska prasówkaRozpoczynamy od spojrzenia AWS vs Google na CI/CD. Kończymy również z AWS, ale tym razem od strony usług. A pomiędzy znalazło się jeszcze miejsce na wdrażanie zmian w zespole, generowanie kodu przez LLM i automatyzację. Zapraszam 😃 1. Amazon and Google view CI/CD in an entirely different way - Carlos Arguelles 2. Optimization Gap - Kate Banas
3. Up to 90% of my code is now generated by AI – Adam Gospodarczyk
4. Automation Obsession: Are You Automating the Wrong Things? - Gojko Adzic
5. The end of the Everything Cloud – Forrest Brazeal
Pytania podczas integracji z SaaSOstatnio jako Fractional CTO pomagałem jednej z firm wybrać rozwiązanie klasy LIMS. Jest to inwestycja na lata, dlatego warto się do niej odpowiednio przygotować. Pomyślałem, że podzielę się z wami listą pytań, jakie warto zadać firmie, od której kupujecie software. Te pytania są skupione na kwestiach jakościowych – one są najczęściej pomijane w ramach dyskusji. Ale warto rozpocząć od kwestii najbardziej podstawowej… Dlaczego wychodzić poza wymagania funkcjonalne?Integracja zewnętrznego systemu SaaS to kuszące podejście:
Jednak najczęściej skupiamy się jedynie na analizie funkcjonalnej. Czy mamy feature X, jak w systemie zrobić Y, co daje nam opcja Z. Bez odpowiedniej analizy jakościowej i zadania właściwych pytań, możemy wpaść w pułapkę rozwiązania, które nie spełni naszych długoterminowych potrzeb: Wydajność i skalowalnośćJednym z głównych zagrożeń jest niedocenienie znaczenia wydajności, skalowalności i niezawodności systemu. Systemy SaaS, choć funkcjonalnie atrakcyjne, nie zawsze radzą sobie z pożądanym ruchem. Ryzykujemy wdrożenie rozwiązania, które szybko okaże się niewystarczające. Bezpieczeństwo i zgodnośćKolejnym istotnym aspektem jest kwestia bezpieczeństwa i zgodności z regulacjami. Integrując zewnętrzny SaaS, powierzamy często wrażliwe dane naszej firmy podmiotowi trzeciemu. Bez odpowiednich gwarancji i zabezpieczeń, narażamy się na potencjalne naruszenia prywatności, utratę kontroli nad danymi, czy problemy z compliance. To prowadzi do poważnych konsekwencji prawnych i wizerunkowych. Praca operacyjna i technicznaNie możemy też zapominać o aspektach technicznych i operacyjnych.
Te problemy mogą ostatecznie pogrążyć system. A więc wiemy już, że warto pytać. To teraz do sedna - o co pytać? 🤔 Obszary pytańPo zebraniu wszystkich kategorii i pytań postanowiłem je złożyć je w przystępniejszą do przyswojenia infografikę: Powinna Ci pomóc szybko pojąć kontekst i zrozumieć, o co pytać. Przejdźmy teraz dokładniej przez każdą z kategorii. W zagadnieniach wyodrębniłem mniejsze podkategorie i zdefiniowałem kluczowe pytania wraz z przykładowymi odpowiedziami. Do boju 💪 Dostępność i niezawodnośćIntegrując system SaaS, często zakładamy, że będzie on zawsze dostępny i niezawodny. Niestety, rzeczywistość bywa bardziej skomplikowana. Nawet najlepsze systemy miewają przestoje. Awarie grożą poważnymi kosekwencjami dla naszego biznesu. Dlatego kluczowe jest dokładne zbadanie kwestii dostępności i niezawodności jeszcze przed podjęciem decyzji o integracji. Gwarantowana dostępność
Na wstępie warto zweryfikować czy usługa w ogóle posiada SLA. Bo jeśli nie,to dalsze drążenie nie ma oczywiście sensu 😂 Następnie liczba 9-tek. Różnica pomiędzy 2 i 4, w skali roku, może wydawać się niewielka. W praktyce może mieć ogromne znaczenie dla naszego biznesu. Warto zastanowić się, jaki poziom niedostępności jesteśmy w stanie zaakceptować i czy jesteśmy w stanie za to więcej zapłacić.
Planowane przestoje mogą być mniej uciążliwe niż nieoczekiwane awarie, ale nadal będą prawdopodobnie zakłócać nasze procesy biznesowe. Warto wiedzieć, kiedy i jak często występują, aby móc odpowiednio zaplanować pracę. Kompensacja za niedotrzymanie SLA
Sama gwarancja SLA niewiele znaczy, jeśli nie idą za nią wiążące zobowiązania. Warto dokładnie przeanalizować, jakie są rzeczywiste konsekwencje dla dostawcy w przypadku niedotrzymania obiecanych poziomów dostępności. Mechanizmy zapewnienia ciągłości
To pozwoli nam ocenić, na ile możemy polegać na danym rozwiązaniu SaaS w krytycznych procesach biznesowych. Proces aktualizacji systemu
Częste aktualizacje wychodzą zazwyczaj na plus, ale jeśli wiążą się z regularnymi przestojami, mogą stworzyć problem dla naszych procesów biznesowych. Warto wiedzieć, jak często i w jaki sposób system jest aktualizowany. Skalowalność i wydajnośćCzęsto wybieramy zewnętrzny SaaS, ponieważ mamy odpowiednie potrzeby skalowania. Równie istotna jest jego wydajność, która bezpośrednio wpływa na produktywność użytkowników i satysfakcję klientów. Wybór systemu SaaS, który nie spełnia naszych oczekiwań w tych obszarach, może prowadzić do frustracji użytkowników, utraty klientów, a w skrajnych przypadkach - do przestojów w działalności firmy. Obsługa nagłych skoków obciążenia
Zdolność systemu do obsługi nieoczekiwanych wzrostów ruchu jest jednym z najważniejszych aspektów przyczyniających się do zachowania ciągłości biznesowej, szczególnie w branżach z sezonowymi wahaniami aktywności. Jeśli firma nie ma na to przygotowanej odpowiedzi, czyli po prostu robi to na czuja, warto dwa razy zastanowić się nad tym wyborem. Limity użycia
Zrozumienie limitów pozwoli nam ocenić, czy system będzie w stanie obsłużyć obecne i przyszłe potrzeby systemu bez dodatkowych kosztów lub spadku wydajności. Obecne obciążenia
Informacje o aktualnych obciążeniach systemu dają mierzalny punkt odniesienia potrzebny do oceny, czy będzie on w stanie obsłużyć nasze potrzeby. Szczególnie jeśli planujemy znaczący wzrost w przyszłości. Wydajność systemu
Wydajność systemu bezpośrednio wpływa na zadowolenie pracowników i klientów. Warto zwrócić uwagę nie tylko na średnie czasy, ale także na ich stabilność w różnych warunkach. Monitorowanie i raportowanie wydajności
Często tego akurat nie brakuje w ramach integracji z SaaS. A później szukamy igły w stogu siana – dlaczego nasze procesy działają wolno 🐌 Planowanie pojemności
Zrozumienie procesu skalowania pomoże nam uniknąć niespodzianek związanych z ograniczeniami systemu w momentach wzrostu naszej działalności. Testy wydajnościowe
Jest to szczególna potrzeba, ale wciąż – w przypadku biznesów, gdzie skalowanie jest kluczowe lepiej takie testy móc wykonać zawczasu. Zarządzanie danymiW erze technologii, dane są często nazywane “nowym złotem”. Wobec tego w kontekście integracji z systemem SaaS, kwestia zarządzania informacją wysuwa się na pierwszy plan. W momencie, gdy oddajemy kontrolę nad naszymi informacjami w ręce zewnętrznego dostawcy, narażamy się naszereg potencjalnych ryzyk i wyzwań. Dlatego tak ważne jest by zrozumieć, jak nasz potencjalny partner SaaS podchodzi do kwestii zarządzania danymi. Lokalizacja i dostęp do danych
Lokalizacja danych może mieć kluczowe znaczenie ze względów prawnych i regulacyjnych. Niektóre przepisy (np. GDPR) nakładają ścisłe ograniczenia dotyczące przechowywania danych poza określonymi regionami.
Zrozumienie, kto dokładnie ma dostęp do naszych danych, pomoże ocenić poziom bezpieczeństwa i potencjalne ryzyko wycieków. Wykorzystanie danych przez dostawcę
W dobie rosnącego znaczenia sztucznej inteligencji, wiele firm SaaS może chcieć wykorzystać dane klientów do trenowania swoich systemów AI. Warto dokładnie zrozumieć, jakie prawa do naszych danych zastrzega sobie dostawca. Eksport i przenośność danych
Możliwość łatwego wyeksportowania naszych danych jest kluczowa dla zachowania elastyczności i uniknięcia uzależnienia od jednego dostawcy (vendor lock-in). Separacja danych klientów
Stopień separacji danych ma ogromne znaczenie dla bezpieczeństwa i wydajności systemu. Osobne instancje zapewniają najwyższy poziom izolacji, ale mogą być kosztowne.
Nawet jeśli dane są logicznie odseparowane, mogą istnieć miejsca w architekturze systemu, gdzie dochodzi do ich przenikania. Uwierzytelnianie i autoryzacjaNa samym początku jest zawsze strona logowania. 😀 I to tu leży brama do potencjalnych problemów z integracją SaaS. W erze cyfrowej, gdzie naruszenia bezpieczeństwa danych są coraz powszechniejsze, a regulacje dotyczące prywatności bardziej i bardziej rygorystyczne, kwestie uwierzytelniania i autoryzacji nabierają krytycznego znaczenia. Single Sign-On (SSO)
SSO znacząco upraszcza zarządzanie dostępem, szczególnie w organizacjach korzystających z wielu systemów SaaS. Eliminuje potrzebę zapamiętywania wielu haseł, co może przyczynić się do poprawy bezpieczeństwa.
Wsparcie dla standardowych protokołów SSO ułatwia integrację z istniejącymi systemami zarządzania tożsamością w organizacji.
Niektórzy dostawcy traktują SSO jako funkcję premium, co może wpłynąć na całkowity koszt wdrożenia. Role i uprawnienia
Zrozumienie systemu ról i uprawnień jest kluczowe dla zapewnienia, że użytkownicy mają dostęp tylko do tych zasobów, których potrzebują do wykonywania swoich zadań.
Możliwość tworzenia niestandardowych ról pozwala na dokładne dostosowanie uprawnień do struktury organizacyjnej i procesów biznesowych. Zarządzanie tożsamością
Integracja z istniejącymi systemami zarządzania tożsamością upraszcza proces onboardingu i offboardingu pracowników. Uwierzytelnianie wieloskładnikowe (MFA)
MFA znacząco zwiększa bezpieczeństwo, szczególnie w przypadku dostępu do wrażliwych danych lub krytycznych funkcji systemu. Audyt i logowanie
Precyzyjne logowanie i możliwości audytu są niezastąpione, jeśli chodzi o wykrywanie potencjalnych naruszeń bezpieczeństwa i spełnienia wymogów regulacyjnych. Polityki haseł
Możliwość dostosowania polityk haseł pozwala na zharmonizowanie ich z wewnętrznymi standardami bezpieczeństwa organizacji. Dokładna analiza aspektów uwierzytelniania i autoryzacji zapewnia, że system SaaS będzie nie tylko funkcjonalny, ale także bezpieczny i zgodny z politykami organizacji. Pamiętajmy, że nawet najlepsze funkcje biznesowe mogą stracić na wartości, jeśli usługa nie zapewnia odpowiedniego poziomu kontroli dostępu i ochrony danych. Inwestycja w te aspekty może znacząco zmniejszyć ryzyko naruszeń bezpieczeństwa i uprościć zarządzanie dostępem w długiej perspektywie. Bezpieczeństwo i zgodnośćW dzisiejszym świecie cyfrowym, gdzie
kwestie bezpieczeństwa i zgodności wysuwają się na pierwszy planprzy wyborze systemu SaaS. Nie chodzi tylko o ochronę naszych danych, ale także o zapewnienie, że biznes pozostaje w zgodzie z obowiązującymi przepisami. Zaniedbanie tych aspektów może prowadzić do poważnych konsekwencji finansowych i wizerunkowych. Bezpieczeństwo data center
To pytanie pozwala od razu przekierować nas na właściwe strony, lub raczej szybko uciec od danego dostawcy 😉 Mechanizmy ochrony danych
Zrozumienie warstw zabezpieczeń stosowanych przez dostawcę SaaS pozwoli nam ocenić, czy są one wystarczające dla naszych potrzeb i zgodne z naszymi wewnętrznymi standardami bezpieczeństwa. Zgodność z regulacjami
Niezgodność z odpowiednimi regulacjami może prowadzić dopoważnych kar finansowych i problemów prawnych. Upewnijmy się, że wybrany system SaaS pomoże nam pozostać w zgodzie z przepisami, a nie narazi na dodatkowe ryzyko. Certyfikaty bezpieczeństwa
Certyfikaty są dowodem, że dostawca przeszedł rygorystyczne audyty i spełnia uznane standardy bezpieczeństwa. Warto zwrócić uwagę nie tylko na ilość i rodzaj certyfikatów, ale także na ich aktualność i zakres. Backup i odzyskiwanie danych
Częstotliwość backupów wpływa na to, ile danych możemy potencjalnie stracić w przypadku awarii.
Sprawność odzyskiwania danych może się okazać być albo nie być dla ciągłości działania biznesu. Warto znać nie tylko teoretyczne możliwości, ale też praktyczne doświadczenia dostawcy w tym zakresie. Plan przywracania systemu po awarii
Posiadanie i regularne testowanie planu odzyskiwania po katastrofie świadczy o dojrzałości technicznej dostawcy. Typowe problemy techniczne
To pytanie potrafi pokazać na ile szczery jest z nami dostawca. Problemy są zawsze, pytanie czy potrafimy się na nich uczyć. Integracje i APIDobrze zaprojektowane i udokumentowane API może znacząco zwiększyć wartość systemu, umożliwiając automatyzację procesów i wymianę danych. Z drugiej strony, ograniczone możliwości integracji niejednokrotnie będąprowadzić do powstania silosów informacyjnych i zwiększenia kosztów operacyjnych. Choose wisely. Dostępność i dokumentacja API
Rodzaj API wpływa bezpośrednio na łatwość integracji i wydajność komunikacji. Warto upewnić się, że oferowane API jest zgodne z naszymi preferencjami technologicznymi.
Dobra dokumentacja to po prostu szybsza integracja. Warto zwrócić uwagę nie tylko na kompletność dokumentacji, ale także na przykłady jej użycia. Stabilność i ewolucja API
Stabilne API pozwala na długoterminowe planowanie wdrożeń, podczas gdy częste zmiany mogą generować dodatkowe koszty utrzymania.
Wersjonowanie API z odpowiednim okresem wsparcia daje nam czas na dostosowanie naszych integracji do nowych wersji bez presji czasu. Gotowe integracje
Gotowe integracje znacząco przyspieszają wdrożenie – nie trzeba wszystkiego pisać od zera. Integracje specyficzne dla branży
W przypadku systemów dedykowanych dla konkretnej branży, dostępność gotowej integracji ze specjalistycznym sprzętem lub bazami oszczędza czas, energię i koszty. Mechanizmy reakcji na zdarzenia
Warto upewnić się, że system oferuje mechanizmy zgodne z naszą architekturą. Wsparcie i testyNawet najlepszy system SaaS kiedyś nas zawiedzie, jeśli nie mamy zapewnionego odpowiedniego wsparcia i możliwości testowania. Z drugiej strony:
Te aspekty często są niedoceniane na etapie wyboru systemu, ale mogą mieć ogromny wpływ na sukces całego projektu. Wsparcie techniczne
Warto dokładnie przeanalizować, jakie wsparcie będzie dostępne w krytycznych momentach i czy odpowiada ono naszym potrzebom biznesowym.
Szybkość reakcji wsparcia może być kluczowa w sytuacjach awaryjnych. Warto wiedzieć, czego możemy się spodziewać. Szkolenia
Nauka samemu trwa oczywiście o wiele dłużej niż dobre przeszkolenie zespołu przez firmę zewnętrzną. O ile takie szkolenia świadczy.
Łatwo dostępna i aktualna dokumentacja może znacznie odciążyć zespół wsparcia i przyspieszyć rozwiązywanie codziennych problemów. Środowisko testowe
Testowanie zmian przed ich wprowadzeniem na produkcję jest kluczowe dla minimalizacji ryzyka błędów.
Ręczne synchronizowanie konfiguracji pomiędzy środowiskami sprawia, że docelowo nikt tego nie robi. A przez to produkcja się rozsynchronizowuje z środowiskiem testowym. Czy mamy możliwość eksportu i importu konfiguracji między środowiskami?
Możliwość łatwego przenoszenia konfiguracji może znacznie przyspieszyć proces wdrażania zmian i testowania. Dostęp trial
Dostęp trial pozwala na dokładne zapoznanie się z systemem przed podjęciem decyzji o wdrożeniu.
Zrozumienie ograniczeń wersji trial pomoże zaplanować odpowiednie testy i prezentacje dla zespołu. Społeczność użytkowników
Aktywna społeczność to nierzadko cenne źródło wiedzy i wsparcia, uzupełniające oficjalne kanały. PodsumowanieKierując się powyższą listą, pamiętajcie, żeby najpierw dostosować ją do Waszej sytuacji. Nie zawsze mamy dane osób prywatnych, nie zawsze potrzebujemy integracji zewnętrzny, nie zawsze skala jest istotna. Context is the king. A teraz na koniec: daj znać, czy czegoś zabrakło – to wrzucę w kolejnej iteracji 😉 📧 Prześlij dalejDzięki, że doczytałeś(aś) do końca. 😊 Wszystkie poprzednie wydania newslettera są dostępne tutaj. Jeśli spodobał Ci się mój newsletter, prześlij go proszę osobom, którym też mógłby się spodobać. Z góry dziękuję. A jeśli nie jesteś jeszcze w newsletterze, to zachęcam do zapisania się. Polecam się na przyszłość! "Inżynierskie podejście do produktów cyfrowych." P.S. Co myślisz o tym newsletterze? Odpisz :) |