Եթե դուք բախվել եք այս էջին՝ մտածելով, որ հարստանալու եք արագ հարստանալու սխեմայով, կներեք, որ հիասթափեցնեմ ձեզ: Այս հոդվածում ավելի շուտ կխոսվի այն մասին, թե ինչպես նվազեցնել ձեր ամպային ծախսերը 1 միլիոն դոլարով: Դրանով դուք, ըստ էության, կստեղծեք լրացուցիչ միլիոն դոլար եկամուտ, որը կարող եք ծախսել՝ գնելով իմ առցանց դասընթացը, թե ինչպես հարստանալ AWS-ով ( ): դասընթացի հղումը՝ այստեղ Ամպային ծախսերը հաճախ անտեսվում և հաշվի չեն առնվում Ընկերությունների նախագծերի սկզբում: 2021 թվականի HashiCorp-ի հարցումը պարզել է, որ ընկերությունների գրեթե 40%-ը 2021 թվականին գերծախսել է ամպային ծախսերի վրա [ ]: 2023 թվականին գրեթե բոլոր ընկերությունները (94%) խոստովանեցին, որ գումար են վատնում ամպի վրա [ ], և ամպի արժեքի առնվազն 30%-ը վատնվել է [ ]: Ամպային ծախսերը 2022 թվականին գրեթե 500 միլիարդ դոլար էին, հետևաբար մենք խոսում ենք տարեկան 150 միլիարդ դոլարի վատնման մասին: 1 1 2 Սա ոչ միայն բաց թողնված եկամուտների մտահոգությունն է, այլև կայունության վատ պրակտիկան: 150 միլիարդ դոլարի վատնված էներգիա. Այս բացահայտումները ներառում են ինչպես խոշոր, այնպես էլ ավելի փոքր ձեռնարկություններ՝ բարձր ամպային հասունությունից մինչև ցածր ամպային հասունություն: Այն վերաբերում է AWS-ին, սակայն նույն սկզբունքները կարող են կիրառվել ցանկացած այլ ամպային մատակարարի համար: Այսպիսով, եթե ձեր աշխատանքի որևէ հատված ամպի մեջ է, ապա այս հոդվածը ձեզ համար է: Ես խոսում եմ տվյալների ինժեների տեսանկյունից, բայց նույն գիտելիքները կարող են կիրառվել ծրագրային ապահովման ճարտարագիտության այլ պրակտիկաների համար: Եկեք սուզվենք: Ի՞նչ է անհրաժեշտ մեկ տարվա ընթացքում 1 միլիոն դոլար ծախսելու ամպային ծախսերում: Այս տեսակի ամպային հաշիվները սովորաբար սահմանափակվում են շատ խոշոր ձեռնարկություններով, որոնք գործում են աշխարհում միլիոնավոր հաճախորդների հետ: Որպեսզի պատկերացնեք, 1 միլիոն դոլարի ամպային հաշիվը կարող է առաջանալ Spark ETL աշխատանքի արդյունքում, որը մշակում է ~1,5 Տբ/ժ 24x7 տարին 365 օր: Մեկ այլ օրինակ կարող է լինել հավելվածը, որն օրական միլիարդավոր հարցումներ է ստանում աշխարհի բազմաթիվ վայրերից: Խոշոր ձեռնարկությունում կան հարյուրավոր հավելվածներ այս չափի, ինչը հանգեցնում է միլիարդ դոլարի պայմանագրերի ամպային մատակարարների հետ: Օրինակ՝ Airbnb-ն պարտավորվել էր 1,2 միլիարդ դոլար ծախսել ամպային ռեսուրսների վրա հինգ տարվա ընթացքում 2019 թվականի վերջում [ ]: 3 Expedia-ում մենք կրճատել ենք տարեկան 1,1 միլիոն դոլար արժողությամբ տվյալների մշակման ETL-ի ծախսերը մինչև տարեկան ընդամենը 100,000 դոլար՝ օպտիմալացման պրակտիկաների ներդրմամբ: Դա 91% ծախսերի կրճատում է: Ոչ բոլոր ընկերություններն ունեն նման հսկայական չափսի հավելվածներ, բայց պատկերացրեք, որ ձեր ամպի արժեքը 90%-ով կրճատեք միայն մեկ հավելվածի կամ ձեր ամբողջ ընկերության համար: Ինչպե՞ս ենք սկսում խնայել: ՔԱՅԼ 1. մարտահրավեր նետեք ձեր դիզայնի ենթադրություններին Գնացեք և ստացեք ձեր ամենաթանկ հավելվածների ցանկը և : մարտահրավեր նետեք ձեր դիզայնի ենթադրություններին Կառուցու՞մ եք այնպիսի հավելված, որն ունի 99,999% հասանելիություն և ենթամլիվայրկյան ուշացում, բայց իրականում օգտագործողները բավական լավն են 99% հասանելիությամբ և հարյուրավոր միլիվայրկյան ուշացումով: Դուք ստեղծո՞ւմ եք տվյալների հավաքածուներ միլիարդավոր տողերով, բայց օգտվողները կօգտագործեն միայն որոշ միջոցառումների ագրեգացիաներ: Դուք իրական ժամանակում տվյալներ եք ուղարկում, բայց տվյալները վերլուծվում են միայն օրական մեկ անգամ: Դուք թարմացնում եք քեշը ամեն 10 վայրկյանը մեկ, բայց այն իսկապես փոխվում է միայն օրերի ընթացքում: Այս բոլոր հարցերը վերադառնում են ամենակարևոր հարցին՝ ինչպե՞ս է օգտագործվելու հավելվածը։ Ո՞րն է բիզնեսի արժեքը դրա գոյության համար: Ինչպե՞ս է հավելվածն օգնում մեզ հասնել տրված նպատակին: Իհարկե, այս բոլոր պատասխանները բայց դա է պատճառը, որ դիզայնը միշտ պետք է լինի կրկնվող գործընթաց՝ թույլ տալով, որ փոփոխությունները կատարվեն հնարավորինս անխափան: Ինժեներները պետք է ընդունեն էվոլյուցիան և փոփոխությունը՝ համապատասխանեցնելով հավելվածների զարգացումը ազդեցության հետ: շատ հաճախ անհասկանալի են նախագծի սկզբում. ՔԱՅԼ 2. Կատարեք ձեր ենթակառուցվածքի ռեսուրսները ձեր կարիքներին համապատասխան Երկրորդ քայլը բաղկացած է հավելվածին համապատասխան ռեսուրսներով ապահովելուց և այն ճիշտ ենթակառուցվածքին համապատասխանեցնելուց: Որպես ինժեներ, տեղյակ եղեք, թե ինչպես են հաշվարկվում ամպի ծախսերը: Օրինակ, AWS-ը տրամադրում է տեղում օրինակներ, որտեղ դուք կարող եք առաջարկել կլաստերի գինը. սա հատկապես օգտակար է, եթե ունեք սխալների նկատմամբ հանդուրժող և ճկուն հավելվածներ: Օգտագործեք դրանք, եթե կարող եք. AWS-ը պահանջում է ծախսերի մինչև 90% կրճատում [ ]: 4 Որոշ այլ նկատառումներ, որոնց կարող եք անդրադառնալ, հետևյալն են. Դուք սպասարկում եք հաճախորդներին ամբողջ աշխարհում, թե՞ միայն մեկ աշխարհագրական տարածքում: Ձեզ իսկապես անհրաժեշտ է ձեր ենթակառուցվածքը ամբողջ աշխարհում ապրելու համար, թե՞ կարող եք այն ավելի մոտ դնել ձեր հաճախորդների բազային: Դուք չափից ավելի եք տրամադրում ձեր կլաստերի օրինակները: Փորձեք ապահովել, որ կա բավարար հզորություն՝ առանց ավելորդ ծախսերի գագաթնակետին բեռնաթափելու համար: Օգտագործեք ավտոմատ մասշտաբավորումը ռեսուրսները դինամիկ կերպով կարգավորելու համար՝ հիմնվելով իրական պահանջարկի վրա՝ կանխելով անգործուն ռեսուրսների համար գերավճարները: Եթե դուք աշխատում եք տվյալների և Spark-ի հետ, Եթե դա չես անում, նայիր հետևյալ ռեսուրսներին [ ] [ ] [ ] [ ] [ ]։ համոզվեք, որ հասկանում եք Spark հասկացությունները և թյունինգը: 5 6 7 8 9 ՔԱՅԼ 3. Օգտագործեք AWS Graviton օրինակները AWS Graviton-ի օրինակները օգտագործելու մեջ քիչ կամ բացակայող թերություններ կան: AWS-ը մեծ ներդրումներ է կատարել ամենաարդյունավետ պրոցեսորների ստեղծման համար: Դուք կարող եք ստանալ ամպային ծախսերի մինչև 40% կրճատում՝ պարզապես Intel-ի վրա հիմնված պրոցեսորից ARM-ի վրա հիմնված պրոցեսորի անցնելու միջոցով [ ]: 10 Սրա միակ նախազգուշացումը այն է, որ ձեր հավելվածը պետք է համատեղելի լինի ARM-ի վրա հիմնված պրոցեսորների հետ, որոնց վրա աշխատում է Graviton-ը: Եթե դուք գործ ունեք այնպիսի կառավարվող ծառայության հետ, ինչպիսին է RDS-ը կամ OpenSearch-ը, ապա անջատման հարցում ընդհանրապես բարդություն չկա. AWS-ն գործ ունի հիմքում ընկած ՕՀ-ի և հավելվածների համատեղելիության հետ: Եթե դուք կառուցում եք ձեր սեփական հավելվածը, ապա ձեզ կարող է անհրաժեշտ լինել վերակազմավորել փաթեթը՝ կախված նրանից, թե որ լեզվից եք օգտագործում. Java-ն և այլ լեզուները ոչ մի փոփոխություն չեն պահանջում, մինչդեռ Python-ը որոշակի ուշադրություն է պահանջում: ՔԱՅԼ 4. Հետևեք ձեր ծախսերի ծախսերին և կրթեք ծախսերի մասին տեղեկացվածության մասին Ի վերջո, մի մոռացեք շարունակել վերահսկել ձեր ծախսերը անսպասելի գագաթնակետերի և անակնկալների համար: Ձեր դիմումի 0-րդ օրվա արժեքը կտարբերվի 170-րդ օրվա արժեքից: Համոզվեք, որ հետևում եք փոփոխություններին և հասկանում եք, թե ինչու է տեղի ունենում փոփոխությունը. հասկ. : Ստեղծեք անհրաժեշտ ահազանգերը և գործառնական ուղեցույցները Կարևոր է, ներդրեք ծախսերի բաշխման պիտակներ՝ հետևելու ծախսերն ըստ բաժնի, նախագծի կամ շրջակա միջավայրի: Խուսափեք տվյալների ճահիճ ստեղծելու վտանգից, որտեղ արժեքը անհետագնաց է կամ պահանջում է երկար ճանապարհորդություն տարբեր լոգերի համակարգերով: Այն պետք է լինի արագ և պարզ՝ վերադառնալ ցանկացած հայտի արժեքին: Վերջնական մտքեր Որտեղ էլ որ աշխատեք, դժվար է հավասարակշռել նոր հնարավորությունների առաքումը ընթացիկի օպտիմիզացման հետ: Ո՞ւմ վրա ճնշում չի գործադրվել լույսի արագությամբ նոր տարօրինակ հատկանիշներ մատուցելու համար: Այնուամենայնիվ, և՛ ինժեներների, և՛ ղեկավարների համար կարևոր է կանխամտածված և ակտիվ որոշումներ կայացնել իրենց ընթացիկ նախագծերի վերաբերյալ՝ արդյունավետ կառավարելով ռիսկերն ու հնարավորությունները: