W niniejszym artykule przedstawiam etapy projektowe, dylematy techniczne a także zastrzeżenia i oczekiwania dotyczące zagadnień takich jak migracja do chmury publicznej wraz z jednoczesnym planem modernizacji aplikacji. Znajdziesz w nim także omówienie (czasami koniecznych) kompromisów, jakie firmy muszą podjąć stając przed wyzwaniami związanymi z takim podejściem.

Jest to pierwszy tekst z serii poświęconej tematowi: migracja do chmury i modernizacja aplikacji. Zapraszam do lektury!

Wprowadzenie

Proces zbierania i mapowania wymagań architektury przed migracją do chmury, przedstawię na przykładzie rzeczywistych potrzeb biznesowych oraz cech architektury, a także funkcjonalnych i niefunkcjonalnych wymagań, jakie ta architektura musi spełnić. Duży nacisk położę na samą migrację i modernizację aplikacji, wykraczającą daleko poza tradycyjne podejścia typu „lift and shift”, a nawet poza standardowe wzorce takie jak, m.in. migracja np. do chmury PaaS.
Pomimo mocnego skupienia na wydajności technicznej, artykuł uwzględnia również czynniki biznesowe, które zostaną omówione szczegółowo w kolejnym materiale z serii. Aby urozmaicić tekst o migracji i modernizacji aplikacji, posłużę się realnym przykładem: aplikacją Airline Rewards.

Migracja do chmury i modernizacja aplikacji Airline Rewards: mapowanie wymagań architektury

Rozważania architektoniczne dotyczące modernizacji aplikacji Airline Rewards

Aplikacja, której używam jako przykładu, to aplikacja linii lotniczych, która pozwala na przydzielanie nagród i zwiększanie przywiązania użytkowników do marki. Jej obecna forma składa się z kilku prostych stron internetowych, które pozwalają zalogowanej osobie zobaczyć swoje przeszłe loty, przemierzone w ten sposób odległości (mile), segmenty, obecny status nagród oraz zarządzać prostymi informacjami o profilu, takimi jak nazwisko i adres. Pracownicy linii lotniczych mogą zarządzać kontami pracowników i klientów, edytować historię mil i segmentów, a także prowadzić sklep z nagrodami. Aplikacja jest dostępna tylko poprzez stronę internetową; nie posiada wersji mobilnej.

Linia lotnicza ma wielką wizję masowego rozszerzenia tego projektu, m.in. o:

  • możliwość pokazania nadchodzących lotów,
  • opcje anulowania i rezerwowania lotów za pomocą nagród,
  • integrację z partnerskimi liniami lotniczymi,
  • aplikację mobilną wraz z powiadomieniami SMS,
  • zarządzanie informacjami o płatnościach,
  • statystyki wokół historii podróży,
  • grywalizację związaną z historią lotów i aktualizacjami.

Możemy przyjąć pewne założenia dotyczące naszej wizji. Bierzemy monolityczną aplikację i migrujemy ją do mikroserwisowej platformy bezserwerowej, ze starszej monolitycznej, aby rozwiązać szereg rozważań opisanych poniżej. Chociaż nie ma nic z natury złego w monolitycznej aplikacji w jej obecnym kształcie, istnieją wymagania lepiej spełnione przez nową architekturę. Ponieważ aplikacja ma być wyposażona w znaczną liczbę dodatków do funkcji, obecny czas jest idealny, aby dokonać tych zmian.

Wyzwania związane z architekturą monolityczną: złożoność i skalowalność procesu migracji do chmury

Istniejąca architektura wykorzystuje nowoczesne podejście monolityczne, framework MVC (model view-control) oraz prostą bazę danych. Chociaż nie jest to złe podejście, wymaga ono, aby wszelkie zmiany w usługach były dobrze rozumiane przez większość zespołu programistów. W miarę rozwoju kolejnych usług migracyjnych i wdrażania nowych funkcji, zespół będzie się powiększał, aby pomóc w utrzymaniu rosnącej ilości usprawnień. Liczba funkcji i wewnętrzna złożoność każdej z nich rośnie i będzie rosła poza możliwości zrozumienia przez jedną osobę, uzasadniając tym samym potrzebę odmiennego, tj. niemonolitycznego modelu.

Poniższy diagram przedstawia istniejącą architekturę wysokopoziomową. Zauważ, że istnieje znacznie większa złożoność w bazie kodu, jeśli poszczególne ścieżki URL i punkty wejścia API miały być odwzorowane wraz z różnymi interakcjami i zależnościami struktury (framework’a). Dla zwięzłości wyłączymy je z istniejącej aplikacji – pokażemy je w późniejszych artykułach z serii.

Architektura jest prosta: dwie główne maszyny wirtualne działające redundantnie, za load balancer’em. Nie mają skonfigurowanego współdzielenia sesji, więc aktywne sesje traciłyby dane, a w środowisku chmurowym mogłyby wystąpić niezrównoważenie pomiędzy maszynami.

Rysunek 1: HLD (High-Level Architecture Diagram) istniejącej aplikacji

migracja i modernizacja aplikacji Airline Rewards: HDL (wysokopoziomowa) architektura obecnego rozwiązania

Uchwycenie wymagań technicznych i biznesowych dla złożonego systemu zarządzania użytkownikami

Dzięki wcześniejszym działaniom warsztatowym, możemy skategoryzować kilka wymagań. Niektóre z nich mogą być natury technicznej, inne będą umotywowane biznesowo. Razem zdefiniują przyszłe rozwiązanie i proponowaną architekturę.

