Wprowadzenie do wizji i architektury technologicznej firmy Omniaz

13 marca 2020 r.
Zbudowanie głębokiego rozwiązania technicznego w nowoczesnym środowisku rozruchowym może być trudne. Tak właśnie robi Omniaz - start-up z Singapuru, który buduje cyfrowe rozwiązania, aby na nowo zdefiniować przyszłość zakupów offline.

Mój zespół i ja nie jesteśmy nieznajomymi, którzy czają się w sieci w poszukiwaniu inspiracji na blogach tech i start-upach, i zawsze wiedzieliśmy, że pewnego dnia chcemy podzielić się naszą wiedzą również ze społecznością. I w tej chwili, z naszym pierwszym rozwiązaniem BevTech(DRNK:AR) gotowym do komercjalizacji, czujemy, że "kiedyś" jest już gotowe.

Żeby wszystko się zaczęło, będziemy regularnie publikować posty mówiące o technologii, która jest podstawą naszych rozwiązań, o tym, dlaczego je wybraliśmy, jak na nich bazujemy, jakie wyzwania stoją przed nami po drodze i jak je pokonujemy. Mam nadzieję, że z czasem spostrzeżenia moich kolegów z zespołu i mnie będą nadal podtrzymywać ducha współpracy w społeczności i inspirować kogoś innego po kolei.

Na razie zacznijmy od naszych początkowych ambicji i tego, jak stworzyliśmy stos technologii, który najlepiej odpowiada naszym potrzebom.

Ucieczka od nowoczesnej technologii

Omniaz zaczął od wielkiej wizji: cyfryzacji przemysłu alkoholowego.

Świadomi, że znajdujemy się u progu obiecującej ery AR i dysponując solidnymi możliwościami technologicznymi oraz know-how branży alkoholowej, podjęliśmy kolejny krok w kierunku określenia kluczowych wyzwań w branży, które stanowią dla nas obszar możliwości.

Stało się dla nas jasne, na czym powinniśmy się skupić, dlatego postanowiliśmy stworzyć nowy kanał medialny dla branży napojów alkoholowych. Chcieliśmy stworzyć nowy sposób interakcji między przedsiębiorstwami i konsumentami. Przewidywaliśmy, że ten ekscytujący, wciągający kanał z łatwością zmieści się w produktach i będzie oferował różnorodne doznania AR, począwszy od treści edukacyjnych, materiałów rozrywkowych, a nawet elementów z gier. Wszystko to, załadowane na żądanie do aplikacji na smartfony, w połączeniu z możliwością zbierania danych w czasie rzeczywistym oraz przetwarzania i analizy końcowej.

Stamtąd ekspansja na inne piony FMCG przyszła w końcu jako naturalna sukcesja.

Solidna architektura systemu jako podstawa

Jednym z głównych filarów, który umożliwił urzeczywistnienie naszych ambicji, jest nasz stos technologii i architektura, które są solidne, a jednocześnie na tyle elastyczne, że można je dostosować do zmieniających się potrzeb biznesowych.

Aby mieć jakiś kontekst, w jaki sposób nasza wizja przekłada się na technologię, trzeba zrozumieć kluczowe cechy rozwiązania, które budujemy:

  1. Dostępne na całym świecie i agnostyczne chmury
  2. Wysoka skalowalność zarówno dla przepływu danych, jak i bazy użytkowników
  3. Opracowane przez rozproszone zespoły i gotowe do skalowania zespołowego
  4. Bezpieczny z założenia

Mając to wszystko na uwadze, poszliśmy do deski kreślarskiej. Poniżej przedstawiamy na wysokim poziomie architekturę naszego systemu.

Choć powyższy diagram wydaje się prosty i intuicyjny, to jednak jego ogromna siła leży w synergii pomiędzy poszczególnymi komponentami stosu technologicznego.

W ramach naszej architektury wybraliśmy następujące technologie, które naprawdę dobrze ze sobą współpracują, ponieważ zostały do tego celu zaprojektowane:

  • Architektura oparta na mikrousługach
  • Język programowania Golang
  • ramy mikrousług gRPC
  • Kontenery magazynowe do realizacji usług
  • Kubernety do orkiestracji kontenerów dokowych
  • GraphQL API jako brama do systemu mikrousług
  • React Web i React Native dla aplikacji klienckich
  • C++ do wysokowydajnego mobilnego zestawu SDK AI/AR

Budowanie skalowalnych systemów technicznych dla nowoczesnych przedsiębiorstw rozpoczynających działalność

Zbudowanie głębokiego rozwiązania technicznego w nowoczesnym środowisku rozruchowym wymaga wszechstronnej technologii, wiedzy fachowej na temat tej technologii oraz wyjątkowego projektu systemu. Tradycyjne architektury i podejścia technologiczne wiążą się z wieloma ograniczeniami, które po prostu nie pasują do naszych warunków (np. rozproszone zespoły, dostępność kapitału, ograniczenia czasowe itp.), a ponowne wymyślenie koła nie wchodzi w grę. Dlatego też, uczenie się od liderów rynku i stosowanie sprawdzonych projektów i wzorców jest najlepszym sposobem na znalezienie środka pomiędzy solidnym, a jednocześnie szczupłym rozwiązaniem technologicznym.

Aby bardziej dogłębnie przyjrzeć się temu, w jaki sposób wykorzystaliśmy wybrany przez nas stos technologii w globalnym rozwiązaniu cyfrowym, jakim jest DRNK:AR, obejrzyjcie to miejsce na następną część tego bloga, która ukaże się za dwa tygodnie.

Călin Ciobanu
CIO i współzałożyciel
Călin jest doskonale zorientowanym liderem technicznym i architektem oprogramowania z ponad 8-letnim doświadczeniem w uruchamianiu systemów, prowadzącym zespoły w wielu obszarach rozwoju oprogramowania. Pasjonuje się mentoringiem i rozwijaniem talentów inżynierskich poprzez zachęcanie do wymiany wiedzy, zdobywania nowych umiejętności i rozwoju istniejących.