O firmie
Merixstudio to działający od ponad 20 lat software house, którego misją jest zamienianie idei w wysokiej jakości produkty cyfrowe. Najwyższej klasy specjaliści, tworzący zespół firmy, codziennie podejmują się rozwiązywania najróżniejszych wyzwań biznesowych, jakie stawiają przed nimi klienci. Ci ostatni w zdecydowanej większości pochodzą z rynków zagranicznych, w tym m.in. z USA, Wielkiej Brytanii, Europy Zachodniej, Zjednoczonych Emiratów Arabskich czy Malezji.
Na przestrzeni lat Merixstudio wspierał wiele startupów, budując ich produkty od podstaw. Dziś głównym zainteresowaniem software house’u z Poznania jest obsługa większych organizacji, dojrzałych firm, w których zajmuje się wprowadzaniem innowacji i skalowaniem też już istniejących rozwiązań. Wykorzystuje do tego m.in. narzędzia Google Cloud.
Zawsze jesteśmy żywo zainteresowani celami naszych klientów. Bardzo ważne jest dla nas to, jaki problem ma rozwiązywać przygotowane przez nas oprogramowanie. Dlatego też poświęcamy naprawdę wiele czasu na analizę potrzeb klienta. Często organizujemy w tym celu warsztaty – zarówno offline jak i online. Zależy nam na tym, aby nie tylko dostarczyć kod, ale też wyjaśnić klientowi, co może go spotkać w przyszłości i w jaki sposób może skalować dany produkt, kiedy będzie rozwijał swoją firmę.
Wyzwanie
Merixstudio zawsze stara się możliwie najgłębiej wejść w biznes klienta i zrozumieć realną potrzebę, dla zaspokojenia której chce on stworzyć dany produkt. Jak podkreślają pracownicy software house’u, opracowując dowolną aplikację – czy to mobilną czy to webową – myślą głównie o użytkowniku końcowym i o tym, aby stworzony przez nich produkt był dla niego możliwie najbardziej funkcjonalny.
W opozycji do tego podejścia często stoi ograniczony budżet, jaki klienci chcą przeznaczyć na wdrożenie danego rozwiązania. Rolą Merixstudio jest więc doradztwo przy doborze konkretnych rozwiązań technologicznych, a następnie wykorzystanie ich w możliwie najbardziej efektywny sposób.
I tu z pomocą przychodzą rozwiązania chmurowe, takie jak Google Cloud, w które nie trzeba wiele inwestować na początku działalności i które można w niezwykle prosty sposób skalować.
Rozwiązanie
Wraz z rozwojem firmy, Merixstudio najpierw wdrożyło rozwiązania Google Cloud u siebie, przenosząc do chmury wszystkie serwisy wewnętrzne, a następnie zaczęło proponować te rozwiązania swoim klientom.
W początkowym etapie budowania każdego cyfrowego biznesu Google Cloud daje elastyczność i stosunkowo niski pułap wejścia. Dostarcza gotowych rozwiązań, które pozwalają łatwo zbudować produkt. Relatywnie niski jest też poziom kosztów, który wraz z rozwojem produktu łatwo można skalować. Tak naprawdę to właśnie jest clou chmury.
Dziś w firmie nie ma tak naprawdę produktu, który jest osadzany w innych realiach, niż w chmurze. Google Cloud ułatwia inżynierom Merixstudio tworzenie rozwiązań szytych na miarę.
Narzędzia Google Cloud można porównać do zestawu klocków, w którym każdy klocek odpowiada za konkretną rzecz. Tworząc aplikacje, można na przykład wykorzystać klocek odpowiedzialny za bazy danych i za storage. Google Cloud daje narzędzia, które po złożeniu w całość przez odpowiednio wykwalifikowane osoby, tworzą infrastrukturę, na której aplikacja będzie działała odpowiednio i będzie skalowała się w zależności od tego, jakie usługi chcemy dostarczyć i dla jak dużej skali.
Merixstudio do chmury przeniosło nie tylko infrastrukturę, na której tworzy aplikacje, ale też oprogramowanie wykorzystywane przez pracowników do codziennej pracy biurowej. Rozwiązanie to jest wykorzystywane w firmie już od lat, a w jego wdrożeniu pomogło FOTC, które było odpowiedzialne za migrację kont pracowników (w tym firmowej poczty) do Google Workspace.
Wielokrotnie kontaktowałem się z supportem FOTC i za każdym razem sprawa była rozwiązywana w jednym, czasami trzech mailach. Szybki opis problemu z mojej strony, nadanie numeru sprawy, odpowiedź od przydzielonego pracownika FOTC, po którym następowało rozwiązanie problemu.
Rezultaty
Dziś, tworząc produkty cyfrowe, Merixstudio korzysta z wielu narzędzi Google Cloud. Najważniejszym z nich jest Kubernetes, który software house wykorzystuje do zarządzania infrastrukturą. Kolejnymi elementami są bazy danych i storage – służące do backupów, przechowywania plików i komponentów aplikacji. Prosta konfiguracja narzędzi Google Cloud znacznie przyspiesza pracę zespołu technicznego.
Merixstudio korzysta też z infrastruktury serverless, takiej jak Cloud Functions, gdzie obowiązują o wiele wyższe limity niż w analogicznym rozwiązaniu oferowanym przez chmurę AWS (Lambda).
Zarówno aplikacje mobilne, jak i webowe, tworzone są przy wykorzystaniu Dockera, co umożliwia konteneryzację. Następnie Cloud Run uruchamia w serverlessie konkretny kontener. To ściąga z DevOpsów szereg obowiązków i wyeliminowało wiele problemów, które występowały wcześniej.
Zanim tworzone aplikacje trafią na serwer produkcyjny, czyli do końcowego użytkownika, przechodzą na środowisko testowe. Kiedyś robiono to manualnie – potrzebne pliki kopiowane były na odpowiedni serwer. Obecnie wykorzystuje się do tego pipeline’y, Merixstudio korzysta na przykład z Kubernetesa, który odpowiada w firmie za środowisko testowe. Wszystkie zmiany wprowadzane przez dewelopera, trafiają do chmury i tam budują się na serwerze. Jest to postawione w taki sposób, żeby testerzy mogli wygodnie przejść do weryfikacji jakości kodu.
Google Cloud nadaje się do prototypowania pomysłów, dlatego że składa się z wielu elementów, które możemy poskładać w całość, i mamy nad tym kontrolę. Mamy kontrolę nad tym, jakich konkretnych usług potrzebujemy w danym momencie. Nie musimy od razu kupować czegoś, co będzie na zapas. Jeżeli będziemy mieć więcej użytkowników, możemy skalować określone usługi, a nie całą maszynę, jak ma to miejsce w przypadku rozwiązań on-premise. Nie wyobrażam sobie w sumie sytuacji, żeby w dzisiejszych czasach nie korzystać z chmury.
Innymi rozwiązaniami, z których korzystają specjaliści Merixstudio, są m.in. Firebase (służący w aplikacjach mobilnych do uwierzytelniania) oraz Flutter. Drugie z tych narzędzi, to technologia Google, która pozwala tworzyć aplikacje mobilne i bardzo dobrze współpracuje z Firebase. Dzięki połączeniu możliwości obu tych rozwiązań użytkownicy końcowi mogą się logować do aplikacji za pomocą Google’a, Facebooka czy innych systemów w aplikacji webowej i mobilnej.
Zarządzanie dostępami
Inżynierowie Merixstudio podkreślają też, że dzięki Google Cloud mają wiele możliwości zarządzania dostępami. Zespół firmy tworzy ponad 200 osób, więc takie rozwiązania pozwalają jej zachować odpowiednią kontrolę nad przetwarzanymi danymi.
Możemy dać dostęp konkretnym osobom do konkretnych usług i mieć nad tym kontrolę. Zawsze pojawia się pytanie, czy usługa chmurowa jest bezpieczna? Bezpieczna będzie do tego momentu, do którego będziemy wiedzieć, w jaki sposób należy skonfigurować konkretną chmurę. I tu pomocne są wewnętrzne zabezpieczenia Google Cloud, które w wielu przypadkach informują nas o tym, że na przykład dajemy za duże uprawnienia lub że dane ustawienie warto skonfigurować w inny sposób.
Budżetowanie i kontrola kosztów
Google Cloud dostarcza też szereg narzędzi umożliwiających kontrolę budżetu. Można tu ustawić alerty, które będą nas powiadamiać o tym, że założony budżet wkrótce zostanie przekroczony. Narzędziem, z którego sam często korzystam, jest predykcja kosztów. Rozwiązanie to sprawia, że po wprowadzeniu jakichś zmian możemy sprawdzić, czy nie poskutkują one na przykład zwiększonymi wydatkami w kolejnym miesiącu.
Google Workspace
Jak w wielu firmach, pandemia zmieniła sposób pracy również w Merixstudio. Wiele osób z zespołu wykonuje teraz swoje obowiązki zdalnie. Narzędzia Google Workspace sprawiły, że nagła zmiana sposobu pracy ze stacjonarnego na zdalny nie wpłynęła negatywnie na jakość świadczonej pracy ani samopoczucie poszczególnych członków zespołu. Pracownicy cały czas mieli ze sobą kontakt, między innymi łącząc się ze sobą za pośrednictwem Meeta.
Narzędzia Google Workspace są bardzo przyjazne dla użytkownika. Są miesiące kiedy dołącza do nas sporo osób, z których część nigdy wcześniej nie pracowała w tym systemie. Osoby te nie mają problemu z adaptacją do nowych narzędzi. Po krótkim wstępie, który robi nasz IT support, są w stanie bardzo szybko się przestawić na nowe programy. Interfejsy poszczególnych aplikacji są przyjazne i funkcjonalne, dzięki czemu poruszanie się po mailu, dokumentach czy kalendarzu jest bardzo proste i intuicyjne. To duże ułatwienie w codziennej pracy.
Osoby zarządzające instancją Google Workspace w Merixstudio cenią sobie szerokie możliwości administrowania zarówno kontami użytkowników, jak i konfiguracją ustawień poszczególnych aplikacji. Co zapewnia wygodę pracy i wysoki poziom bezpieczeństwa.
Wiele rzeczy w konsoli potrafimy znaleźć samodzielnie. A w sytuacji kiedy mamy z czymś problem, kontaktujemy się z supportem FOTC, który natychmiast reaguje na nasze zgłoszenia.