Biorąc pod uwagę charakter aplikacji, będziemy mieli do czynienia z wieloma użytkownikami a co się z tym wiąże, także wieloma rolami, które muszą zostać zdefiniowane wraz z odpowiednimi uprawnieniami i widokami aplikacji. Chociaż niektóre z nich (ról) można pogrupować pod względem ogólnych uprawnień: np. grupa klientów/rodziny, agenci, pracownicy świadczeń i administratorzy; to i tak każda będzie potrzebowała własnej złożonej obsługi uprawnień i widoków. To wymaga dobrze przemyślanego systemu zarządzania użytkownikami, zdolnego do definiowania ról i polityk dostępu.

Tabela 1: Persony i kohorty użytkowników

 Persona Definicja
 Klienci linii lotniczychKlienci końcowi linii lotniczych; osoby, które kupują bilety i uczestniczą w programie lojalnościowym.
 Grupy rodzinnePołączone grupy klientów w ramach tego samego gospodarstwa domowego, którzy gromadzą i dzielą się korzyściami jako grupa.
  Agenci korporacyjniPracownicy korporacyjni odpowiedzialni za część lub wszystkie rezerwacje klientów indywidualnych
  Biura podróżyPojedynczy użytkownik lub grupa użytkowników, którzy mogą rezerwować, a następnie dokonywać zmian tych rezerwacji dla jednego lub wielu klientów jednocześnie.
 Agenci linii lotniczychAgenci wewnętrzni, którzy mogą dokonywać zmian w każdej rezerwacji dla każdego klienta.
 Pracownicy świadczeńPracownicy wewnętrzni, którzy mogą zmieniać przyznane nagrody, usuwać i modyfikować historię konta, ale nie mogą modyfikować ani tworzyć rezerwacji.
 Administratorzy aplikacjiPracownicy wewnętrzni mający kontrolę nad modyfikacją wszystkich kont uwierzytelniających: wewnętrznych i zewnętrznych, w tym innych administratorów.

Wymagania techniczne i cechy charakterystyczne dla platformy linii lotniczych

Wymagania dotyczące platformy dla nowej aplikacji obejmują kilka kluczowych cech, które są niezbędne dla nowoczesnej platformy chmurowej i jej właściwego funkcjonowania:

  • szybkie prototypowanie i wdrażanie nowych funkcjonalności,
  • możliwość powielania interakcji pomiędzy aplikacjami webowymi i mobilnymi bez konieczności ich całkowitego przepisywania,
  • wszystkie strony muszą być obsługiwane poprzez API i zdolne do ładowania danych z wielu wewnętrznych i zewnętrznych źródeł,
  • aktualizacja jednej platformy API (np. rezerwacje lotów) powinna być możliwa bez wpływu na zespoły pracujące w innych obszarach (np. świadczenia),
  • platforma musi wykorzystywać istniejące, gotowe do użycia rozwiązania dla wspólnych cech (np. do zarządzania użytkownikami, renderowania stron, API), tam gdzie to właściwe, w celu zmniejszenia obciążenia programistów i uproszczenia utrzymania,
  • nie musi istnieć wspólne repozytorium danych; komunikacja między funkcjami (np. rezerwacje a nagrody) będzie odbywać się za pośrednictwem API, a nie na zasadzie bezpośredniego dostępu,
  • platforma musi mieć możliwość łatwego wysyłania powiadomień SMS i email, a także powiadomień push z aplikacji (np. zmiana terminu lotu),
  • platforma musi być zaprojektowana z myślą o możliwości przechowywania i wykorzystywania informacji o kartach kredytowych i związanym z tym wpływem na zgodność z PCI,
  • platforma musi wspierać analitykę biznesową i generować wizualizacje statystyczne,
  • platforma musi posiadać mechanizmy zarządzania cyklem życia danych, ponieważ muszą być one dostępne dla różnych osób i celów regulacyjnych, w różnych odstępach czasu, a ostatecznie zostać zarchiwizowane.
  • platforma musi dostarczać usprawnienia i funkcjonalności dla pasażerów:
      • możliwość zapisania się do platformy nagród i rezerwacji,
      • wyszukiwanie, rezerwowanie, modyfikowanie, anulowanie i wyświetlanie nadchodzących lotów, w tym zmianę dat, klasy taryfowej i trasy,
      • wyświetlanie nagród, wykorzystywanie lub wymianę nagrody, przeliczanie nagrody od partnerskich linii lotniczych, otrzymywanie nagrody od partnerskich linii lotniczych i rozpoznawanie rezerwacji w partnerskich liniach lotniczych,
      • integrację z partnerskimi liniami lotniczymi w celu wysyłania informacji o rezerwacjach i wykorzystaniu nagród, w tym udostępnianie zdobytych punktów/segmentów (nagradzanych także przez partnerskie linie lotnicze),
      • śledzenie bagażu, najlepiej poprzez kody lotniskowe, odwzorowanie tras i opcjonalne tagi geolokalizacyjne z chipami obsługującymi 4g/5g,
      • umożliwienie użytkownikom zarządzania informacjami o profilu, powiązanych kontach/planach rodzinnych, informacjami rozliczeniowymi, zniżkami i innymi istotnymi danymi,
      • umożliwienie platformie oferowania motywacyjnych gier podróżnych, w tym gier typu „geocache” w obrębie lotnisk i wokół nich do wybranych miejsc docelowych, gier typu „złap flagę” z kodem QR, odznaczeń liderów i nagród,
      • umożliwienie pasażerom linii lotniczych sprawdzenie postępów w zakresie statusu nagrody, a także statystyki punktów.
  • platforma musi wspierać różne funkcjonalności agentów i pracowników świadczeń, w tym:
      • wyszukiwanie, zarządzanie i modyfikowanie rezerwacji, a także wszystkich informacji o trasie, miejscach siedzących, kabinie i innych informacji dotyczących danej rezerwacji/biletu/PNR,
      • łączenie profili, rezerwacji, PNR i innych wymagań i zgłoszeń od pasażerów,
      • resetowanie, odbieranie, tworzenie i ręczne rejestrowanie pasażerów,
      • podejmowanie działań na rzecz użytkownika w stosunku do konkretnej rezerwacji,
      • udzielanie zniżek, zwrotów kosztów i wymianę poniesionych kosztów z anulowanego, na inny bilet,
      • zarządzanie nagrodami i ich dostępnością.
  • Administratorzy muszą mieć możliwość zarządzania użytkownikami i przypisywania im ról, a także zarządzania agentami rejestracji i pracownikami wszystkich typów.

