sposób Google

od Gmaila do YouTube, aby wyszukać, wszystko w Google działa w kontenerach. Konteneryzacja pozwala naszym zespołom programistycznym działać szybko, wydajnie wdrażać oprogramowanie i działać na niespotykaną dotąd skalę. Każdego tygodnia uruchamiamy ponad kilka miliardów kontenerów., W ciągu ostatniej dekady dowiedzieliśmy się wiele o uruchamianiu kontenerowych obciążeń produkcyjnych i dzieliliśmy się tą wiedzą ze społecznością: od wczesnych dni tworzenia cgroups w jądrze Linuksa, po tworzenie projektów z naszych wewnętrznych narzędzi i open sourcing ich jako Projektu Kubernetes. Dzięki temu programiści i firmy dowolnej wielkości mogą z łatwością korzystać z najnowszych innowacji w zakresie kontenerów.

kontenery 101: czym są kontenery?,

kontenery oferują logiczny mechanizm pakowania, w którym aplikacje mogą być wyodrębniane ze środowiska, w którym faktycznie działają. To oddzielenie umożliwia łatwe i spójne wdrażanie aplikacji opartych na kontenerach, niezależnie od tego, czy docelowym środowiskiem jest prywatne centrum danych, chmura publiczna, czy nawet osobisty laptop dewelopera., Konteneryzacja zapewnia czysty rozdział problemów, ponieważ programiści koncentrują się na logice aplikacji i zależnościach, podczas gdy zespoły IT mogą skupić się na wdrożeniu i zarządzaniu bez zawracania sobie głowy szczegółami aplikacji, takimi jak określone wersje oprogramowania i konfiguracje specyficzne dla aplikacji.

w przypadku środowisk zwirtualizowanych kontenery są często porównywane z maszynami wirtualnymi (vm)., Być może znasz już Maszyny wirtualne: system operacyjny gościa, taki jak Linux lub Windows, działa na systemie operacyjnym hosta z zwirtualizowanym dostępem do podstawowego sprzętu. Podobnie jak maszyny wirtualne, kontenery umożliwiają pakowanie aplikacji razem z bibliotekami i innymi zależnościami, zapewniając izolowane środowiska do uruchamiania usług oprogramowania. Jednak, jak widać poniżej, podobieństwa kończą się tutaj, ponieważ kontenery oferują znacznie lżejszą jednostkę dla programistów i zespołów IT, przynosząc niezliczone korzyści.,

maszyny wirtualne zawierają następujące jednostki, ułożone jeden na drugim w celu wizualizacji: aplikacja, Bin / Libs, System operacyjny gościa, hipernadzorca, System operacyjny hosta, Infrastruktura. Kontenery zawierają następujące jednostki, ułożone jeden na drugim dla wizualizacji: App, Bin/Libs, Container Runtime, Host Operating System, Infrastructure.
dlaczego kontenery?,

zamiast wirtualizacji stosu sprzętowego, tak jak w przypadku maszyn wirtualnych, kontenery wirtualizują się na poziomie systemu operacyjnego, z wieloma kontenerami działającymi bezpośrednio na jądrze systemu operacyjnego. Oznacza to, że kontenery są o wiele bardziej lekkie: współdzielą jądro systemu operacyjnego, uruchamiają się znacznie szybciej i zużywają ułamek pamięci w porównaniu do uruchamiania całego systemu operacyjnego.

dostępnych jest wiele formatów kontenerów. Docker to popularny format kontenera open source obsługiwany na platformie Google Cloud Platform i silniku Google Kubernetes.

dlaczego w ogóle Sandbox?,

kontenery silo aplikacje od siebie, chyba że jawnie połączyć je. Oznacza to, że nie musisz się martwić o sprzeczne zależności lub niezgodność zasobów — ustawiasz jawne limity zasobów dla każdej usługi. Co ważne, jest to dodatkowa warstwa zabezpieczeń, ponieważ aplikacje nie są uruchamiane bezpośrednio w systemie operacyjnym hosta.

spójne środowisko

kontenery dają programistom możliwość tworzenia przewidywalnych środowisk, które są odizolowane od innych aplikacji., Kontenery mogą również zawierać zależności oprogramowania wymagane przez aplikację, takie jak określone wersje runtimes języka programowania i innych bibliotek oprogramowania. Z perspektywy dewelopera wszystko to gwarantuje spójność bez względu na to, gdzie aplikacja zostanie ostatecznie wdrożona. Wszystko to przekłada się na produktywność: Programiści i zespoły IT poświęcają mniej czasu na debugowanie i diagnozowanie różnic w środowiskach, a więcej czasu na dostarczanie Użytkownikom nowych funkcji., Oznacza to mniej błędów, ponieważ deweloperzy mogą teraz tworzyć założenia w środowiskach deweloperskich i testowych, które mogą być pewne, że będą prawdziwe w produkcji.

