АВС

Шта је без сервера? АВС Ламбда и други ФааС

Шта је без сервера? АВС Ламбда и други ФааС
Да бисмо разумели бессерверске услуге, АВС Ламда и сличне понуде Фунцтион-ас-а-Сервице, започињемо са историјом и пределом рачунарства, а затим стављамо ове нове услуге у контекст. Хајде да почнемо.

Физички рачунари

Прекорачили смо велики пут од масивних сервера из дотцом ере. У то доба, серверска инфраструктура је углавном била локална. Предузеће је своја решења покретало на физичком серверу. Људи су користили читаве одвојене сервере у различите сврхе (резервне копије, сервер поште, веб сервер итд.). Када одређени сервер није успео да прати растуће потребе компаније, заменио га је новији бржи сервер. Скалирали сте набавком бољег хардвера. Скалирали сте вертикално.

Хипервизори

Тада је наступила ера хипервизора. Замах је добио порастом ВМВаре-а и људи су схватили да могу добити један регал који ће њима свима владати. Један сталак за покретање свих различитих случајева употребе и обезбеђивање сваког од њих засебне виртуелне машине. Ово је такође довело до рачунарства у облаку и предузећа су директно престала да улажу у серверски хардвер и одлучила су да „изнајме“ виртуелне сервере.

Огромним и скупим дата центрима управљали су добављачи облака широм света. Предузећа су ово искористила пружајући своје услуге глобално, користећи најшири могући спектар центара података. То је учињено углавном ради смањења кашњења, побољшања корисничког искуства и циљања већег тржишта.

Ово је такође натерало ауторе софтвера да размишљају у смислу дистрибуираних система. Написали су софтвер за рад не само на једном гигантском рачунару, већ на многим осредњим на доследан и поуздан начин. Скалирали сте водоравно.

И даље можете скалирати вертикално. У ствари, због виртуелизације, обезбеђивање више ресурса постало је лакше. Искључили сте ВМ, прилагодили његове ресурсе и мало додатно платили добављача услуга у облаку. Просто као пасуљ.

Основни физички сервери нису нестали. Цлоуд добављачи су сада одговорни за управљање сложеношћу мрежних интерфејса, компатибилношћу ОС-а и другим застрашујућим патологијама.

Контејнери

Затим су дошли контејнери. Контејнери су били ова невероватна лагана апстракција. Виртуелно окружење са оперативним системом који је омогућавао паковање и примену софтвера у једну целину. Попут виртуелних машина, сваки контејнер није био свестан других контејнера, али су делили исто језгро оперативног система.

Ово је омогућило људима да примене софтвер на серверима (физички или виртуелни није важно) на још вишем нивоу апстракције. Није вас било брига за производни оперативни систем. Све док подржава вашу технологију контејнеризације, он ће покретати ваш софтвер. Такође се контејнери лакше окрећу, што је учинило услуге скалабилнијим него икад.

Ово је додатно повећало флексибилност дистрибуираних система. Помоћу технологија попут Кубернетес-а можете добити легије контејнера са сложеним низом услуга. Дистрибуирани системи нуде пуно предности велика доступност, робусност и способност да се излече од квара чвора.

У исто време, јер су толико сложени, теже их је дизајнирати, применити, одржавати, надгледати и отклањати грешке. Ово је против првобитног тренда апстраховања сложености софтвера и преношења те одговорности на добављача услуга у облаку. Овде долази до архитектуре без сервера.

Без сервера или функција као услуга (ФааС)

Идеја без сервера стекла је снагу понајвише због АВС Ламбде, а овде ћу је користити као модел за разговор о бескорисном серверу. Принципи на којима се заснива ФааС су:

Када нико не приступа вашим услугама, услуге нису активне. То није био случај са традиционалним хостинг решењима где плаћате ВПС који је увек активан, чак и ако је у стању мировања не радећи ништа корисније од слушања новог захтева.
У архитектури без сервера ваша услуга не ради, осим ако неко заиста жели да је користи. Када захтев стигне, услуга се креира у ходу да би се њиме бавила.

Како то функционише?

Ваша функција (на пример програм Питхон, Го или Јава) налази се као датотека на АВС Ламбда. Овом функцијом повезујете одређене догађаје окидача, попут АПИ мрежног пролаза или новог објекта који долази у вашу серију С3. И одређени ресурси попут базе података или другог складишта објеката или ЕЦ2 инстанце.

Као одговор на било који придружени догађај окидача, АВС Ламбда креира контејнер са вашом функцијом унутар њега. Функција се извршава и даје одговор. На пример, ако нова слика дође у вашу канту С3, тада АВС Ламбда може у себи имати код за машинско учење, који ће анализирати ову слику и записати свој излаз на ДинамоДБ (једну од АВС-ових услуга складишта података).

Не морате платити за цео сервер, већ само за количину меморије коју сте доделили функцији, број захтева које добијете и колико дуго ваша функција ради.

Штавише, не морате да бринете о скалирању контејнера као одговор на велико долазно оптерећење. Ако се истовремено догоди много покретачких догађаја, АВС ће се побринути за окретање нових контејнера и распоређивање радних оптерећења између њих и свих осталих сложености.

Није потпуно решење

Када су се појавиле виртуелне машине, физички сервери нису престали да постоје. Када су стигли контејнери, и даље смо користили ВМ-ове. ФааС је апстракција вишег нивоа и одлично се уклапа у модеран дизајн РЕСТфул АПИ-ја, услуге без држављанства и лагане језике попут Ноде.јс или Питхон.

Међутим, и даље се покреће на физичком серверу (на пример, којим управља АВС), и даље ослушкује долазне захтеве (то једноставно не плаћате директно) и даље морате да упорно складиштите податке, због чега и има интеграције за С3, ЕЦ2 и друге услуге. Ипак је корисна апстракција.

СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...