Aplikacja Airline Rewards

Zasadnicze wymagania dotyczące platformy:

  • łatwość obsługi przez użytkownika końcowego,
  • wersja mobilna,
  • możliwość zezwolenia zespołom programistów na rozszerzenie funkcjonalności poszczególnych elementów witryny,
  • uproszczenia funkcjonalności od strony technicznej, dla odciążenia zespołu programistów.
  • integracja API stron trzecich.

Filozofia wyboru cech dla migracji do chmury i modernizacji aplikacji

Ważne jest, aby zrozumieć i zaakceptować fakt, że nie można rozwiązać wszystkich potencjalnych problemów za pomocą pojedynczego narzędzia czy działania, a przynajmniej nie powinno to być głównym założeniem. Rozwiązania muszą spełnić najpierw podstawowe kryteria, które będą podlegać dalszym ustaleniom doprowadzając do ogólnego zarysu projektu, na podstawie którego następnie dopracowuje się poszczególne elementy. Istnieje nieskończona ilość sposobów na to, by określić charakterystykę i wyznaczyć logikę architektury rozwiązania. W tym artykule, skupiliśmy się na wykorzystaniu podejścia Marka Richard’a do cech architektury, dostosowując je do własnych, specyficznych przypadków użycia.

Intencją tego ćwiczenia jest wybranie najbardziej krytycznych biznesowo architektur, które zostały wcześniej zidentyfikowane, a następnie rozpatrzenie ich najlepiej jak potrafimy, biorąc pod uwagę kompromisy pomiędzy aspektami technicznymi w naszym ogólnym projekcie platformy.

Aplikacja Airline Rewards

Wybrane cechy architektoniczne

a. Ewolucyjność (rozwojowość)
Ze względu na stale zmieniający się charakter działań i oczekiwań klientów, wraz z niepewnością dotyczącą podróży, ograniczeń w podróżowaniu oraz dostarczaniu bodźców motywacyjnych użytkownikom, (nie wspominając o ekosystemie partnerstw, z którymi ta aplikacja musi współdziałać), ewolucyjność będzie podstawowym czynnikiem branym pod uwagę w przypadku tej platformy.

b. „Obsługiwalność”
Platforma musi być dostosowana do szerokiego grona potencjalnych odbiorców, zarówno z punktu widzenia technologii (np. starsze urządzenia, nowoczesne telefony i archaiczne API), jak i języków, walut oraz użytkowników niepełnosprawnych. API musi wspierać każdy interfejs na wypadek, gdyby pojawiły się nowe modele konsumpcji. Idealnie rozwiązanie to takie, w którym każda warstwa prezentacji  jest niezależna, aby umożliwić łatwiejsze przejście istniejących aplikacji na każdą technologię wyświetlania, która będzie potrzebna. Produkt rozszerza zakres profili, od skrajnie zaawansowanych do bardzo ograniczonych technologicznie, dlatego musi być prosty w obsłudze, a jednocześnie zapewniać zaawansowane funkcje dla dojrzałych technologicznie użytkowników i osób często podróżujących.

c. Bezpieczeństwo danych
System obsługuje i przetwarza znaczną ilość PII (informacji umożliwiających identyfikację osoby) klientów linii lotniczych. Są to m.in. informacje o rezerwacjach, numery KTN (numery podróżnych), numery odwołań, numery identyfikacyjne paszportów i informacje o kartach kredytowych: system przetwarza wrażliwe dane, które mogą stać się celem kradzieży finansowych i kradzieży tożsamości. Zagrożenie związane z cyberatakiem jest więc ogromne. Linie lotnicze są narażone na takie działania przestępcze jak m.in. podszywanie się pod pracowników, działanie tzw. złych aktorów a także proste uszkodzenia danych, które mogą mieć bardzo niekorzystny wpływ na życie klientów. Zapewnienie bezpieczeństwa i integralności centrum danych będzie nadrzędną cechą, której nie można negocjować.

Migracja do chmury i modernizacja aplikacji: drugorzędne względy

Chociaż nie są to główne założenia, musimy wziąć pod uwagę, że istnieją minimalne progi dla niektórych interakcji. W związku z tym udokumentowaliśmy przypadki użycia, które nie są głównymi decyzjami motywacyjnymi, ale tam, gdzie to możliwe i właściwe, powinny być uwzględnione.

a. Responsywność
Ponieważ aplikacja jest skierowana do użytkownika, musi reagować na dane wprowadzane przez niego. Mowa tutaj o szybkiej rakcji w przypadku długotrwałych interakcji (np. wyszukiwanie lotów w celu wyszukania skomplikowanych tras). Nie oczekujemy, że żądania będą w 100% realizowane w ramach progu Doherty’ego wynoszącego 400ms, ale wszystkie intearkacje muszą pokazywac jakieś działania mające miejsce znacznie poniżej tego progu.

