Petricore
Ekosystem aplikacji działających w chmurze


O kliencie
Petricore Group jest dostawcą wysokiej jakości usług w przemyśle naftowym. Zaprojektowaliśmy i zbudowaliśmy dla Petricore bezpieczną sieć usług chmurowych, które poprawiły komunikację badawczą. Musieliśmy zrozumieć cały proces badań geologicznych, zmapować przepływ informacji i znaleźć sposób na optymalizację procesów.
Wyzwanie
Potrzeba biznesowa Petricore polegała na zaprojektowaniu i wdrożeniu bezpiecznej sieci usług chmurowych, które poprawią komunikację, zoptymalizują operacje i przeniosą wszystkie dane do chmury. Wdrożenie tego rozwiązania, ułatwiającego pracę osobom zatrudnionym w firmie, wymagało szybkiego pozyskania zespołu z doświadczeniem projektowym i technologicznym, ponieważ Petricore nie dysponował zasobami, aby wewnętrznie zbudować złożone rozwiązania oparte na chmurze.


Rozwiązanie
Zaprojektowaliśmy, zaproponowaliśmy i wdrożyliśmy plan badań i innowacji. Musieliśmy sprawić, aby produkt był szybki w rozwoju i skalowalny. Używaliśmy Ruby i React, aby przyspieszyć programowanie i hostowaliśmy wszystko na Google Cloud Platform, aby zapewnić stabilność i skalowalność. Aplikacje musiały obsługiwać docelowo pliki bardzo dużych rozmiarów i posiadać złożoną wizualizację danych, aby narzędzie jak najlepiej służyło użytkownikom.

Przeniesienie tradycyjnego procesu do chmury na 3 kontynentach? Możliwe!
Rezultaty
Pierwsze narzędzie, które zbudowaliśmy, nazywa się CT Viewer i służy do obsługi skanów skał w tomografii komputerowej. Zbudowanie go oznaczało wsparcie i dostosowanie wielu wersji obliczeń do mapowania gęstości próbek gleby za pomocą uczenia maszynowego. Następnie zbudowaliśmy Petricloud - narzędzie do współpracy badawczej i repozytorium chmury dla danych laboratoryjnych w celu usprawnienia komunikacji naukowców. Musieliśmy zrozumieć cały proces badań geologicznych, zmapować przepływ informacji i znaleźć sposób na optymalizację procesów wewnętrznych klienta. Zbudowane przez nas narzędzie - PetriCloud - sprawia, że współpraca naukowa na trzech kontynentach jest płynna i błyskawiczna.



Diabeł tkwi w szczegółach
Przez cały proces projektowania musieliśmy pamiętać, że tworzone przez nas aplikacje będą częścią większego ekosystemu. Musieliśmy upewnić się, że nasze rozwiązania mogą zostać wdrożone i utrzymywane w obrębie całej infrastruktury IT.



Pracując nad projektem skupiliśmy się na wykorzystaniu najnowszych technologii.
Skoncentrowaliśmy się na obsłudze dużych obciążeń w wewnętrznej bazie danych, utrzymaniu stabilności platformy i zapewnieniu jej płynnego działania. Zakres technologii użytej w projekcie Petricore to:
- Ruby on Rails
- React
- PostgreSQL
- Google Cloud Platform
- Sendgrid (powiadomienia)
- Rollbar (oprogramowanie do śledzenia błędów)
- GitHub (przegląd kodu)
- Cloudflare (bezpieczeństwo)
- CircleCI (integracja)
Wymiana informacji jest jedną z najważniejszych wartości i podstawowych zasad, które wspieramy na każdym etapie procesu. Konwersacja odbywa się za pomocą narzędzi cyfrowych, więc szczegóły projektu są zawsze dostępne dla zaangażowanych osób. Używamy komunikatora Slack, narzędzia Jira do planowania projektu oraz narzędzia Github do recenzji kodu i przesyłania uwag w zespole deweloperskim.