Instruktor: W dzisiejszych
czasach chmurę obliczeniową można znaleźć wszędzie,
a to naprawdę dlatego, że korzystanie z niej przynosi tak wiele wspaniałych
korzyści.
I właśnie na tym skupimy się w tej lekcji,
gdy zaczniemy
mówić o różnych cechach chmury.
Kiedy mówimy o chmurze obliczeniowej, istnieje
kilka korzyści lub cech, które widzimy, gdy decydujemy
się na korzystanie z chmury.
Obejmują one wysoką dostępność, skalowalność, elastyczność, mierzone
wykorzystanie, współdzielone
zasoby i synchronizację plików.
Przyjrzyjmy się im.
Po pierwsze, mamy wysoką dostępność.
Teraz wysoka dostępność odnosi
się do faktu, że usługi doświadczają
bardzo niewielkich przestojów podczas korzystania z chmury.
Wynika to z faktu, że większość usług
tworzonych w chmurze jest wysoce niezawodna
i odporna na błędy.
Oznacza to, że możemy zapewnić wysoki poziom dostępności.
Jeśli chodzi o dostępność,
zwykle mierzymy ją w procentach czasu
sprawności w stosunku do czasu przestoju.
Na przykład, złotym standardem
w sieciach jest pięć dziewiątek.
Pięć dziewiątek oznacza 99. 999% czasu sprawności lub dostępności
doświadczanej przez użytkowników końcowych.
Oznacza to, że każdego roku możemy mieć tylko
około pięciu minut i 15 sekund przestoju.
Zgadza się, tylko pięć minut i 15
sekund przez całe 365 dni w roku.
Aby to zrobić, trzeba dysponować
wysoce niezawodnymi i dostępnymi systemami.
Jeśli więc masz jedną witrynę, będziesz
mieć co najmniej dwa serwery internetowe, które ją hostują.
Jeśli więc jeden z nich ulegnie
awarii, drugi nadal przenosi obciążenie,
co oznacza, że użytkownik końcowy nie doświadcza żadnych przestojów.
O tym właśnie mówimy,
gdy mówimy o wysokiej dostępności.
Na przykład na mojej własnej stronie internetowej, diontraining. com, w rzeczywistości mamy bardzo
wysoce dostępną konfigurację, która została
stworzona przy użyciu usług w chmurze.
Tak więc, w zależności od tego, skąd pochodzisz na świecie, dotrzesz
do jednego z naszych wielu
serwerów zlokalizowanych na całym świecie, który
jest najbliżej ciebie, aby uzyskać lepsze wrażenia.
Jeśli Twój serwer z jakiegoś powodu przestanie działać,
zostaniesz automatycznie przekierowany na inny, który znajduje
się nieco dalej od Ciebie, ale nadal działa.
W ten sposób nadal otrzymujesz usługę, której
szukasz, i jest to sposób na zapewnienie wysokiej dostępności.
Drugą cechą chmury, o której będziemy
mówić, jest skalowalność.
Kiedy mówimy o skalowalności, chodzi
o to, że możemy zwiększać liczbę
osób lub liczbę rzeczy w naszym
systemie w tempie liniowym lub mniej niż liniowym.
Chcę przez to powiedzieć,
że mam 100 użytkowników korzystających z mojego systemu, który
kosztuje mnie 10 dolarów.
Cóż, jeśli dodam 200 użytkowników do mojego systemu,
powinno mnie to kosztować 20 USD lub mniej, a to byłaby skala liniowa.
Teraz, gdybym przeszedł od 100 do 200 użytkowników,
a cena wzrosłaby z 10 do 100 dolarów, byłaby
to skala wykładnicza, a tego
nie chcemy.
Budując nasze systemy chmurowe, zawsze
szukamy skalowalności, a to oznacza,
że nawet jeśli dziś mamy tylko 10 użytkowników, jutro możemy
mieć ich 100.
Dzień później mamy 1000,
dzień później możemy mieć 10 000 itd.
Jeśli spojrzeć na
niektóre z dużych firm, takich jak Facebook, Google,
LinkedIn i UNI, mają one miliony użytkowników końcowych, którzy uzyskują
dostęp do ich platform każdego dnia i są w stanie skalować
się w oparciu o skalowalność usług w chmurze, ponieważ
nie muszę iść i kupować kolejnego serwera
o wartości 10 000 USD, aby
umieścić go w moim lokalnym centrum danych, ponieważ zamiast tego mogę po prostu
użyć Amazon i wykorzystać część ich możliwości,
gdy tego potrzebuję.
Jeśli chodzi o skalowalność,
istnieją dwa sposoby skalowania.
Jednym z nich jest skalowanie w górę, znane jako skalowanie pionowe.
Polega to na dodaniu większej ilości
zasobów do określonego serwera lub węzła.
Na przykład, jeśli korzystasz z serwera opartego
na chmurze, który ma dwa wirtualne procesory,
możesz zwiększyć ich liczbę do czterech.
To jest właśnie idea skalowania.
Dodajesz więcej zasobów, niezależnie od
tego, czy jest to więcej procesorów, więcej pamięci RAM, więcej pamięci
masowej, więcej przepustowości, czy podobnych rzeczy.
Teraz, z drugiej strony, można również skalować,
co jest znane jako skalowanie poziome.
W tym przypadku nadal używasz mniejszych maszyn,
ale używasz ich więcej,
wszystkie pracują w tandemie za load balancerem.
Zamiast więc mieć jeden serwer obsługujący
całe obciążenie i skalować go w górę poprzez zwiększanie
liczby procesorów i pamięci, można zamiast tego skalować go w górę
i przejść z jednego serwera na dwa serwery lub z dwóch
serwerów na cztery, lub z czterech na osiem, i można nadal przesuwać się w górę,
dodając dodatkowe serwery
za load balancerem, za pomocą których można następnie obsługiwać
dodatkowy ruch.
To prowadzi nas do trzeciego obszaru,
znanego jako szybka elastyczność.
Kiedy mówimy o szybkiej elastyczności, mamy na myśli
fakt, że możemy bardzo
szybko skalować w górę lub w dół.
Dzieje się tak, ponieważ używamy automatyzacji
i orkiestracji z wieloma maszynami wirtualnymi
na tych fizycznych serwerach, które
są własnością Amazon, Google, Microsoft
i innych korporacji, które pozwalają nam korzystać
z części lub wszystkich ich usług na żądanie.
A to daje nam tę szybką elastyczność.
Kiedy słyszysz termin szybka elastyczność
lub ogólnie elastyczność, pomyśl o tym jako o zdolności systemu
do radzenia sobie ze zmianami popytu w czasie
rzeczywistym.
Wróćmy więc do przykładu korzystania
z mojej strony internetowej pod adresem diontraining. com.
Jeśli teraz sprawdzam moją stronę
internetową i mam zalogowanych 1000 studentów,
a za pięć minut sprawdzam i jest zalogowanych
10 000 studentów, moje systemy są zaprojektowane
tak, aby uruchamiać dodatkowe
zasoby w chmurze i przenosić część obciążenia od tych nowych użytkowników
na te dodatkowe usługi.
Na tym polega idea szybkiej elastyczności.
Ogólnie rzecz biorąc, gdy pracujesz w
chmurze, jeśli prawidłowo zaprojektowałeś
swoje systemy, masz możliwość szybkiego uzyskania elastyczności
i bardzo szybkiego skalowania, a następnie, gdy
zapotrzebowanie spadnie, możesz szybko pozbyć się
tych dodatkowych serwerów
i obniżyć ich wydajność.
A powodem, dla którego chcesz to zrobić,
jest to, że wszystkie te dodatkowe serwery będą kosztować więcej
pieniędzy, a jeśli nie masz wystarczającej liczby użytkowników,
aby je mieć, nie chcesz za to
płacić, więc zamierzasz je zwolnić, oddać dostawcy usług, aby mógł następnie
wynająć tę usługę komuś innemu.
Zamiast tego, jeśli korzystasz z modelu on premise,
powiedzmy, że mam dziś 1000 studentów.
Cóż, dla 1000 studentów mogę potrzebować trzech serwerów internetowych.
Ale jeśli dojdę do 10 000 studentów, będę potrzebował
kolejnych 15 serwerów internetowych.
Aby to zrobić, musiałbym kupić 15 dodatkowych serwerów.
Musiałbym je ułożyć.
Musiałbym zainstalować całe oprogramowanie,
musiałbym je skonfigurować.
Wszystko to wymaga czasu,
więc nie jest to zbyt szybkie pod względem elastyczności,
abyśmy mogli skalować, aby zaspokoić ten popyt.
Jeśli masz bardzo wolno rozwijający się model biznesowy, to w porządku.
Ale jeśli masz do czynienia z czymś, co ma dużą prędkość lub
którąkolwiek z tych nowoczesnych platform mediów
społecznościowych, a coś, co zrobiłeś, stało się wirusowe,
a wszyscy wchodzą na twoją stronę internetową i zaczynają cię
zalewać, jeśli nie masz możliwości szybkiego skalowania, stracisz możliwość
przechwytywania ruchu pochodzącego z tego wirusowego
incydentu.
Dlatego chcesz mieć możliwość szybkiego
i elastycznego tworzenia swoich
rzeczy, a chmura nam na to pozwala.
Czwarta rzecz, którą mamy, jest znana jako mierzone wykorzystanie.
Teraz wracamy do naszej dyskusji
na temat szybkiej elastyczności, którą właśnie przeprowadziliśmy.
Teraz, kiedy mówimy o mierzonym wykorzystaniu,
mówimy o tym, że płacimy
za usługę na zasadzie płatności za użycie.
Tak więc, gdy korzystamy z usługi pomiarowej, takiej jak baza danych,
może ona naliczać nam opłaty
w oparciu o liczbę użytkowników,
liczbę połączeń lub liczbę przechowywanych danych.
Zasadniczo opłaty są naliczane na
podstawie rzeczywistego wykorzystania usługi.
Robimy to w ujęciu sekundowym, minutowym,
godzinowym, dziennym, a nawet miesięcznym.
Na przykład, używam AWS Lambda
do wielu moich automatyzacji i funkcji backendowych,
a oni naliczają mi opłaty w oparciu o moje użycie.
Teraz za każdy milion żądań pobierają
ode mnie 20 centów.
Jest to więc dla mnie bardzo skuteczny
sposób na wykonanie automatyzacji, ponieważ
jest to bardzo, bardzo tania rzecz.
Mogę mieć miliony żądań i będzie mnie to
kosztować tylko kilka dolarów, i taka
jest idea usługi dozowanej.
Inną rzeczą, którą można
zobaczyć, jest czasami rozróżnienie
między usługą mierzoną a usługą mierzoną.
Teraz, kiedy mówimy o usługach mierzonych lub mierzonych,
tak naprawdę mówimy o tym samym i jest
to nasza zdolność do płacenia
za coś na podstawie zużycia.
Jest jednak pewna różnica.
Kiedy korzystasz z usługi odmierzanej,
płacisz za rzeczy w oparciu
o rzeczywiste wykorzystanie tego, co zrobiłeś.
Wystarczy pomyśleć
o rachunku za wodę lub prąd w domu.
Jeśli odkręciłeś wąż z wodą i napełniłeś
basen w tym miesiącu, zapłacisz znacznie
więcej za rachunek za wodę,
ponieważ zużyłeś znacznie więcej wody.
I odwrotnie, gdy masz do czynienia z mierzoną usługą, jest to bardziej
podobne do planu taryfowego telefonu komórkowego.
W większości miejsc użytkownik płaci miesięczną opłatę za określoną ilość korzystania
z telefonu komórkowego, niezależnie od tego, czy jest to liczba
wiadomości tekstowych, minut czy danych, które może wykorzystać.
A gdy osiągniesz ten limit,
zatrzymają twoją usługę i nie dadzą ci więcej, dopóki
nie zapłacisz im ponownie.
Kiedy więc myślisz o mierzonej usłudze,
pomyśl o tym, że płacisz za określoną ilość
z góry i niezależnie od tego, czy z niej korzystasz, czy
nie, już za nią zapłaciłeś.
Ale kiedy masz do czynienia
z usługą odmierzaną, płacisz za dokładną ilość, którą
zużywasz.
I to jest tak naprawdę jedna z zalet korzystania z chmury,
ponieważ większość rzeczy odbywa się na zasadzie
pomiaru, gdzie płacisz tylko za to, czego używasz.
Następną rzeczą, o której porozmawiamy, są współdzielone zasoby.
Kiedy mówimy o współdzielonych zasobach, tak naprawdę mówimy
o możliwości zminimalizowania naszych kosztów, ponieważ jesteśmy
w stanie umieścić nasze maszyny wirtualne
na cudzych serwerach.
Jeśli spojrzeć na serwery, z
których korzystamy w Amazon, Azure i Google
Cloud, kosztują one 10, 20, 30
000 USD za sztukę za serwer dobrej jakości.
Jeśli więc musisz kupić jeden
z nich, aby móc hostować swój blog WordPress, tak naprawdę nie wykorzystujesz
całej tej pojemności, ponieważ jeśli masz tylko kilkuset
czytelników, nie będzie to wymagało tak dużego
obciążenia.
Zamiast tego o wiele bardziej sensowne
jest wzięcie tego jednego naprawdę drogiego serwera,
pocięcie go na małe kawałki i rozdanie
go w maszynach wirtualnych wszystkim,
którzy chcą z niego korzystać.
Możemy więc hostować 50 lub 100 blogów WordPress
na tym jednym serwerze zamiast hostować tylko jeden.
Na tym polega idea korzystania ze współdzielonych zasobów.
Kiedy mówimy o współdzielonych
zasobach, mamy na myśli zebranie całego sprzętu
w centrum danych dostawcy chmury.
W ten sposób nie jest on dedykowany jednej
osobie, ale wszyscy możemy z niego korzystać w oparciu o
szybką elastyczność, ponieważ, miejmy nadzieję, Amazon, Google
i Azure myślą o tym, że kiedy są
okresy wysokiego popytu dla mojej firmy, mogą
być okresy niskiego popytu dla Twojej firmy i odwrotnie.
Tak więc zamiast mieć dedykowane zasoby sprzętowe
dla każdej z naszych firm, możemy
współdzielić zasoby we wszystkich obszarach.
Ostatnią cechą chmury
jest możliwość synchronizacji plików.
Wspaniałą rzeczą w korzystaniu z zasobów opartych na
chmurze jest to, że można umieścić coś
w jednym miejscu, a następnie rozprzestrzenić
się w innych miejscach w zależności od konfiguracji.
Przykładowo, w mojej firmie często polegamy
na synchronizacji plików, ponieważ większość
naszych pracowników to pracownicy zdalni, którzy pracują
na całym świecie, a nie tylko w naszych biurach.
Siedząc teraz w biurze
i nagrywając to, potrzebuję sposobu na
przekazanie tego pliku mojemu projektantowi graficznemu, aby
mógł stworzyć wszystkie różne rzeczy, które
widzisz na ekranie podczas mojej wypowiedzi.
Następnie wyśle go do
innego kraju, gdzie znajduje się mój edytor wideo.
A kiedy skończą, wyślą go z powrotem do mojego
biura, gdzie jeden z moich pracowników
przeprowadzi kontrole jakości, a następnie wyślemy go do innego
kraju, który następnie prześle go na ostateczną stronę, gdzie
będzie można go zobaczyć.
Tak więc to jedno wideo podróżowało prawdopodobnie
do czterech lub pięciu różnych miejsc, aby stać się gotowym
produktem, który widzisz teraz na ekranie.
Jest to idea synchronizacji
plików, ponieważ kiedy to nagrywam, nagrywam to na serwer plików
w chmurze, każdy w moim zespole może uzyskać dostęp
do tego pliku, ponieważ mamy tę zsynchronizowaną kopię na wszystkich
ich urządzeniach i na wszystkich naszych serwerach na całym
świecie, dzięki czemu mogą uzyskać do niego dostęp i robić to,
czego potrzebują.
A gdy to robią, nie siedzą
tylko na swoim komputerze, ale są
synchronizowane na wszystkich naszych serwerach w chmurze,
więc wszystko inne na tej ścieżce, która musi się wydarzyć
między nagrywaniem a publikowaniem,
a następnie oglądaniem, może
odbywać się na wszystkich tych serwerach w bardzo
usprawniony sposób.
Jest to jedna z największych korzyści
płynących z korzystania z chmury z biznesowego punktu
widzenia, ponieważ nie musisz mieć serwera w biurze.
Teraz znajduje się
w chmurze w centrum danych, które jest chronione, wysoce
dostępne, skalowalne
i może elastycznie reagować
na wyższe i niższe wymagania.
Musimy płacić tylko za to, czego
używamy i możemy udostępniać zasoby innym osobom,
których możemy nawet nie znać,
ponieważ wszyscy siedzimy na tym samym serwerze fizycznym.
I to są wszystkie rzeczy, o których
mówimy, kiedy zaczynamy mówić o charakterystyce
chmury i dlaczego nastąpiła tak duża migracja
do chmury przez wiele firm na całym świecie