Działanie projektu
O projekcie
Potrzebujemy specjalisty DevOps do skonfigurowania infrastruktury gotowej do produkcji dla aplikacji internetowej z architekturą mikroserwisów oraz automatyzacji procesu wdrażania.
Obecny stan
Mamy aplikację składającą się z czterech głównych komponentów oraz dwóch baz danych:
Komponenty aplikacji:
- Frontend: klient Next.js
- Backend: serwer NestJS (główne API)
- Bot: bot Python
- Mikroserwis: mikroserwis NestJS (działa z oprogramowaniem specyficznym dla Windows)
- Bazy danych: MongoDB, Redis
Infrastruktura:
- Serwer 1: Linux (dla głównej logiki aplikacji)
- Serwer 2: Windows (dla mikroserwisu)
- CI/CD: częściowo skonfigurowane dla Frontendu, Backend i mikroserwisu
- Rejestr kontenerów: GitHub Container Registry
Pipeline CI/CD jest częściowo skonfigurowane dla frontendu, głównego serwera i mikroserwisu, automatycznie publikując nowe wersje obrazów w GitHub Container Registry. Dla bota Python konieczne jest jeszcze utworzenie Dockerfile i integracja go z istniejącym pipeline.
Główne zadania
1. Dokończenie konteneryzacji i CI/CD
Należy dopracować automatyzację budowania dla wszystkich komponentów:
- Utworzyć Dockerfile dla bota Python
- Zaktualizować pipeline CI/CD, aby uwzględniał bota
- Zapewnić automatyczną publikację wszystkich obrazów
2. Konfiguracja klastra Kubernetes
To główna i najtrudniejsza część pracy. Konieczne jest wdrożenie hybrydowego klastra z nietypową architekturą: główna logika aplikacji będzie umieszczona na serwerze Linux, a mikroserwis musi działać na Windows, ponieważ współpracuje z programem, który istnieje tylko pod Windows.
Kluczowe wymagania:
- Automatyczne śledzenie zmian w Container Registry
- Automatyczne wdrażanie zaktualizowanych obrazów
- Rolling updates dla bezproblemowej aktualizacji
- Stabilna komunikacja między węzłami Linux i Windows
3. Rozmieszczenie komponentów na węzłach
Węzeł Linux:
- Frontend (Next.js)
- Backend (NestJS)
- Bot (Python)
- MongoDB
- Redis
Węzeł Windows:
- Mikroserwis (NestJS)
- Specyficzne oprogramowanie Windows
4. Bezpieczeństwo i konfiguracja sieci
Krytyczne jest poprawne skonfigurowanie architektury sieciowej. Użytkownicy powinni mieć dostęp tylko do aplikacji klienckiej, wszystkie pozostałe komponenty muszą być odpowiednio odizolowane.
Wymagania bezpieczeństwa:
- Skonfigurować polityki sieciowe i reguły zapory sieciowej
- Zamknąć wszystkie porty oprócz niezbędnych
- Zapewnić dostęp tylko do aplikacji Frontend
- Skonfigurować domenę creonix.io z certyfikatami SSL
5. Skalowanie i równoważenie obciążenia
Preferowane jest skonfigurowanie poziomego skalowania dla komponentów, gdzie jest to możliwe, z load balancerem do rozdzielania obciążenia.
Ważne ograniczenie: mikroserwis musi działać wyłącznie w jednym egzemplarzu, ponieważ powiązany z nim program Windows nie obsługuje uruchamiania równoczesnego.
Wymagania wobec specjalisty
Obowiązkowe umiejętności:
- Doświadczenie z Kubernetes (w tym Windows nodes)
- Znajomość Docker i konteneryzacji
- Doświadczenie z konfiguracją pipeline CI/CD
- Znajomość bezpieczeństwa sieci i konfiguracji zapory
- Doświadczenie z GitHub Actions lub podobnymi narzędziami
Atuty:
- Doświadczenie z MongoDB i Redis w Kubernetes
- Znajomość Helm charts
- Doświadczenie z monitorowaniem (Prometheus, Grafana)
- Zrozumienie specyfiki hybrydowych klastrów Linux/Windows
Szczególnie cenimy specjalistów, którzy mieli już do czynienia z hybrydowymi klastrami i rozumieją specyfikę komunikacji między węzłami Linux i Windows.
Oczekiwane rezultaty
Ostatecznie chcemy uzyskać:
- W pełni zautomatyzowany system wdrażania
- Bezpieczną i skalowalną infrastrukturę
- System monitorowania stanu aplikacji
- Szczegółową dokumentację konfiguracji i obsługi
- Przekazanie wiedzy zespołowi do dalszej obsługi
Forma współpracy
Rozważamy usługi konsultingowe z możliwością pracy zdalnej. Preferowana jest etapowa realizacja z prezentacją wyników pośrednich i cotygodniowymi spotkaniami w celu synchronizacji.
Ważne jest, aby specjalista był gotowy nie tylko do realizacji rozwiązania technicznego, ale także do wyjaśnienia zasad działania naszemu zespołowi, aby mógł on samodzielnie obsługiwać system w przyszłości.
-
573 9 0 Stale administruję serwery, także konfiguruję ci/cd dla projektów.
Podpowiem, gdzie można tanio znaleźć hosting w razie potrzeby
Skonfiguruję ci/cd
Rozwieję własny hosting git do kontrolowania infrastruktury
Będę w przyszłości monitorować system
Skonfiguruję wykresy przez grafana
Piszę na prywatne wiadomości
-
1874 81 0 Dzień dobry!
Mam doświadczenie z większością technologii z TZS i konfiguracją pipeline'ów. Szczegóły w prywatnej wiadomości.
-
Яку cloud платформу ви використовуєте?
-
Aktualne zlecenia dla freelancerów w kategorii DevOps
Konfiguracja systemu kopii zapasowej i optymalizacja infrastruktury serwerowejCel prac: Zapewnienie niezawodnego przechowywania danych systemu CRM i aplikacji poprzez wdrożenie zautomatyzowanego systemu tworzenia kopii zapasowych (Backups), a także przeprowadzenie szeregu poprawek serwerowych w celu zwiększenia stabilności, bezpieczeństwa i wydajności… DevOps, Bazy danych i SQL ∙ 1 dzień 9 godzin temu ∙ 23 oferty |
Rozwój projektu Ruby on Rails na VPS + Routing e-maili przychodzącychPotrzebna pomoc w wdrożeniu platformy do automatyzacji zapytań o informacje publiczne (na bazie open-source silnika Alaveteli). Projekt działa jak router pocztowy: generuje unikalne adresy e-mail dla każdego zapytania, wysyła je do organów państwowych, a odpowiedzi przyjmuje z… DevOps, Linux i Unix ∙ 7 dni 11 godzin temu ∙ 11 ofert |
Inżynier infrastruktury proxy mieszkalnychBudujemy sieć proxy dla użytkowników od podstaw — w pełni własną, bez dostawców zewnętrznych. Potrzebujemy jednego wyjątkowego inżyniera sieci, który zbuduje całą podstawę techniczną. Co zbudujesz: - SDK w tle dla Androida, które kieruje ruch proxy przez urządzenia użytkowników… C i C++, DevOps ∙ 9 dni 13 godzin temu ∙ 15 ofert |