b. Opłacalność
Zarówno koszty bezpośrednie, jak i pośrednie związane z prędkością są czynnikami motywującymi. Produkt ma budżet i ograniczenia czasowe, ale są one tylko ograniczeniami, a nie główną motywacją. Rozwiązanie, które kosztuje więcej lub jego stworzenie zajmuje więcej czasu, za to da lepsze doświadczenia użytkownikom lub pozwoli na szybsze tempo rozwoju produktu w przyszłości, jest akceptowalnym kompromisem.

Aplikacja Airline Rewards

Proponowana architektura rozwiązania: poziom podstawowy

Rozwiązanie przedstawione poniżej (rys. 2) posiada krótki opis (więcej szczegółów przedstawię w kolejnych artykułach) i pokazuje różne kompromisy podjęte w trakcie omawiania projektu, a także pełne opisy komponentów. Budujemy na architekturze bazowej, z biegiem czasu i wraz z pojawieniem się nowych potrzeb, dodając komponenty i szczegóły aby uzyskać w pełni rozwinięte rozwiązanie.

W przypadku architektury bazowej, podczas procesu projektowania skupiliśmy się przede wszystkim na znalezieniu odpowiedniej platformy, która byłaby oparta na mikroserwisach bezserwerowych (Serverless), ponieważ pozwoliłoby to dodać nowoczesne komponenty, w tym SaaS (oprogramowanie jako usługa), PaaS (platforma jako usługa) i DBaaS (baza danych jako usługa), według naszego uznania. Ta architektura może być opcjonalnie rozszerzona o obsługę dowolnej liczby różnych komponentów oprogramowania, od tradycyjnych VM (maszyn wirtualnych) i kontenerów API, przez tzw. „3cią stroną”, i inne usługi Serverless, od wybranego przez nas dostawcy chmury – w tym przypadku AWS. Platforma Serverless Microservices jest ściśle mówiąc zapożyczeniem z wielu stylów architektury, ale dobrze pasuje do tego konkretnego zestawu kryteriów problemu.

Proponowana architektura rozwiązania: wstępny wybór komponentów

Początkowy wybór komponentów pozwala na szybkie stworzenie prototypu i rozwój, dzięki wysoce „wtyczkowej” aplikacji (takiej, która może zostać zintegrowana z wieloma różnymi, innymi aplikacjami) pozwalającej różnym zespołom na niezależną pracę nad rozwojem funkcjonalności, za które odpowiadają.

Wykorzystanie wzmocnienia dzięki Cognito pozwala na:

  • obsługę znacznej liczby ogólnych zadań, takich jak obsługa użytkowników i sesji,
  • uwierzytelnianie, mapowanie ról i wiele innych czynności, które są zawarte w zgrabnym pakiecie do szybkiego wdrożenia,
  • szybsze cykle rozwoju, przy zmniejszeniu tzw. kosztów zasobów ludzkich.

Co więcej, platforma jest domyślnie przyjazna zarówno dla stron internetowych, jak i urządzeń mobilnych. Możliwość szybkiego tworzenia wielu widoków i interfejsów z treścią rozwiązuje wiele problemów związanych z obsługą, w tym interfejsów ADL (activities of daily living) dla osób niepełnosprawnych, (m.in. stron, które są przyjazne dla czytników ekranu i innych produktów wspomagających). Wreszcie, platforma jest bardzo przyjazna dla użytkownika, obsługując wiele ścieżek powiadomień, (w tym SMS w wielu krajach), i pozwala użytkownikom uwierzytelniać się za pomocą preferowanego dostawcy tożsamości, podczas gdy biura podróży i pracownicy wewnętrzni mogą korzystać z SAML i OpenID.

Proponowana architektura rozwiązania: bezpieczeństwo komponentów oraz przyszłe kierunki działania

Wszystkie wybrane komponenty:

  • są wysoce odporne na cyberataki i obsługują różne sposoby weryfikacji integralności danych i dostępu do nich,
  • rejestrują i audytują dostęp, zmianę kodu, danych , w tym dostęp do API,
  • są domyślnie bezpieczne, bazując na istniejącym zaufanym ekosystemie wspieranym przez AWS i sprawdzonym przez tysiące instalacji produkcyjnych. Koszt architektury może być stosunkowo niski, a świetnie nadaje się do szybkiego reagowania w razie problemów.

Szerszy opis poszczególnych usług, w tym ich wady i zalety z uwzględnieniem kwestii rozwoju oraz eksploatacji aplikacji, zostaną przedstawione w kolejnym artykule (plan całej serii umieszczamy na końcu tekstu). Przedstawione w niniejszym artykule komponenty nie są kompletną architekturą, stanowią jednak solidną podstawę, z której można budować jej zarys.

Rysunek 2: HLD (High-Level Architecture Diagram)

migracja i modernizacja aplikacji Airline Rewards App: HDL (wysokopoziomowa) architektura zmodernizowanego rozwiązania

Uwaga: Szczegółowe rozbicie składników oraz odwzorowanie stylów z HLD zostanie przedstawione w kolejnym artykule.

Podziękowania dla:

Co jeszcze przed nami? Migracja aplikacji i jej modernizacja – seria artykułów

