Стартапта бір жыл. Іске қосу кезінде AWS шығындарын қалай оңтайландыруға болады.

Бұлтты есептеу - бұл бизнесті жүргізудің жақсы әдісі

Компания құрмас бұрын мен бұлтты есептеу қызметтерінің экожүйе үшін маңыздылығын түсінбедім. AWS, GCE, Azure және Digital Ocean стартаптарды таратуда маңызды рөл атқарды. Шексіз дерлік ресурстарға қол жеткізу көптеген техникалық мәселелерді шешеді, сондықтан сіз жабдықты жөндеуден гөрі, бизнесіңіздің өсуі үшін маңызды нәрсеге көңіл бөле аласыз. Бірақ кез-келген ұлы күш сияқты, үлкен жауапкершілік те бар.

Snapchat-тың әйгілі хабар алмасу және фотосуреттерді бөлісу бағдарламасын жасаған Snap Inc. компаниясы алдағы бес жыл ішінде Amazon бұлтты қызметтерінен 1 миллиард доллар сатып алуға келісті.

Біз Visely-ді құра салысымен, AWS есепшотын төлеу мәселесі өте өзекті болды. Төменде AWS ұсынатын ең жақсы нұсқалардан инфрақұрылымды мұқият құру арқылы шот-фактураны екіге қалай бөлгеніміз туралы қысқаша ақпарат берілген.

AWS мысал түрлері

AWS әртүрлі нұсқалардың кең спектрін ұсынады. Visely үшін бізге клиенттердің сұраныстары, дерекқор серверлері (MongoDB-дан хостинг) және машиналық оқыту (Cassandra + Spark) үшін веб-серверлерді тиімді басқаратын VM керек болды.

Айына бірнеше мың долларға қосылатын қол жетімді ең жақсы нұсқаларды таңдау - бұл жиналған стартап үшін төлеуге болатын жоғары баға. 4 процессоры мен 8 ГБ жедел жадысы бар кәдімгі, компьютермен оңтайландырылған үлгі айына $ 125 тұрады.

Бұл себептер бізді T2 типіне мұқият қарауға мәжбүр етті.

Т2 құтқарушыға

T2 даналары таңдалған VM-ге берілген несиелерден алынған кезеңнен жоғары деңгейге көтерілу мүмкіндігі бар негізгі қызметті ұсынады.

Несиелер және оларды тұтыну деңгейі бастапқыда сәл құпия болды, бірақ AWS құжаттарын мұқият оқып шыққаннан кейін бәрі жақсы болды.

Мысал келтірейін. T2 кішкентай (vCPU-мен, 2 ГБ) тағайындалған 288 кредиттен басталады. Негізгі өнімділік - 20% процессор. Сондықтан, егер сіз 20% -дан асып кетсеңіз, несиелеріңіз қалағаныңыздан тезірек жанып кетеді. Олар қаншалықты тез күйіп кетеді Процессор процедурасын 100% қолдана отырып, сіз тез арада шамамен төрт сағат ішінде 288 несиені тұтынасыз.

T2 төмен несие қолдану

Осындай жағдайларда да сізге 100% процессор қажет емес. Көптеген стартаптардың күндіз болатын бір немесе екі шыңы (яғни, шығыс және батыс жағалаудағы клиенттер) пайдалану болжамына ие. Бұл T2 даналары үшін өте ыңғайлы жағдай, бұл несиелермен максималды пайдалануды қамтиды және бір түн ішінде қалпына келтірілуі мүмкін. Біздің барлық микро-қызметтеріміз T2 VM-де жұмыс істейді және оларды тіпті демалыс күндері де сәтті қалпына келтіруге болады.

T2 даналарын қолдану кезіндегі қателіктер

Сіз барлық несиелерді пайдаланғаннан кейін сіздің нұсқаңыз негізгі деңгейде жұмыс істейді. T2 кішкентай үшін бұл 20% процессор. Қалпына келтіру процесі өте баяу жүреді (мысалы, T2 кішігірім үшін сағатына 12 несие), сондықтан барлық несиелер ешқашан ең жоғары уақытта пайдаланылмайтындай етіп тапсырмаға қажетті дананың түрін таңдағанда өте мұқият болу керек.

Несиелерсіз және жүктеме базалық деңгейден жоғары болса, сіздің жағдайыңыз тұрақсыз болады.

Есептер: бес сервердің үшеуінің әрекеті біршама таңқаларлық (@devopsreactions арқасында)

Сізге қажет нәрсе - бұл қарбалас уақытта несие алмаған мысал. Бұл жағдайда сіз тек жаңасын беріп, оған жүктемені қайта бағыттай аласыз. Біз мұны қиын жолмен білдік. Несиені пайдалануды мұқият бақылаңыз. AWS сіз CloudWatch ыңғайлы құралмен қамтамасыз ете аласыз, ол сіз белгіленген шектен асқан кезде хабарландыруларды ала аласыз.

T2 даналарын қалай оңтайлы таңдауға болады

Сіздің жүктемеңізге жеткілікті қуат беретін жағдайлардан бастаңыз. Мұны бірнеше күн бақылап отырыңыз және несиені пайдаланудың кестесін көргенде, үлгі түрін өзгертіңіз немесе қосымша қызметтерді қосыңыз.