uruchamianie w dowolnym miejscu

kontenery mogą działać praktycznie w dowolnym miejscu, co znacznie ułatwia rozwój i wdrażanie: w systemach operacyjnych Linux, Windows i Mac; na maszynach wirtualnych lub na komputerze dewelopera lub w lokalnych centrach danych; i oczywiście w chmurze publicznej. Szeroka popularność formatu obrazu Docker dla kontenerów dodatkowo pomaga w przenoszeniu., Wszędzie tam, gdzie chcesz uruchomić swoje oprogramowanie, możesz używać kontenerów.

Izolacja

kontenery wirtualizują CPU, pamięć, pamięć masową i zasoby sieciowe na poziomie systemu operacyjnego, zapewniając programistom widok systemu operacyjnego logicznie odizolowany od innych aplikacji.,onment

sprawdź sprawdź piaskowanie aplikacji sprawdź sprawdź Sprawdź

Sprawdź niski napowietrzny sprawdź td
od kodu do aplikacji

kontenery pozwalają spakować aplikację i jej zależności razem w jeden zwięzły manifest, który może być kontrolowany w wersji, umożliwiając łatwą replikację aplikacji wśród programistów w zespole i maszyn w klastrze.,

podobnie jak biblioteki oprogramowania pakują fragmenty kodu razem, umożliwiając programistom abstrakcję logiki, takiej jak uwierzytelnianie użytkowników i zarządzanie sesjami, kontenery umożliwiają pakowanie aplikacji jako całości, abstrakcję systemu operacyjnego, maszyny, a nawet samego kodu. W połączeniu z architekturą opartą na usługach cała jednostka, o którą poproszeni są Programiści, staje się znacznie mniejsza, co prowadzi do większej zwinności i produktywności. Wszystko to ułatwia tworzenie, testowanie, wdrażanie i ogólne zarządzanie aplikacjami.,

kontenery monolityczne do architektury opartej na usługach

najlepiej sprawdzają się w architekturach opartych na usługach. W przeciwieństwie do architektur monolitycznych, w których wszystkie elementy aplikacji są ze sobą powiązane — od IO przez przetwarzanie danych po renderowanie — architektury oparte na usługach dzielą je na oddzielne komponenty. Separacja i podział pracy pozwala Twoim usługom na kontynuowanie pracy, nawet jeśli inni zawodzą, dzięki czemu Twoja aplikacja jako całość jest bardziej niezawodna.,

Componentization pozwala również na szybszy i bardziej niezawodny rozwój; mniejsze bazy kodowe są łatwiejsze w utrzymaniu, a ponieważ usługi są oddzielne, łatwo jest przetestować określone wejścia dla wyjść.

kontenery są idealne dla aplikacji opartych na usługach, ponieważ można sprawdzić stan każdego kontenera, ograniczyć każdą usługę do określonych zasobów oraz uruchamiać i zatrzymywać je niezależnie od siebie.

a ponieważ kontenery usuwają kod, kontenery pozwalają traktować oddzielne usługi jako czarne skrzynki, jeszcze bardziej zmniejszając przestrzeń, którą musi zajmować się programista., Kiedy programiści pracują nad usługami, które zależą od innych, mogą łatwo uruchomić kontener dla tej konkretnej usługi bez konieczności marnowania czasu na konfigurowanie właściwego środowiska i wcześniejsze rozwiązywanie problemów.

poznaj trzy najlepsze sposoby uruchamiania kontenerów w Google Cloud!

silnik Google Kubernetes dla rozwiązania orkiestracji kontenerów, Chmura działa w pełni bezserwerowo i silnik obliczeniowy, aby po prostu korzystać z maszyn wirtualnych.,

Kubernetes: orkiestracja kontenerów klasy produkcyjnej