W trakcie naszej „podróży” w kierunku migracji do chmury i modernizacji aplikacji wydarzyć się może wiele, od dyskusji nad koncepcją, do uzyskania pełnego planu aplikacji. W artykułach przedstawiamy dokładną analizę, chociaż w realnych sytuacjach, nie każda modernizacja aplikacje wymaga aż tak szeroko zakrojonych działań. Niemniej, podczas każdej, wykorzystane będą przynajmniej części omówionych przez nas metod. Dlatego w serii artykułów krok po kroku poprowadzimy czytelników przez proces aby pomóc im wybrać najważniejsze zagadnienia i zdecydować, jakie działania zastosować, a które odrzucić. Umieszczenie wszystkich kroków w jednym artykule stworzyłoby zapewne krótką książkę, a i tak nadal nie wyczerpywałoby w pełni zagadnienia.

  1. Etap Discovery & zbieranie wymagań biznesowych (artykuł wkrótce)
  2. Mapowanie uchwyconych wymagań i istniejącego rozwiązania do wysokopoziomowej architektury (omówione w tym artykule)
  3. Projektowanie procesów, sekwencji, UX Workflows & UI Wireframes
  4. Zaprojektowanie spójnego procesu wdrażania
  5. Tworzenie diagramów C4 (System Context, Container diagrams)
  6. Dołączenie raportowania i Business Intelligence (BI)
  7. Określenie ryzyk i migracji (biznesowych i technicznych)
  8. Tworzenie Architectural Decision Records (ADR), omawianie kompromisów i zbieranie informacji zwrotnych dotyczących decyzji
  9. Podział kosztów posiadania (wdrożenie, bieżące koszty operacyjne, bieżące koszty infrastruktury i chmury, bezpieczeństwa i ryzyka)
  10. Zdefiniowanie wspólnych definicji projektowych i glosariusza
  11. Stworzenie backlogu projektu (kamienie milowe, epopeje, przechwytywanie informacji niefunkcjonalnych)
  12. Rozważania dotyczące zarządzania operacyjnego i bieżącego
  13. Kompletny pseudo projekt gotowy do pracy (repozytorium GitHub)

_Wszystkie wpisy z tej kategorii

blogpost
Artykuły

6. biznesowych korzyści modernizacji aplikacji w chmurze Amazon Web Services. Pokonaj dług technologiczny

Oczywiste jest, że firmy muszą nadążać za szybko zmieniającym się krajobrazem cyfrowym, aby pozostać konkurencyjnymi. Modernizacja aplikacji w chmurze jest kluczową strategią aktualizacji przestarzałych systemów. Bez tego działania, nie da się w pełni wykorzystać zalet jakie oferuje chmura, takich jak te zapewniane przez jedną z najpopularniejszych na świecie platform chmurowych, Amazon Web Services (AWS). W […]

Czytaj więcej
blogpost
Artykuły

Podejście Cloud Native: Modernizować istniejące czy budować od podstaw natywne aplikacje chmurowe?

Czym są aplikacje wie chyba każdy. A jak jest z pojęciem Cloud Native? Być może każdy, no prawie każdy, coś słyszał i będzie miał swoje zdanie. Dobrze, to czym jest tak naprawdę Cloud Native Applications ( aplikacje natywne w chmurze / natywne aplikacje chmurowe) i samo podejście Cloud Native? Czy warto tworzyć nowe lub modernizować istniejące aplikacje do modelu Cloud Native, by usprawnić systemy i/lub przezwyciężyć dług technologiczny? W tym artykule postaram się odpowiedzieć na powyższe pytania oraz pokazać dlaczego podejście Cloud Native może być kluczowym elementem sukcesu transformacji cyfrowej każdej organizacji.

Czytaj więcej
blogpost
Artykuły

Czy sztuczna inteligencja zdominuje wizję przyszłości i rozwoju cloud computing?

Początek roku to okres wzmożonych podsumowań minionych miesięcy, a także przygotowywania planów na kolejne. W tym czasie pojawia się wiele mniej lub bardziej trafnych predykcji na temat tego, czego możemy spodziewać się w najbliższej przyszłości w ramach oferowanych przez dostawców usług w chmurze. W przypadku chmury obliczeniowej możemy z dużym prawdopodobieństwem przewidzieć, co w takich […]

Czytaj więcej
blogpost
Artykuły

Bezpieczeństwo chmury Azure: Jak zapewnić model Zero Trust i wykorzystać AI na swoją korzyść? (cz.2)

W poprzednim artykule poruszyliśmy temat czym jest model Zero Trust i dlaczego jest tak istotny w zapewnieniu najwyższego poziomu bezpieczeństwa zasobów firmy w chmurze i poza nią. W tej części będziemy kontynuować przegląd usług chmury publicznej Azure a także skupimy się na wątku AI w temacie bezpieczeństwa. Microsoft Defender dla chmury Microsoft Azure to rozległe […]

Czytaj więcej
blogpost
Artykuły

Bezpieczeństwo chmury Azure: Jak zapewnić model Zero Trust i wykorzystać AI na swoją korzyść? (cz.1)

Od czasu globalnej popularyzacji pracy zdalnej, zespoły cyberbezpieczeństwa stają przed coraz większymi wyzwaniami, aby zapewnić skuteczny i bezpieczny dostęp do krytycznych zasobów oraz danych organizacji, a także zagwarantować ich bezpieczne przechowywanie. Skomplikowane ataki phishingowe (wpływające krytycznie na bezpieczeństwo plików oraz infrastruktury), nie rzadko wspomagane AI, w wyniku których ujawniane są dane uwierzytelniające, pozwalają na ataki z […]

Czytaj więcej
blogpost
Artykuły

Czy Edge to nowa chmura?