Мысал өте жақсы жүріп жатыр

Бұл несие бойынша төлем қисығы бар кәсіпорындарға көбірек қысым көрсетуге болатын негізгі белгі болды. Біздің стратегиямыз қарапайым болды. Пайдаланылмайтын VM-ларды тапқаннан кейін біз процессорды аз тұтынатын қызметтерді орналастырдық.

Мониторинг пен бір айдан кейін біз іске қосылған VM даналарын екі есе азайттық.

Сындарлы емес ресурстарды және дербес жұмыс жүктемелерін кеңейтуге арналған мысалдар

T2 даналарынан басқа, AWS ай сайынғы шоттың құнын азайту үшін қолдануға болатын арнайы инстанцияларды ұсынады. Талап етілген VM мен Spot даналарының арасындағы жалғыз айырмашылық, EC2 кейінірек AWS оларды қайтару қажет болғанда екі минуттық хабарлама арқылы үзе алады.

Екі минуттық хабарландыру бар қатты кедергі (немесе күту) қатты естіледі, бірақ бұл дербес топтамалық жұмыс немесе тапсырыс бойынша масштабтау үшін тамаша шешім болуы мүмкін.

Мұнда nemo.ai-де біз Apache Spark-ты екі түрлі тапсырмалар үшін қолданамыз:

  • Бизнес бақылау тақталарына офлайн талдау
  • Қатынасты сатып алған / көрген тұтынушыларды анықтау үшін сүзгілеу алгоритмін іске қосыңыз

Екі жұмыс да дербес және топтамада орындалады. Бұл нүктелік даналарды тағайындаудың тамаша сценарийі.

Спот-инстанциялар қалай жұмыс істейді?

AWS Spot даналарын қолдануға арналған кеңейтілген пайдаланушы нұсқаулығын ұсынады. Қарапайым тілмен айтқанда, сіз пайдаланғыңыз келетін ресурсқа баға ұсынысын бересіз. Ресурс баға сіздің ұсыныстарыңыздан төмен түсе бастағанда тағайындалады.

Біз үш M3 (жадпен оңтайландырылған) ұшқын инстанциясын сұрай аламыз, олар CentOS-та жұмыс істейтін максималды бағасы бар. Талап орындалғаннан кейін сізге Spark жұмыс жасаушыларының конфигурациясы бар Docker контейнерлерін орналастыру керек.

Пакеттік жұмыс біздің әрбір клиентіміз үшін дәйекті түрде орындалады. Барлық клиенттерге қажетті барлық өңдеулерді орындау үшін шамамен бір сағат кетеді. Осы кезеңде, Spot даналарын екі минуттық хабарландыру арқылы қалпына келтіруге болады. Бұл проблема емес, өйткені жұмыс желіден тыс болып табылады және сұраныс қайтадан орындалғаннан кейін қалған клиенттер үшін жалғасады.

Қорытындылай келе, сіз Spot инстанцияларының артықшылығы бар қосымшаны жасағыңыз келе ме деп айтуға болады.

  • Spot данасын қажетті қызметтермен мүмкіндігінше тез жүктеу үшін TerraForm (немесе басқа автоматтандыру құралы) көмегімен AWS даналарын орналастырыңыз. Алдын-ала дайындалған AMI кескінін қолдану да шешім болып табылады, дегенмен біз Terra Form-ны таңдадық, өйткені бұл бізге оңай.
  • Spot Instance-да істейтін жұмысыңыз үзілістерден немесе күту күйінен қорықпауы керек.
  • Spot инстанцияларына қажетті қосымшаларды толығымен автоматтандыру керек, әйтпесе VM қолданбас бұрын орнатуға көп уақыт жұмсауға тура келеді. Docker суреттерін қолдану бұл үшін оңтайлы шешім бола алады.

Сіз өзіңіздің аймағыңыздағы нүктелік даналардың болуын тексеру үшін осы ыңғайлы ресурстарды пайдалана аласыз.

Басқа шығындар

Желі және тұрақты сақтау - біз оңтайландыруымыз керек екінші қымбат ресурстар. Мұнда SSD-мен ойнаудың мүмкіндігі аз. Біз SSD-ді жылдам енгізу / шығаруды қажет ететін қызметтер үшін қолдануды таңдадық (мысалы, MongoDB, Apache Solr). Азаматтығы жоқ қызметтер магниттік қамтамасыз ету үшін жақсы жұмыс істейді.

Желі туралы айтатын болсақ, сіз оны аз мөлшерде реттей аласыз, дегенмен сіз өз желіңізді пайдалану күтілетін шектерде екендігіне сенімді болуыңыз керек.

Іске қосу ретінде бірнеше VM-ді іске қосу қажет болғандықтан, шығындарды оңтайландыру бойынша күш жұмсалды және біз басқа нәрселерге жұмсай алатын ақшаны үнемдедік.

Егер сізге осы оқиға ұнаған болса, онда сіз осы сериядан басқаларын көре аласыз

Стартапта бір жыл. Біз стартапты қалай қостық.