Kubernetes — narzędzie do orkiestracji
Kubernetes, znany też jako K8s, to rozwiązanie, które po prostu uwielbiamy — nie ma drugiego takiego.
Kubernetes to open-source’owa platforma do orkiestracji kontenerów, służąca do zarządzania, wdrażania i skalowania aplikacji oraz usług konteneryzowanych. Powstał w oparciu o doświadczenie Google i innowacyjne pomysły społeczności, dzięki czemu jest precyzyjny i naprawdę użyteczny.
Co szczególnie cenimy? Kubernetes znacznie zwiększa efektywność — skracając cykle rozwoju oprogramowania i poprawiając wykorzystanie zasobów, co przekłada się na optymalizację kosztów. Ekosystem Kubernetes stale się rozwija i działa z wszystkimi głównymi dostawcami chmury publicznej: AWS, Azure i GCP.
Do czego sprawdza się najlepiej?
Świetnie sprawdza się, gdy musisz skalować zasoby lub zarządzać wieloma kontenerami.
Lubimy synchronizować Kubernetesa z popularnymi narzędziami do monitorowania, takimi jak Datadog i VMware.
Terraform — infrastruktura jako kod
Terraform umożliwia zarządzanie infrastrukturą jako kodem i jej przechowywanie. Działa z każdym dostawcą chmury oraz wieloma innymi dostawcami infrastruktury. Świetnie sprawdza się w złożonych projektach zespołowych realizowanych zdalnie. Umożliwia ustawienie kontroli dostępu i uprawnień, co upraszcza i zabezpiecza skomplikowane procesy.
Aby w pełni wykorzystać podejście “Infrastructure as Code”, zaleca się przechowywanie kodu w systemach kontroli wersji, takich jak Git, Mercurial czy SVN.
AWS
Amazon Web Services (AWS) to kompleksowa platforma chmurowa oferująca ogromny zakres usług, które ułatwiają migrację, wdrażanie, testowanie i uruchamianie aplikacji szybko i efektywnie kosztowo. Dzięki AWS możesz łatwo przenieść swoje obecne aplikacje do chmury.
Oferuje trzy główne modele usług:
- infrastruktura jako usługa (IaaS)
- platforma jako usługa (PaaS)
- oprogramowanie jako usługa (SaaS)
AWS oferuje ponad 200 usług, w tym Amazon EC2, Amazon RDS, Amazon S3, Amazon CloudFront i Amazon VPC.
Platforma jest skierowana do firm każdej wielkości, z naciskiem na optymalizację kosztów, elastyczność i innowacyjność. Uwielbiamy to, że usługi są dostępne na żądanie i płacisz tylko za to, czego faktycznie używasz (model pay-as-you-go).
Azure
Microsoft Azure wspiera aplikacje, zwiększając szybkość usług, poprawiając elastyczność oraz wspomagając integrację pipeline’ów CI/CD, odzyskiwanie po awarii i bezpieczeństwo.
Podobnie jak inni dostawcy chmury, Azure oferuje usługi IaaS, PaaS i SaaS. Wśród nich znajdują się m.in. Azure CDN, Azure Data Factory i Azure Backup.
GCP
Google Cloud Platform (GCP) to trzeci z głównych dostawców chmury. Podobnie jak AWS i Azure, pomaga osiągnąć efektywność i oszczędność.
Ułatwia modernizację infrastruktury i aplikacji. Obecnie GCP oferuje ok. 100 usług, w porównaniu do ponad 200 w przypadku AWS.
Trzy główne usługi GCP to:
- Google App Engine
- Google Compute Engine
- Google Kubernetes Engine
Docker — silnik konteneryzacji
Docker to jedno z kluczowych narzędzi do budowania, testowania i wdrażania aplikacji w szybki i efektywny sposób. W Devopsity używamy go z dumą, wiedząc że świetnie integruje się z AWS i umożliwia szybsze dostarczanie aplikacji.
Docker działa w oparciu o kontenery i zawiera wszystko, co potrzebne do wdrażania i skalowania aplikacji w dowolnym środowisku.
Jenkins — narzędzie automatyzujące
Jenkins to open-source’owy serwer umożliwiający budowanie, testowanie i wdrażanie oprogramowania w niezawodny sposób. Doskonale sprawdza się w procesach CI/CD.
Największe zalety Jenkinsa to:
- ponad 400 wtyczek wspomagających budowę i testowanie projektów
- ogromna społeczność
- ciągły rozwój
Prometheus + Grafana + Loki
Prometheus to open-source’owa baza danych typu time-series, przeznaczona do monitoringu. Zawiera platformę alertów Alertmanager i zbiera metryki infrastruktury, aplikacji oraz usług.
Grafana to platforma wizualizacji metryk zbieranych przez Prometheus, pozwalająca na tworzenie elastycznych dashboardów.
Loki to narzędzie do agregacji logów w architekturze mikroserwisowej.
Połączenie tych trzech narzędzi zapewnia świetną obserwowalność i cenne dane o wydajności aplikacji i infrastruktury.
GitHub — kontrola wersji kodu
GitHub to “encyklopedia” dla Twojego kodu.
To platforma, na której deweloperzy mogą:
- przechowywać wersje kodu
- dzielić się nimi
- korzystać z pracy innych
Dzięki temu możesz łatwiej budować, dostarczać i rozwijać swoje oprogramowanie razem z innymi.
Ansible — automatyzacja i provisioning
Ansible to open-source’owe narzędzie DevOps do automatyzacji konfiguracji, wdrożeń aplikacji i provisioning’u. Rozwijane przez Red Hat.
Pozwala pisać infrastrukturę jako kod (IaC), automatyzuje pipeline’y CI/CD i przyspiesza cały proces wdrażania aplikacji.
Datadog — monitoring i analityka jako usługa
Datadog to świetne narzędzie do monitorowania, analityki i bezpieczeństwa dla developerów, inżynierów DevOps i zespołów security.
Umożliwia:
- monitorowanie infrastruktury i aplikacji
- analizę logów
- obserwowalność w czasie rzeczywistym
Pomaga przy migracji do chmury, transformacji cyfrowej i współpracy zespołów. Pozwala zrozumieć zachowania użytkowników i śledzić kluczowe metryki biznesowe.
Bitbucket — alternatywny system kontroli wersji
Bitbucket to repozytorium kodu źródłowego, umożliwiające:
- przechowywanie wersji kodu
- wspólną pracę nad kodem
- testowanie i wdrażanie
Napisany w Pythonie, Bitbucket ma zabezpieczenia klasy enterprise i świetnie integruje się z Jenkins i Jira.
Oferuje większą elastyczność niż GitHub w niektórych obszarach i możliwość tworzenia wiki dla każdego repozytorium.
Jira — śledzenie i zarządzanie projektami
Jira to wszechstronne narzędzie do zarządzania projektami, które wspiera:
- budowę infrastruktury
- zarządzanie Agile
- śledzenie błędów
- rozwój oprogramowania
- zarządzanie marketingiem
Jira to najlepszy przyjaciel zespołów Agile. Oferuje doskonałą śledzalność — wszyscy w zespole mogą monitorować postępy, zadania, błędy i inne elementy projektu.
Slack
Slack to świetne narzędzie komunikacyjne, które sprawia, że praca zdalna jest prostsza i bardziej efektywna.
Choć nie jest narzędziem DevOps, doskonale wspiera zespoły DevOps. Oferuje:
- kanały grupowe
- wiadomości prywatne
- wideokonferencje
Primetric — zarządzanie czasem i zasobami
Primetric to chmurowa platforma do zarządzania projektami i finansami, zaprojektowana z myślą o firmach IT i usługach biznesowych.
Umożliwia:
- śledzenie dostępności pracowników
- analizę umiejętności
- monitorowanie postępów projektów
Dzięki analizie danych i prognozom, Primetric może pomóc zwiększyć rentowność projektów.