Co robicie w Cloud/Container (AWS, Azure, Docker, Kubernetes (GKE vs. AKS vs. EKS), OpenShift...?

0

Witam

Chciałem się Was zapytać, jakich funkcjonalnosci używacie zazwyczaj w pracy z AWS, Azure, Docker, Kubernetes (GKE vs. AKS vs. EKS), OpenShift... i co co mają one za zadanie zrobić?
(Np. w przypadku Dockera możliwość przeniesienia i uruchomienia skonfigurowanego kontenera na innym komputerze, a w przypadku Azure deploy aplikacji web do Azure Cloud.)
Chciałbym po prostu coś zacząć robić w Cloud/Container, ale nie wiem nawet na co zwrócić uwagę (co właściwie jest najbardziej przydatne/najczęściej używane), a materiałów do nauki jest np. z samego AWS albo z Kubernetes bardzo dużo.

Pozdrawiam

2

Ja używam w pracy głównie AWS i ... no używa się usług tejże chmury :) aby to co deweloperzy naklepali dało się uruchomić i po tym poklikać, i jest fajnie. Jak użytkownik poklika i zapłaci, to już w ogóle ekstra.

Materiałów jest od groma i narzędzi dużo, ale zacząłbym od podstaw. Na przykładzie AWS, od tych najczęściej używanych usług, czyli powiedzmy EC2, S3, RDS i może jakaś Lambda.

Ale z doświadczenia wiem, że to bez sensu. Bo jak nie pracujesz w firmie jako ktoś od chmury, to co masz niby wdrażać? Dlatego polecam ci inny sposób nauki. Weź sobie jakiś soft, który jest open-source, najlepiej coś webowego. Na przykład Wordpress. I teraz tak, szukamy czego by tu użyć w tej chmurze, żeby to odpalić. Nawet na siłę.

  1. No to mamy EC2. Bierzemy Ubuntu, szukamy tutoriala jak to ogarnąć - ściągamy zipa, instalujemy apacza+mysql i działa. Fajnie.
  2. Postawmy przed to load balancer, czyli ELB. Jest tylko jedna instancja, ale nie szkodzi.
  3. Może przenieśmy MySQL na RDS, bo czemu nie, skoro jest taka usługa?
  4. Przydałby się backup, bo a nuż coś. Może S3? Fajny byłby skrypcik, który raz na godzinę kopiuje /var/www/html do wiaderka S3 pod jakiś folder. Bazę też warto zrzucić. Ekstra.
  5. Wordpress ma coś takiego jak wp-cron. Lambda która odpala crona wordpressowego raz na 5 minut? Czemu nie :)
  6. Security by się przydało w końcu. Trza by zabezpieczyć serwer, żeby nie był publicznie wystawiony do świata, ale żeby dało się nim zarządzać. Security Groups + Session Manager
  7. Wpakujmy wszystko w Dockera. Może nawet Compose.
  8. No i na koniec nie może zabraknąć k8s, bo przecież wszyscy tego używają. EKS i jazda (aczkolwiek uwaga na koszty!)
1

W mojej poprzedniej pracy był AWS i korzystaliśmy sporo z tego co AWS oferuje ->

  • instancje na EC2
  • Route53 jako NS
  • ELB / ALB do load balancingu
  • Aurora z RDSa
  • S3 do serwowania dużych ilosci statycznego kontentu
  • Lambdy do triggerowania pewnych akcji co jakiś czas
  • Athena do robienia query po terabajtowych logach eventów
  • Kinesis do streamowania eventów
  • SQS i SNS do kolejkowania i asynchronicznego wykonywania zadań
    ...
1

Używam na co dzień AWS i robię tam przeróżne rzeczy. Przykładowo jutro będę stawiał serwer sFTP. Drobnostka, bo będzie to Transfer Familly czyli serwer zarządzany przez AWS. W najbliższym czasie będę robił integracje różnych systemów. Przykładowo mamy na AWS jakąś aplikację i chcemy udostępnić część API dla zewnętrznych podmiotów przez API Gateway. Robię również archiwum serverless. Przykładowo napisałem Lambdę, która zwraca presigned url do wgrywania pliku. Wołam tę lambdę przez Api gateway w mojej apce Reactowej i wgrywam pliki do bucketu. Gdy plik pojawi się na s3 wywołuję event, który wrzuca powiadomienie na kolejkę SQS. Następnie zdarzenie z kolejki podejmuje lambda, która odczytuje pliki i archiwizuje oraz tworzy wpis w Elasticsearch. Apka Reactowa łączy się z Elastikiem i udostępnia wyszukiwarkę zarchiwizowanych plików. Mega fajna zabawa, takie budowanie z lego całych systemów.