dzięki naszemu wewnętrznemu systemowi zarządzania klastrami Borg odnieśliśmy tak wiele sukcesów, że wzięliśmy to, czego się nauczyliśmy i umieściliśmy to w projekcie Kubernetes o otwartym kodzie źródłowym. Teraz ty i inne firmy możecie skorzystać z naszego wieloletniego doświadczenia., Kubernetes, znany również jako „k8s”, zapewnia zautomatyzowaną orkiestrację kontenerów – zarządzanie Twoimi maszynami i usługami-zwiększając niezawodność i skracając czas i zasoby, które musisz poświęcić na DevOps, nie wspominając o odciążeniu od stresu związanego z tymi zadaniami.

usługa Kubernetes ułatwia wdrażanie aplikacji i zarządzanie nią. Kubernetes automatyzuje wdrażanie i wycofywanie, monitorując kondycję usług, aby zapobiec złym wdrożeniom, zanim wszystko pójdzie źle., Ponadto stale przeprowadza kontrole stanu twoich usług, ponownie uruchamia kontenery, które zawiodły lub przestały działać, i tylko reklamuje usługi klientom po potwierdzeniu pomyślnego uruchomienia. Ponadto Kubernetes Automatycznie skaluje usługi w górę lub w dół w zależności od wykorzystania, zapewniając, że używasz tylko tego, czego potrzebujesz, kiedy tego potrzebujesz. Podobnie jak kontenery, Kubernetes pozwala deklaratywnie zarządzać klastrem, umożliwiając kontrolowanie wersji i łatwe powielanie konfiguracji.,

funkcje Kubernetes
  • sprawdzanie automatycznych wdrożeń i wycofań
  • sprawdzanie monitorowania stanu usług
  • sprawdzanie automatycznego skalowania usług
  • sprawdzanie zarządzania deklaratywnego
  • sprawdzanie wdrażania w dowolnym miejscu, w tym wdrożeń hybrydowych

być może co najważniejsze, Kubernetes jest zbudowany z myślą o użyciu w dowolnym miejscu, co pozwala organizować wdrożenia na miejscu, wdrożenia pomiędzy nimi., Dzięki temu Twoja infrastruktura może dotrzeć do użytkowników tam, gdzie się znajdują, aplikacje mają wyższą dostępność, a Twoja firma może zrównoważyć obawy związane z bezpieczeństwem i kosztami, a wszystko to dostosowane do konkretnych potrzeb.

Twój klaster w Google

oczywiście Kubernetes działa najlepiej na platformie Google Cloud. Google Kubernetes Engine to najlepsze zarządzane rozwiązanie Kubernetes, które umożliwia szybką konfigurację i przygotowanie do produkcji.,

silnik Kubernetes jest w pełni zarządzany przez inżynierów niezawodności Google, którzy znają kontenery najlepiej, zapewniając wysoką dostępność i aktualność klastra. Bezproblemowo integruje się ze wszystkimi usługami GCP, takimi jak monitorowanie, diagnostyka i rejestrowanie Stackdriver, zarządzanie tożsamością i dostępem oraz Najlepsza w swojej klasie infrastruktura sieciowa Google.

funkcje silnika Kubernetes
  • sprawdź zarządzane open-source Kubernetes
  • sprawdź 99.,5% SLA i wysoka dostępność dzięki zintegrowanym wdrożeniom wielostrefowym
  • sprawdź bezproblemową integrację innych usług GCP
  • sprawdź wiodącą w branży cenę za wydajność
  • sprawdź elastyczne& interoperacyjność z lokalnymi klastrami lub innymi dostawcami chmury
  • sprawdź infrastrukturę zarządzaną klasy Google

ale uwielbiamy dawać ci opcje. Google Cloud Platform oferuje pełne spektrum obsługi kontenerów., Od w pełni zarządzanego środowiska z Google Cloud Run do zarządzania klastrami z silnikiem Kubernetes po infrastrukturę IT-yourself na światowej klasy silniku obliczeniowym Google Compute Engine, możesz znaleźć idealne rozwiązanie do uruchamiania kontenerów na platformie Google Cloud Platform.

kompletne rozwiązanie kontenerowe

na tym się nie kończy. Google Cloud Platform zapewnia narzędzia potrzebne do korzystania z kontenerów od opracowania do produkcji., Cloud Build I Container Registry zapewniają przechowywanie i zarządzanie obrazami Docker, wspierane zarówno przez wysokie standardy bezpieczeństwa Google, jak i światowej klasy sieć. Zoptymalizowany pod kątem kontenerów System Operacyjny Google zapewnia lekki, wysoce bezpieczny system operacyjny, który jest fabrycznie zainstalowany w środowisku uruchomieniowym Docker i Kubernetes. Całe zarządzanie kontenerami może odbywać się w systemie GCP.

Articles

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *