Журнал LinuxFormat - перейти на главную

LXF161:Что за штука OpenStack?

Материал из Linuxformat
Перейти к: навигация, поиск


Что за штука…OpenStack

Грэм Мор­ри­сон из­бе­га­ет об­лач­ных ме­та­фор, пы­та­ясь удер­жать поч­ву под но­га­ми.

163555.png

В

OpenStack ведь не та­кая уж и но­вин­ка, не так ли? Что-то вы пе­ре­ста­ли успе­вать за со­бы­тия­ми.

О

Да, вы пра­вы. Об OpenStack уже на­слы­ша­ны. Еще в 2010-м ком­пания Rackspace, из­вест­ная хостин­гом мно­гих сай­тов, на­ча­ла со­трудничать с NASA – агент­ст­вом, про­слав­лен­ным яко­бы от­прав­кой ас­тро­нав­тов на Лу­ну. Их со­вме­ст­ный про­ект стар­то­вал по­сле пуб­ли­ка­ции за­пи­си в бло­ге од­но­го из со­трудников NASA. За­го­ло­вок был: «Вы­шла NOVA – Об­лач­ная тех­но­ло­гия под ли­цен­зи­ей Apache, на Python. Жи­вая, кри­вая, бе­та. Про­ве­ряй­те». И да­лее, NASA и Rackspace вме­сте тво­ри­ли сво­его ро­да фан­та­сти­че­­ский се­те­вой мир, где хранение, ре­сур­сы и про­из­во­ди­тель­ность су­ще­ст­ву­ют как нечто са­мо со­бой ра­зу­мею­щее­ся, и ма­лень­кие стар­та­пы мо­гут спо­кой­но стро­ить в об­ла­ках свои башни из сло­но­вой кости, зная, что когда их день при­дет, они смас­шта­би­руют все вверх, бы­ст­ро и эф­фек­тив­но, пре­ж­де чем про­дать­ся Facebook.

С OpenStack такое ста­ло реаль­ностью: ведь это от­кры­тый код, ра­бо­тающий подобно всему Linux. Да мно­гие и на­зы­ва­ют это «Linux об­лач­ных вы­чис­лений». Мо­же­те опла­тить ко­му-нибудь сле­жение за ва­шим OpenStack, а мо­же­те про­сто по­экс­пе­ри­ме­ти­ро­вать с ним, зная, что эту иг­руш­ку всегда мож­но пре­вра­тить в мощ­ное ору­дие. Как и Linux.

В

Нет. По­жа­луй­ста, толь­ко не про об­ла­ка. Я ниче­го в этом не понимаю.

О

По­жа­луй, глав­ная ана­ло­гия ме­ж­ду об­лач­ны­ми вы­чис­ления­ми и обыч­ны­ми об­ла­ка­ми – то, что никто не мо­жет дать им точ­но­го оп­ре­де­ления: оп­ре­де­ления здесь пе­ре­мен­чи­вы, как по­го­да. Мож­но ска­зать, что это и Gmail, и Google Docs, но это и ва­ша учет­ная запись на Facebook, и ка­лен­дарь Exchange.

Ес­ли вы трудитесь в техниче­­ской сфе­ре, вполне воз­мож­но, что IT-от­дел ва­шей ком­пании уже ме­ня­ет стой­ки сер­ве­ров на арен­дуе­мое про­стран­ст­во где-нибудь на об­ла­ке; или, ска­жем, вам нуж­но пе­ре­дать боль­шой объ­ем на­уч­ных дан­ных на EC2 от Amazon и по­лу­чить ре­зуль­та­ты вы­чис­лений за ми­ну­ты, а не за неде­ли, как это бу­дет на обыч­ном на­столь­ном ПК.

В

То есть бо­лее кон­крет­но о функ­ци­ях OpenStack ска­зать нель­зя?

О

Ес­ли го­во­рить кон­кретнее, есть риск по­гряз­нуть во вся­ких страш­ных со­кра­щениях, на­при­мер, IaaS – и осли­ный клич здесь во­все ни при чем, ведь это оз­на­ча­ет Infrastructure as a Service [Ин­фра­струк­ту­ра как Услуга]. В этом слу­чае об­ла­ко сродни IT-от­де­лу из пре­ды­ду­ще­го при­ме­ра, когда ком­пания ме­ня­ет соб­ст­вен­ную ин­фра­струк­ту­ру на ту, что она по­лу­ча­ет в об­лач­ном объ­е­ме. Это та сфе­ра бизнеса, ко­то­рую Rack­space жаждет кон­тро­ли­ро­вать, и не без серьезной при­чи­ны.

Когда од­на ком­пания управ­ля­ет ин­фра­струк­ту­рой, по­зво­ляя сэ­ко­но­мить лю­бой ком­пании из тех, что же­ла­ет из­ба­вить­ся от сво­его IT-отдела, на этом мож­но сде­лать ог­ром­ную при­быль. И это бо­лее чем при­вле­ка­тель­ная мо­дель бизнеса. OpenStack ра­бо­та­ет на том же уровне. Его мож­но ис­поль­зо­вать как IaaS, ведь вы мо­же­те де­лать с ним, что хо­ти­те – как с вир­ту­аль­ной ма­ши­ной, на­при­мер.

