O kliencie
CodeAlly to startup, który rozwija aplikację do weryfikacji umiejętności kandydatów na stanowiska techniczne.
Tworzone narzędzie pozwala przeprowadzić zdalną rekrutację z poziomu przeglądarki internetowej, gdzie kandydat (we własnym środowisku lub środowisku przygotowanym przez CodeAlly) rozwiązuje zlecone zadanie, a rekrutujący go specjalista może obserwować na bieżąco wprowadzane zmiany. Po zakończeniu prac kod jest uruchamiany w aplikacji, automatycznie sprawdzany, a wyniki udostępniane rekruterowi. Wykonane zadanie zostaje zapisane w chmurze, a maszyna wirtualna, która służyła za mikrokomputer kandydata, zamykana. Obecnie (maj 2021) CodeAlly wspiera ponad 20 języków programowania, frameworków i innych technologii używanych w codziennej pracy developera.
Adam Żaczek – founder i CTO – mówi, że głównym filarem CodeAlly jest rekrutacja, ale narzędzie sprawdza się też w procesie onboardingu, w realizacji kursów i szkoleń czy programowania w parze.
Jesteśmy zadowoleni z tego, ile można zrobić w Google Cloud Platform. Duże możliwości konfiguracji – to jest coś, na czym szczególnie nam zależało. W kwestii dopasowania rozwiązań pod potrzeby aplikacji GCP bije na głowę inne platformy chmurowe.
Główne wyzwanie
Generalnym wyzwaniem, przed którym stoi CodeAlly, jest wprowadzenie innowacji w obszarze rekrutacji specjalistów IT. Jak mówi Adam, znalezienie developera o odpowiednich kompetencjach jest czaso- i kosztochłonnym procesem i stanowi trudność dla wielu firm na całym świecie. Rekrutacja bywa też problematyczna dla kandydata, który nie zawsze ma możliwość pokazania pełni swoich umiejętności, ponieważ zadanie wykonuje w innym środowisku niż to, z którego korzysta na co dzień.
CodeAlly pozwala programiście wykonać zadanie w sposób najbardziej zbliżony do pracy na co dzień, a rekruterowi lepiej prześledzić sposób rozwiązania problemu, skrócić czas potrzebny na ocenę i wyłonić specjalistę najlepiej wpisującego się w potrzeby organizacji.
Dużą rolę w realizacji tej wizji odgrywa infrastruktura. Budując aplikację i planując jej dalszy rozwój, twórcy musieli zwrócić uwagę na takie obszary jak:
- dostępność i wydajność rozwiązania, by zapewnić stabilne połączenie wideo i natychmiastowe wyświetlanie wprowadzanych w kodzie zmian,
- skalowalność, ponieważ obok przewidywanego liniowego wzrostu liczby użytkowników obciążenie będzie zmieniało się w ciągu godzin,
- elastyczność kosztów i kontrola budżetu, będące następstwem m.in. konfiguracji maszyn wirtualnych odpowiednio do bieżących potrzeb czy automatycznego ich wyłączania po zakończeniu prac.
Rozwiązanie
Twórcy startupu testowali różne rozwiązania chmurowe – Google Cloud Platform, Amazon Web Services, Microsoft Azure czy Hetzner.
Finalnie zdecydowali się na rozwój aplikacji w chmurze Google. Za wyborem GCP przemówiły:
- szersze niż w przypadku innych chmur możliwości konfiguracji maszyn wirtualnych i zmiany ich parametrów,
- skalowalność i opcja natychmiastowego uruchomienia kolejnych instancji w sytuacji zwiększonego zapotrzebowania,
- automatyczne wyłączanie maszyn po zakończeniu prac (czego brakowało m.in. w rozwiązaniu Hetzner),
- najlepszy stosunek jakości do ceny – w przypadku CodeAlly koszt wybranych usług chmurowych jest niemal dwa razy mniejszy niż w innych chmurach publicznych,
- możliwość relatywnie łatwego uzyskania wsparcia dla startupów w postaci kredytów, co przekłada się też na prędkość rozwoju – ponieważ zaoszczędzone środki można zainwestować w rozbudowę produktu,
- wsparcie ze strony lokalnego Partnera Google Cloud – zarówno w kwestii większego obniżenia cen za moc obliczeniową, jak też zdobycia lepszej pozycji do potencjalnych negocjacji z firmą Google
GCP pod kątem kosztów wypada w naszym przypadku najlepiej. W chmurze Google płacimy dwa razy mniej, niż płacilibyśmy za to samo zużycie w AWS czy w Azure
CodeAlly jest startupem cloud-native – wszystkie elementy aplikacji i dane przechowuje na infrastrukturze Google Cloud Platform. Obecnie korzysta z trzech usług GCP:
- Compute Engine – usługi maszyn wirtualnych, które są konfigurowane i uruchamiane w zależności od zapotrzebowania (przypomnijmy: każdy developer otrzymuje swój “mikrokomputer” w chmurze Google, na którym wykonuje zadanie rekrutacyjne),
- Cloud Storage – magazynu chmurowego, w którym jest zapisywany kod kandydata oraz wyniki analizy,
- Operations (do niedawna pod nazwą Stackdriver) – pakietu narzędzi do śledzenia logów, monitorowania wydajności procesów i funkcjonowania usług w środowisku Google Cloud Platform, przez CodeAlly używanego do weryfikacji, czy instancje zostały prawidłowo zamknięte po zakończeniu pracy w aplikacji.
Rezultaty
Aplikacja CodeAlly została opublikowana w pierwszej połowie 2021 roku. Wyszła na rynek, mając już nawiązaną współpracę z freeCodeCamp – jedną z największych organizacji non-profit, wspierającą naukę programowania. To oznacza, że z CodeAlly niedługo zaczną korzystać tysiące użytkowników, a składową ich doświadczeń będzie też infrastruktura Google Cloud Platform – wydajna, wysoce dostępna i skalowalna.
Jak mówi Adam, aplikacja tak naprawdę nigdy nie zostanie ukończona – bo nie da się zakończyć prac nad produktem, który nieustannie się rozwija i ewoluuje. Kształt i funkcjonalności są dopasowywane do potrzeb bieżących klientów oraz przyszłych, którzy obecnie testują narzędzie. Obok rozbudowy aplikacji, startup chce w przyszłości zwiększyć zasięgi – wyjść na nowe rynki, zachowując wysoką wydajność dzięki opcji wynajęcia zasobów w dowolnym centrum danych z globalnej sieci Google Cloud.