Vultr като алтернатива на Digital Ocean и работа с неговия API в PHP

И, струва ми се, напразно. IMHO, Vultr е „убиецът“ на Digital Ocean и ще обясня защо по-нататък. Vultr е подобен на DO по много начини. Той буквално крещи: „Имам всичко същото! Като DO? Опитай ме!" Всъщност самите услуги, тарифи, функции и услуги почти напълно копират DO. Наистина не харесвам плагиаторите, но при по-внимателно разглеждане стигнах до заключението, че Vultr превъзхожда DO в почти всичко.

Преценете сами, ето частичен списък с предимствата на Vultr:

  • Минималният план ($5/месец) включва 768 Mb RAM срещу 512 Mb за DO
  • 14 центъра за данни срещу 7 за DO (включително такива редки места като Япония и Австралия)
  • Наличие на тарифни планове за евтино "съхранение" (SATA вместо SSD)
  • Възможно е да наемете не VPS, а Dedicated Server
  • Възможно е да инсталирате всяка дистрибуция от вашето ISO изображение
  • Възможно е да инсталирате Windows Server (+ $16 / месец към цената на всяка тарифа)
  • Наличие на стартиращи скриптове (повече подробности по-долу)
  • Съхранението на моментни снимки е напълно безплатно (дори създаването на моментни снимки е безплатно)
  • Много по-лесна регистрация (няма нужда да идентифицирате нов потребител с паспортна снимка)
Бих искал да се спра на някои точки по-подробно. Vultr има 3 ценови плана: SSD, Storage и Dedicated (от които DO има само първия). Тези. ако вашият проект включва съхранение на голямо количество данни (например повече от 100 GB), тогава в случай на DO ще трябва да таксувате тарифа за $160/месец. Докато при Vultr можете да вземете Storage-тарифа, при която вместо SSD е инсталиран SATA масив, а тарифа, включваща 125 Gb твърд диск, ще ви струва само $5/месец. Да, тази тарифа има само 512 Mb RAM, но можете да видите по-скъпи тарифи. Да кажем 1 Gb RAMще струва $10/месец, само че там и хард диска ще се увеличи до 250 Gb. А такъв обем данни в DO вече ще струва $320/месец. Като цяло ценовите планове във Vultr са много по-гъвкави. Може да предположите, че зад такава щедрост се крие по-евтина система за виртуализация, но не. Vultr използва KVM виртуализация за всички свои машини. Като DO.

Във връзка с предишния плюс, ще отбележа техния важен плюс - Vultr не взема пари нито за създаване на моментни снимки (за разлика от DO), нито за съхранението им, нито за разполагането им. Изобщо! И така е от няколко години и те все още не планират да го променят (въпреки че потребителското споразумение позволява това). Оказва се, че за $5/месец (или 0,7 цента на час) можете да създадете VPS за себе си със 125 GB диск, скрипт на етапа на създаване (повече за това по-късно), да повдигнете FTP там, да се свържете от вашата локална машина там, да прехвърлите целия си фото/музикален архив (за тези, които не се вписват - има тарифи до 1 TB за $40/месец или 6 цента на час), след това направете моментна снимка от тази машина и изтрийте машина. Всичко. Съхранявате безплатно до терабайт от вашата информация за черни дни. Ако ти трябва - създай отново сървъра от тази снимка, свържете се през FTP, вземете каквото ви трябва и изтрийте машината. И за удобство, вместо един огромен сървър, можете да създадете няколко по-малки (по отношение на съхранението на информация), тогава моментните снимки ще бъдат запазени / разгърнати по-бързо и те ще отнемат по-малко пари за работа с тях.

Ще отбележа и важна убийствена функция на Vultr в сравнение с DO - това е „Скриптове за стартиране“. Можете да създадете няколко готови скрипта в личния си акаунт, като въведете команди bash там. И този код ще бъде изпълнен с root права веднага след създаването на виртуалната машина. Един внимателен читател сега може да възкликне: „Ба, така че Digital Ocean всъщност също има подобна функция иизвиква потребителски данни или облачен скрипт", но няма да е напълно прав. Първо, DO не е точно bash команда. Скриптът трябва да бъде написан на YAML. Да, можете да опаковате собствени bash команди в него, но преди това ще трябва да прочетете ръководствата за това как да подредите всичко това правилно, за да работи скриптът. Второ (и по-важното, IMHO), DO не ви позволява да съхранявате тези скриптове в личния си акаунт. Тези. ако постоянно внедрявате някои сървъри и искате постоянно да прилагате стандартни скриптове към тях, тогава ще трябва да съхранявате тези скриптове някъде отделно в бележник и всеки път да „копирате и поставяте“ в прозореца за създаване на капчици. Не е чудесно за облачен хостинг да държат своите скриптове някъде отделно. И като се има предвид, че типичните дистрибуции на CentOS на DO дори не включват wget, тогава аз лично използвам скриптове всеки път, когато създавам сървър.

В случая с Vultr създадох няколко типични скрипта предварително и когато създавам VPS, просто избирам този, от който се нуждая, така:

като

И в този пример, след като създам сървъра, веднага ще разположа VPN сървър и мога веднага да се свържа с него, без изобщо да отварям SSH терминал.

Но това не ми се стори достатъчно и разбрах, че искам да работя с Vultr чрез API, без постоянно да влизам в личния си акаунт. Прерових целия интернет и никъде не намерих готови инструменти. Какво правят хабраузерите в този случай? Така е, взимат и пишат сами. Реших да пиша на PHP. Благодарение на Vultr за добрите ръководства (отново според мен е много по-удобно от описанието на API в DO), след няколко дни добавих пълноправен PHP Wrapper за Vultr API.

Какво представлява: когато отворя страницата за първи път, изисквам API ключ:

vultr

И след това презареждам същата страница, но с помощта на GET заявка й подавам API ключа. Съответно при отваряне на страницата простострува си да проверите дали е имало GET заявка. Ако не, искане за въвеждане на ключ. Ако е така, се отваря тялото на страницата. В тялото на страницата се правят няколко GET заявки към VULTR API, получават се данни и структурираните данни се показват в таблица. Нещо като това:

като

По-голямата част от него се заема от формата на създаване на нов сървър. API също така изтегля всички ваши моментни снимки и стартиращи скриптове.

Моля, имайте предвид, че данните за фактуриране (салдо по сметка) също се показват тук. Например API v2 Digital Ocean изобщо не поддържа таксуване и все още трябва да отидете в личния си акаунт, за да проверите баланса си. В случая на Vultr това не е необходимо.

Да, в примера по-горе нямам създадени сървъри. Когато са, те се показват по следния начин:

Съответно всички сървъри са обобщени в една таблица. Има и бутон "изтриване". Ако сървърът е в подходящо състояние, тогава има бутон „терминал“, който в браузъра в нов прозорец отваря терминален достъп до този сървър чрез SSH.

Ето пълния списък с източници:

И трите файла трябва да са на едно и също място и именувани както в заглавието на спойлера.

Между другото, когато ми омръзна постоянно да въвеждам моя API ключ, направих следното: направих лесен за запомняне псевдоним. Тези. Въвеждам нещо като „hello api“ вместо моя API ключ и вътре в php тази стойност се заменя с истинския ми ключ. Тези. достатъчно е да запомните само паролата. Можете да направите същото за себе си - редактирайте в главния файл на ред 72.