На дру­гом кон­це шка­лы ока­жет­ся SaaS, то есть Software as a Service [Про­грамм­ное обес­пе­чение как услу­га]. Это про­ще по­нять, по­сколь­ку вы управ­ляе­те не це­лой ин­фра­струк­ту­рой, а лишь одним кон­крет­ным при­ло­жением. Это мо­жет быть ва­ша внут­рен­няя сис­те­ма управ­ления ра­бо­той с кли­ен­та­ми, или лю­бая дру­гая гло­баль­ная сис­те­ма, ра­бо­таю­щая на по­сто­ян­ный доступ.

Су­ще­ст­вен­ное раз­ли­чие ме­ж­ду SaaS и преж­ними мо­де­ля­ми сер­ве­ров за­клю­ча­ет­ся в том, что са­ми при­ло­жения пре­достав­ля­ют­ся вла­дель­цем об­ла­ка. Вот про­стейший при­мер: вы пла­ти­те Google за пра­во кор­по­ра­тив­но­го досту­па к поч­те, ка­лен­да­рю и до­ку­мен­там, вме­сто то­го, что­бы соз­да­вать по­доб­ные про­грам­мы са­мо­стоя­тель­но или пла­тить дру­гой ком­пании за хостинг ва­ших сер­ве­ров.

С SaaS вам не нуж­но за­бо­тить­ся об уста­нов­ке, раз­вер­ты­вании и под­держ­ке (ес­ли, конеч­но, это не услу­ги, пре­достав­ляе­мые на ва­шем об­ла­ке). OpenStack ста­но­вит­ся сход­ным с SaaS, ес­ли вы на­строи­те его так, что­бы на нем бы­ла некая услу­га, ко­то­рую вы бу­де­те про­да­вать кли­ен­там – к при­ме­ру, поч­та или ре­дак­ти­ро­вание до­ку­мен­тов.

В

Хо­ро­шо, но что же осо­бен­но­го имен­но в OpenStack?

О

Есть ряд при­чин, де­лаю­щих его осо­бен­ным и достой­ным ва­ше­го внимания. И пер­вая – это дей­ст­ви­тель­но от­кры­тый код. Все его ком­понен­ты вы­пу­ще­ны под ли­цен­зи­ей Apache, немно­го бо­лее ли­бе­раль­ной, чем GPL.

Это зна­чит, на­при­мер, что лю­бые из­менения мож­но пуб­ли­ко­вать под дру­гой ли­цен­зи­ей, и эта осо­бен­ность ста­ла сво­его ро­да ви­зит­ной кар­точ­кой ко­ман­ды OpenStack. Вот фраг­мент из пя­ти­ми­нут­но­го об­зо­ра про­ек­та: «Мы твер­до ве­рим, что от­кры­тая мо­дель раз­ра­бот­ки – един­ст­вен­ный путь сти­му­ли­ро­вать так необ­хо­ди­мые нам об­лач­ные стан­дар­ты, за­быть об уг­ро­зе при­ва­ти­за­ции об­лач­ной сфе­ры и соз­дать ог­ром­ную эко­си­сте­му со­су­ще­ст­вую­щих об­лач­ных про­вай­де­ров». При от­кры­том API, от­кры­тых фор­ма­тах и пол­но­стью сво­бод­ных ис­ходниках, вы пой­ме­те, по­че­му OpenStack очень ва­жен имен­но сей­час, когда на об­лач­ные тех­но­ло­гии тра­тит­ся столь­ко денег. С боль­шой ве­ро­ят­но­стью мож­но ут­вер­ждать, что ком­пании, по­ка что ра­бо­таю­щие со свои­ми ча­ст­ны­ми об­ла­ка­ми во внут­ренних се­тях, со вре­менем пе­ре­да­дут их про­вай­де­рам OpenStack, та­ким как Rackspace, когда по­счи­та­ют нуж­ным.

Дру­гая при­чи­на в том, что OpenStack уже стал свое­об­раз­ным фе­но­ме­ном. Сто­ит толь­ко по­смот­реть на офи­ци­аль­ный спи­сок из 180 ком­паний, ко­то­рые при­зна­ли, что ис­поль­зу­ют его. По­ми­мо Rackspace, cреди них вы най­де­те Dell, AMD, Cisco, HP, AT&T, Broadcom и Yahoo. NASA, увы, пе­ре­би­ра­ет­ся на Amazon.