Wiele organizacji, które przyjęły chmurę, traktuje Edge jako naturalne rozszerzenie swoich rozwiązań opartych na niej. Z drugiej strony, te firmy, które są na samym początku podróży ku chmurze, są często znacznie bardziej świadome możliwości obu technologii, więc rozważają ich równoczesne wykorzystanie od samego początku.Pytania są więc następujące:Czy Edge zastąpi chmurę? Czy korzystanie z Edge'a w chmurze przeniesie ciężar rozwoju oprogramowania z powrotem do on-premise? Wspólnie zastanówmy się nad odpowiedziami, zapraszam do lektury.

Czytaj więcej
blogpost
Artykuły

Obliczenia kwantowe: Kot Schrödingera zadomowił się w chmurze

Zapnij pasy i dołącz  do mnie w podróży do świata, w którym kot może być zarówno martwy, jak i żywy, a cząsteczka może znajdować się w dwóch miejscach jednocześnie. Odkryjemy fascynujący świat obliczeń kwantowych (Quantum Computing) i ich rolę w przetwarzaniu w chmurze.

Czytaj więcej
blogpost
Artykuły

Czy chmura hybrydowa i multi-cloud obronią Cię przed vendor lock-in? Czy rzeczywiście musisz się tego wystrzegać?

Uzależnienie od dostawcy (vendor lock-in), to pojęcie nad wyraz często łączone z branżą IT, a w ostatnich latach szczególnie z chmurą obliczeniową, chociaż zdecydowanie nie jest z nimi nierozerwalnie związane. Przez ekonomistów rozpatrywane było w szerszym kontekście na długo przed tym, kiedy świat po raz pierwszy usłyszał o AWS czy Azure. Z perspektywy klienta oraz użytkownika, zazwyczaj bywa postrzegane w negatywnym świetle, niejednokrotnie wywołując niechęć i strach przed skorzystaniem z danej usługi lub produktu.Na pierwszy rzut oka wydaje się, że w obszarze chmury publicznej problem nie jest błahy. Nawet główni beneficjenci zjawiska, czyli najwięksi dostawcy usług chmurowych, zdecydowali się poruszyć to zagadnienie na swoich oficjalnych stronach internetowych, więc najwyraźniej coś musi być na rzeczy…A czy faktycznie jest, sprawdzimy w tym artykule. Przyjrzymy się ryzykom, jakie niesie za sobą vendor lock-in dla organizacji planujących adopcję chmury. Zastanowimy się również, czy skorzystanie z usług kilku dostawców (multi-cloud) jednocześnie może być dobrą receptą na poprawę sytuacji. Ponadto, weźmiemy pod lupę chmurę hybrydową.

Czytaj więcej
blogpost
Artykuły

(r)Ewolucja w zarządzaniu danymi produkcyjnymi. Platformy danych w chmurze

Platformy danych oparte na chmurze stają się przełomem w zarządzaniu danymi produkcyjnymi. W przeszłości firmy zmagały się z zarządzaniem ogromnymi ilościami danych generowanych przez procesy produkcyjne bez wsparcia automatyzacjami, AI i często w modelu rozproszonym tzn. dane pochodziły i były wyświetlane w różnych źródłach. Nie było to ani wygodne, ani efektywne. Na szczęście ten czas już minął.

Czytaj więcej
blogpost
Artykuły

Jak AI Data Discovery pomaga firmom produkcyjnym?

Odkryj przyszłość przemysłu produkcyjnego dzięki usłudze AI Data Discovery i chmurze! Poznaj, jak te technologie i usługi eliminują straty i zwiększają efektywność branży produkcyjnej.

Czytaj więcej
blogpost
Artykuły

Jak właściwie rozumieć chmurę publiczną w 2023? I dlaczego jest to takie trudne?

Chmura ciągle się zmienia i ewoluuje. To co widzimy dziś, to nie to samo było wczoraj i nie to samo co będzie jutro. Jedyną stałą jest zmiana. Dziś rozmowy o zmianach nie prowadzi się tylko z działami IT, ale także i przed wszystkim z biznesem, z włączeniem działów marketingu, HR, czy finansów. Każdy z nich ma inne potrzeby i tak się składa, że wszystkie je można zaadresować chmurą.

Czytaj więcej
blogpost
Artykuły

Przyspieszenie wdrożenia koncepcji Przemysłu 4.0

Cyfrowa transformacja i podążanie w kierunku idei Przemysłu 4.0 oraz Inteligentnej Fabryki (w AWS) nie należą do łatwych. Najczęstsze przeszkody to utknięcie na etapie pilotażu i brak kontynuacji transformacji w kolejnych fabrykach (tj. skalowania). Brak skalowania, czyli brak kontynuacji transformacji kolejnych zakładów, to temat, na którym skoncentrujemy się w tym artykule. W tym przypadku producenci zmagają się z trudnościami w efektywnym odtworzeniu początkowych sukcesów cyfrowej transformacji (wdrożenia pierwszego MVP) w różnych lokalizacjach. Ten brak skalowalności może doprowadzić do spowolnienia tempa realizacji koncepcji Przemysłu 4.0 na szerszą skalę, a nawet do utraty poparcia zarządu.

Czytaj więcej
blogpost
Artykuły

Jak zbliżyć się do Przemysłu 4.0?

Rozwijaj biznes dzięki cyfrowej transformacji. Zmiany obejmują także komunikację i przygotowanie pracowników – bez ich poparcia i zaangażowania, wdrożenie będzie znacznie trudniejsze. Sprawdź, jak przygotować swoje zespoły do wdrożenia założeń Przemysłu 4.0 i Inteligentnej Fabryki.

Czytaj więcej
blogpost
Artykuły

Jak wdrożyć założenia Przemysłu 4.0 mądrzej, szybciej i łatwiej?