2

Mogę się pochwalić nie używaniem (jeszcze) żadnej usługi chmurowej typu Azure, GCP, AWS etc.

Natomiast w okół są Dockerile, docker-compose, Docker-Swarm, Kubernetes baremetal, RKE, był K3s, Microk8s.

Do czego?

  • Odpalanie internalowych aplikacji z Helma w RKE
  • Stoi tam CI
  • Kilka środowisk jednej aplikacji - dev, release, test i jakaś jeszcze jedna albo nawet dwie
  • GIT
  • Wewnętrzny Docker Registry
  • Jedna spora aplikacja produkcyjna
  • Monitoring

Ogólnie można wszystko i nie potrzeba do tego publicznych chmur. Jeżeli chcesz się wgryźć w ten temat to polecam nie zaczynać nauki od AWS i tym podobnych tworów, które mają wszystko opakowane i podane na tacy, a Ty tylko klikasz jak małpka. Rozsądniej jest zacząć od źródła, bo jak trafisz na środowisko w którym musisz sobie postawić koły klaster K8s, a będziesz obeznany z klikaniem go z GUI to zwyczajnie polegniesz na starcie.

Jeżeli programujesz w jakimś .NET / Java / Py / NodeJS / czymkolwiek to proponuję albo wziąć swój projekt, a jeśli takowego nie masz - github projektami stoi.

  • Wyszukaj jeden średniej wielkości
  • Trzaśnij do niego Dockerfile, a później przerób na docker-compose - tak żeby działało oczywiście
  • Najlepiej jakby aplikacja była oparta o mikroserwisy tak żeby można było mieć kilka gadających kontenerów
  • Strzel sobie lokalnie jakiś klasterek możesz z K3s
  • Upchnij tam tą aplikację z kontenera
  • Później możesz sobie walnąć do tego helm
  • Pobaw się skalowaniem tego, health-checkami (Liveness Readiness)
  • Dopnij sobie z kontenera oczywiście jakiś monitoring całej aplikacji

Wszystko to przy założeniu, że ogarniasz Docker i K8s. Jak uda Ci się robić takie rzeczy z 'palca' to później obsługa chmury z GUI będzie tylko formalnością w postaci zapamiętania gdzie jest jaka opcja żeby ją kliknąć.

2

Miałem okazje wykorzystać z AWS:

  • S3
  • EC2
  • SQS
  • KMS

W tej chwili próbuje sobie postawić lokalnie minikube + istio.

1

Używam sobie Azure, dla celów testowo/domowych:

  • Web Apps dla kilku prostych stronek (PHP, ASP.NET) i w ogóle prawie zawsze jak trzeba coś zademonstrować na szybko,
  • jedna z tych Web Apps wdrażana przez Azure DevOps (i w ogóle DevOps do CI/CD),
  • Blob Storage do trzymania m.in. backupów,
  • IoT Hub (i IoT Central) do wizualizacji danych z czujników,
  • różne zabawy z Cognitive Services, Face API.

A prawie wszystkie moje inne rzeczy webowe (strona, strona dla domowego IoT, strona dla znajomych, bot dla 4p) też zostały przeniesione całkowicie na Dockera, docker-compose i trochę się bawiłem swarmem na kilku Raspberry Pi w domu.

1

Gcp:

  • cloud functions, postgres sql, nosql, redis, memcache
  • big query
  • managed services dla vmek, autoskalowalność do dziesiątek tysięcy vmek
  • vmki na compute engine
  • load balancery, firewalle, labele
  • monitoring i alerting systemów
  • systemy plików
  • monitoring kosztów i exporty
  • pisanien customowych autoskalerow
  • machine learning na obrazach na produkcji
  • dialogflow i chatboty
  • iam i uprawnienia

Skupiłbym się:

  • na jakiś uslugach do vmek
  • 1-2 bazie danych
  • systemie plików w chmurz
  • jak to pointegrować
  • jak autoryzować się wewnatrz danej chmury

1 użytkowników online, w tym zalogowanych: 0, gości: 1