Мо­же­те за­гля­нуть и в спи­сок Linux-ги­ган­тов, все ча­ще об­ра­щаю­щих­ся к OpenStack – здесь и RedHat, и SUSE, и Canonical. У RedHat пре­ж­де бы­ли свои об­лач­ные про­ек­ты, та­кие как Aeolus – до­воль­но удач­ное ре­шение для соз­дания соб­ст­вен­ной вир­ту­аль­ной ма­ши­ны, как внут­ренней, так и раз­вер­ну­той на мно­же­ст­ве несо­вмес­ти­мых об­ла­ков. Но в ап­ре­ле, пе­ре­йдя на но­вую сис­те­му управ­ления, они все же п­риняли OpenStack.

В

Но ведь Canonical вро­де то­же ак­тив­но раз­ви­ва­ла соб­ст­вен­ный об­лач­ный про­ект, Eucalyptus?

О

Да, это так. Но око­ло го­да на­зад вла­дель­цы Ubuntu объ­я­ви­ли о пе­ре­хо­де на OpenStack. По-ви­ди­мо­му, та­кое ре­шение бы­ло про­дик­то­ва­но тем, что Eucalyptus менее от­кры­тый проект, чем OpenStack. Это то­же от­кры­тый код, но ре­ли­зы, к при­ме­ру, вы­хо­дят раз в пол­го­да. А в OpenStack про­прие­тар­ные ком­понен­ты от­сут­ст­ву­ют в прин­ци­пе.

В

То есть в OpenStack несколь­ко ком­понен­тов?

О

Да, как та­ко­вых, их три. Пер­вый на­зы­ва­ет­ся OpenStack Compute. Это та са­мая ‘Nova’, о ко­то­рой го­во­ри­лось в пер­вом по­сте, и это соб­ст­вен­но ин­фра­струк­ту­ра. Сре­да оби­тания вир­ту­аль­ных ма­шин. Сompute пре­достав­ля­ет че­рез API доступ для на­строй­ки и управ­ления ими. Здесь раз­ра­бот­чи­ки мо­гут не про­сто ра­бо­тать на вир­ту­аль­ном обо­ру­до­вании, но так­же занимать­ся мас­шта­би­ро­ванием и рас­па­рал­ле­ли­ванием.

Не­смот­ря на низ­ко­уровневую при­ро­ду упомянутых опе­ра­ций, Compute на­пи­сан на Python, и мно­гие раз­ра­бот­чи­ки пред­по­чи­та­ют ис­поль­зо­вать имен­но при­вяз­ки на Python. Реа­ли­зо­ва­на под­держ­ка раз­лич­ных ги­пер­ви­зо­ров (сис­тем вы­полнения вир­ту­аль­ны­ми ма­ши­на­ми). В этом его от­ли­чие от Eucalyptus, ко­то­рый под­дер­жи­ва­ет толь­ко Xen и KVM, что ста­ло воз­мож­но толь­ко по­сле зна­чи­тель­ного содействия со сто­ро­ны Canonical.

OpenStack же под­дер­жи­ва­ет не толь­ко KVM и Xen, но и VMWare, LXC (Linux Containers – ищи­те учебник в сле­дую­щем но­ме­ре), User Mode Linux и да­же Qemu, хо­тя в до­ку­мен­та­ции в от­но­шении двух по­следних ска­за­но, что их луч­ше ис­поль­зо­вать в раз­ра­бот­ке, неже­ли са­ми по се­бе.

В

А что вы можете сказать про дру­гие ком­понен­ты?

О

В то вре­мя как ин­фра­струк­ту­рой управ­ля­ет Nova, сле­дую­щим обя­за­тель­ным тре­бо­ванием для об­лач­ной сис­те­мы яв­ля­ет­ся хранили­ще. В от­ли­чие от ком­пь­ю­те­ра, на ко­то­ром вы это чи­тае­те, хранение в об­ла­ке невоз­мож­но без рас­пре­де­лен­ных сис­тем, про­цес­сов и ди­на­ми­че­­ской ем­ко­сти.

Этот ком­понент в OpenStack на­зы­ва­ет­ся Object Storage, или Swift, и был из­на­чаль­но раз­ра­бо­тан Rackspace. Как и Nova, он на­пи­сан на Python и под­дер­жи­ва­ет и фай­лы (объ­ек­ты), и бло­ки, что при­год­но для дол­го­сроч­но­го хранения об­ра­зов дис­ков вир­ту­аль­ных ма­шин.

Есть так­же мно­же­ст­во до­полнитель­ных функ­ций, та­ких как воз­мож­ность лег­ко уве­ли­чи­вать ем­кость или ав­то­ма­ти­че­­ски ис­прав­лять по­вре­ж­дения, и мас­шта­би­ро­вать до раз­ме­ров, ко­то­рые боль­шин­ст­во поль­зо­ва­те­лей се­бе да­же не пред­став­ля­ет – мно­же­ст­ва пе­та­байт и мил­ли­ар­дов объ­ек­тов.

На­конец, Swift свя­зан с Nova при по­мо­щи OpenStack Image Service, ко­то­рый от­ве­ча­ет за по­иск, ре­ги­ст­ра­цию и достав­ку об­ра­зов вир­ту­аль­ных дис­ков. |

Персональные инструменты
купить
подписаться
Яндекс.Метрика