Pojęciem związanym z Przemysłem 4.0 jest Smart Factory - inaczej mówiąc "inteligentna fabryka". Ten typ fabryki oparty jest na zintegrowanych systemach przy wykorzystaniu przemysłowego Internetu Rzeczy i nowych metod organizacji produkcji. Celem jest zapewnienie wysokiego poziomu personalizacji produktów i realizacja procesów produkcyjnych przy minimalnym nakładzie pracy. Wdrożenie koncepcji Smart brzmi dobrze, ale wydaje się trudne do realizacji? Bez obaw, to będzie interesująca przygoda, pod warunkiem że po swojej stronie masz odpowiedniego przewodnika.

Czytaj więcej
blogpost
Artykuły

Jak optymalizować koszty chmury AWS z wykorzystaniem FinOps?

Chmura to nie on-premise Inżynierowie tworząc architekturę i powołując nowe zasoby w chmurze w sposób niejawny podejmują decyzje zakupowe. Czasem wielokrotnie wciągu jednego dnia! Każda z nich ma wpływ na wielkość rachunku wystawionego na koniec miesiąca przez dostawcę chmury publicznej. Dla organizacji z długą historią jest to zupełnie nowa rzeczywistość. Działom finansowym trudno odnaleźć się […]

Czytaj więcej
blogpost
Artykuły

Chmura napędza cyfrową transformację

Chmura coraz częściej stanowi kluczowy aspekt powodzenia procesu transformacji cyfrowej. Rozmowa z Christianem Thiem, starszym analitykiem biznesowym w TT PSC Germany GmbH, dostarczy odpowiedzi na pytania: co należy uwzględnić w harmonogramie migracji do chmury oraz jak przygotować organizację do jej wdrożenia?

Czytaj więcej
blogpost
Artykuły

Co musisz wiedzieć o serverless computing?

Serverless cmputing nadal budzi sporo wątpliwości, szczególnie wśród tych środowisk, które właśnie zaczynają korzystanie z usług chmurowych lub dopiero planują migrację do chmury swoich systemów. Na najważniejsze pytania dotyczące tego rozwiązania spróbujemy odpowiedzieć w niniejszym artykule.

Czytaj więcej
blogpost
Artykuły

Czym jest DevOps as a service i czemu warto z tego skorzystać?

Oszczędność, skrócenie czasu wdrażania zmian oraz weryfikowanie ich poprawności – to tylko kilka przykładowych korzyści, których gwarantem jest DevOps. Ta innowacyjna metodologia wprowadziła nową jakość pracy nad projektami IT. Bazuje na kooperacji autonomicznych obszarów: inżynierii oprogramowania, administracji oraz kwestii dotyczących bezpieczeństwa i jakości.

Czytaj więcej
blogpost
Artykuły

9 powodów, dla których powinno się wykorzystywać chmurę w prowadzeniu biznesu

Zgodnie z raportem firmy RightScale „2019 State of the Cloud Report from Flexera”, aż 94% firm używa chmury. To nie przypadek, że tyle przedsiębiorstw przechodzi na rozwiązania cloud computing. Z tego artykułu dowiesz się, dlaczego to taka popularna koncepcja, jak Twój biznes skorzysta na wdrożeniu chmury i dlaczego ten, kto jeszcze jej nie używa, zostaje z tyłu za konkurencją.

Czytaj więcej
blogpost
Artykuły

Jak zacząć przygodę z Azure i przygotować się do certyfikacji AZ-900

Zapotrzebowanie na specjalistów w obszarze Cloud stale rośnie. Jak zdobyć szeroki zakres kompetencji i szybko odnaleźć się w temacie chmury? Najlepiej zacząć od solidnych podstaw, czyli certyfikatu Azure AZ- 900.

Czytaj więcej
blogpost
Artykuły

Chmura na czas kryzysu, czyli jak usprawnić pracę w swojej firmie

Świat, który znaliśmy przez ostatnie lata mocno się zmienia. Wymusza na nas zmianę przyzwyczajeń, a także sposobów w jaki pracujemy i realizujemy nasze codzienne obowiązki. Zarówno te zawodowe, jak i te prywatne. Okoliczności, w których się znaleźliśmy sprawiły, że wiele osób pracuje teraz zdalnie.

Czytaj więcej
blogpost
Artykuły

Jak zadbać o bezpieczeństwo aplikacji serverless w AWS?

Konferencja AWS re:Invent 2019, podobnie jak jej poprzednie edycje, obfitowała w ciekawe wykłady typu breakout sessions, których celem było przybliżenie uczestnikom wybranego zagadnienia technicznego związanego z chmurą Amazon Web Services. Jedno z takich wystąpień zainspirowało mnie do napisania kilku słów na temat bezpieczeństwa aplikacji stworzonych w modelu serverless.

Czytaj więcej
blogpost
Artykuły

Parametry SSM w automatyzacji AWS

Jakiś czas temu zostałem zaangażowany w projekt, który miał dostarczyć Windchilla w sposób wysoko dostępny – w sumie nic nowego, klaster załatwia sprawę i w zasadzie można by na tym zakończyć temat, ale…

Czytaj więcej
blogpost
Artykuły

Jak dotknęliśmy chmur – relacja z AWS re:invent 2019

Udział w konferencji AWS re:Invent wymaga od uczestników, pomijając finansowanie, nieco zaangażowania i odrobiny samozaparcia. W naszym przypadku zakup wejściówek na konferencje w sierpniu rozpoczął długi proces przygotowywania i planowania udziału w tym wydarzeniu.

Czytaj więcej
blogpost
Artykuły

Najważniejsze nowości z AWS re:Invent 2019

Ciekawi Cię jakie nowości zostały zaprezentowane na AWS re:Invent, ale nie masz czasu stale przeglądać doniesień z Vegas? Nie musisz już szukać. Specjalnie dla Ciebie, w jednym miejscu, zebraliśmy wszystkie najważniejsze zapowiedzi, które są ogłaszane podczas trwania tej konferencji.

Czytaj więcej
blogpost
Artykuły

Jak wykorzystać Talend Open Studio w branży medycznej?

Wykorzystywanie nowoczesnych technologii w medycynie jest coraz powszechniejsze. Papierowe karty pacjentów wypadają z obiegu i zastępują je elektroniczne formy przechowywania danych. Proces digitalizacji służby zdrowia właśnie trwa! W jakich obszarach? Odpowiedź na to pytanie znajdziesz w dalszej części artykułu.

Czytaj więcej
blogpost
Artykuły

Czym jest chmura Amazon Web Services?

Chmura obliczeniowa to jedna z najdynamiczniej rozwijających się technologii na świecie. Stopniowo wypiera tradycyjne rozwiązania serwerowe, zgarniając dla siebie coraz większą część rynku. Firma badawcza Gartner przewiduje, że w 2019 całkowite wydatki na chmurę publiczną wzrosną o 17,5% i wyniosą 214 miliardów dolarów. Dla porównania budżet Polski na 2019 przewiduje przychody na poziomie 387,7 mld zł, czyli prawie 100 mld dolarów. Nie ma wątpliwości, że to duży i atrakcyjny to rynek.

Czytaj więcej
blogpost
Artykuły

Dlaczego serverless jest przyszłością aplikacji

Co kilka lat, w świecie IT, pojawia się nowe, przełomowe rozwiązanie. Aktualnie, wszystkie oczy są skupione na Machine Learning(ML) oraz Sztucznej Inteligencji(AI). Wcześniej były to kontenery, do których istnienia, chyba już wszyscy zdążyli przywyknąć. Jak się okazuje, to co kilka lat temu było absolutną nowością, dziś jest rutyną.

Czytaj więcej
blogpost
Artykuły

Windchill Single Sign On – jak z Amazon Web Services dostać się do Active Directory w sieci klienta?

Jednym z punktów migracji klienta do Amazon Web Services było włączenie SSO (Single Sign On) – co jest bardzo wygodnym rozwiązaniem. Po szybkiej weryfikacji (jakie mamy możliwości), okazało się, że możemy użyć ADFS. Klient już wykorzystywał ADFS pod inne usługi, zatem mogliśmy pominąć etap przekonywania Security Team. Po kilku dniach walki z różnymi zawiłościami Ping […]

Czytaj więcej
blogpost
Artykuły

Budujemy własne AWS Echo (z AWS Alexa na pokładzie)

Jak zamienić (nie)zwykłe RaspberryPi w AWS Echo komunikujące się z otoczeniem przy użyciu modułu konwersacyjnego AWS Alexa? Jak z jej pomocą zapytać o pogodę w Londynie, poprosić o wyłączenie świateł w domu czy umówić wizytę u dentysty? Jak w paru krokach rozszerzyć Aleksę o (praktycznie) dowolne funkcjonalności? Jak sprawdzić czy słuchający nas ludzie są zadowoleni, […]

Czytaj więcej
blogpost
Artykuły

Dlaczego rozwiązania Cloud?

Rozwiązania Cloudowe, czyli tak zwane Chmury Obliczeniowe, są w Polsce o wiele mniej popularne niż na Zachodzie Europy i w Stanach Zjednoczonych. Rynek jest młody i dopiero się kształtuje. Klienci stopniowo nabierają zaufania do tego typu rozwiązań.   Obawy polskich firm związnane z bezpieczeństwem / „chmurowe” doświadczenia przedsiębiorstw z całego świata. Rozwiązania Cloudowe oferują szereg […]

Czytaj więcej
blogpost
Artykuły

Rosnąca popularność modelu usług Serverless

Jeszcze nie tak dawno na DevOps Days Warsaw 2016 przewijały się przepowiednie o konteneryzacji i Dockerze jako technologii, która jest przyszłością. Każdy kto wówczas zainwestował swój czas w naukę Dockera z pewnością dziś tego nie żałuje. W TTPSC uważamy, że konteneryzacja nie jest ostatnim etapem ewolucji i zdecydowanie stawiamy na rozwiązania serverless jako ostateczny wynik […]

Czytaj więcej
blogpost
Artykuły

Chmura to przyszłość

Obecnie aż 63% firm przechodzi cyfrową transformację. Klasyczne, papierowe dokumenty są wypierane przez swoje elektroniczne odpowiedniki. Dzięki temu działy takie jak administracja czy księgowość znacznie zredukowały swoje wydatki oraz usprawniły działanie, gdyż przepływ danych stał się znacznie lepszy. Jednak magazynowanie tak dużej ilości dokumentacji elektronicznej nie jest prostym zadaniem. Dlatego w ostatnich czasach pojawiła się […]

Czytaj więcej
blogpost
Artykuły

Transition Technologies PSC uzyskało tytuł Standard Consulting Partner Amazon Web Services (AWS)

Z dumą oświadczamy, że partnerstwo Transition Technologies PSC oraz Amazon Web Services (AWS) wkroczyło na kolejny poziom. Kilka dni temu uzyskaliśmy status Standard Consulting Partner AWS w Polsce. Jest to potwierdzenie ze strony Amazon, że nasza firma posiada certyfikowanych specjalistów i ekspertów dziedzinowych, którzy są w stanie efektywnie pomagać klientom projektować, budować, migrować oraz zarządzać […]

Czytaj więcej

Zostańmy w kontakcie

Skontaktuj się