Зелено пресметување: како да го ревидирате и намалите јаглеродниот отпечаток на софтверот
Практичен водич за зелено пресметување: ревидирајте го стекот, средете ги упитите, смалете ги API одговорите, изберете почист облак регион и гасете го мирниот капацитет.
Содржина
- Што е јаглеродниот отпечаток на софтверот
- Зошто ефикасниот корпоративен софтвер е важен сега
- Почнете со ревизија на јаглеродниот отпечаток
- Приспособете ја големината на серверите
- Оптимизирајте ги упитите до базата
- Чувајте помалку податоци
- Намалете ја големината на API одговорите
- Пренесувајте помалку бајти низ мрежата
- Изберете почист облак регион
- Намалете до нула
- Исклучете ги ресурсите што мируваат
- Проектирајте го софтверот за помалку работа
- Изградете инженерска навика
- Мерете го јаглеродниот отпечаток по промените
- Финансискиот аргумент следи
- Што следува понатаму
- Накратко
Зеленото пресметување има цел да го намали јаглеродниот отпечаток на софтверот, а добивката е поголема отколку што мислат повеќето тимови. Секој упит до базата, секој повик до API и секоја задача во облакот влече струја од мрежата. Бидејќи повеќето мрежи сѐ уште горат гас и јаглен, софтверот носи вистинска климатска цена. Таа цена паѓа двапати: еднаш во јаглерод, еднаш на месечната сметка.
Кога софтверот е ефикасен, тој троши помалку ресурси. Затоа зелените цели и трошковните цели одат во иста насока. Тоа е ретко во корпоративната технологија, па заслужува внимание.
Овој водич го следи практичниот редослед. Прво мапирате што навистина работи. Потоа го наоѓате отпадот. На крајот ги поправате најголемите одливи и ја мерите промената во јаглеродниот отпечаток.
Што е јаглеродниот отпечаток на софтверот
Повеќето луѓе го врзуваат јаглеродниот отпечаток за фабрики, возила и авиони. Сепак, и софтверот носи свој отпечаток. Секој клик пренесува податоци низ сервери, дискови, мрежна опрема и кориснички уреди. Сето тоа работи на струја.
Типична корпоративна апликација обработува милиони трансакции дневно. Секоја од нив зема процесорско време, проток на дискот и мрежен капацитет. Кога кодот е расипнички, потрошувачката на енергија расте со него.
Облак добавувачите многу ја подобрија страната на понудата. Сепак, натрупана апликација и натаму гори вистинска струја. Накратко, софтверот сам по себе станува скриениот одлив.
Значењето е едноставно. Тоа е струјата што системот ја влече додека работи, плус струјата зад складирањето, копиите и врските што го поддржуваат. Green Software Foundation одржува отворена спецификација за таа мерка, што им дава на тимовите заеднички речник.
Зошто ефикасниот корпоративен софтвер е важен сега
Клиентите, инвеститорите и регулаторите сега прашуваат за јаглеродниот отпечаток. Европските правила ги обврзуваат поголемите фирми да ги објават бројките. Затоа темата излезе од лабораторијата и влезе во буџетот.
Корпоративните системи работат и деноноќно. Тие вртат ноќни пакетни обработки и служат корисници цел ден. Ситниот отпад, на таа скала, се собира во вистински пари.
Цените на струјата го зајакнуваат аргументот. Дата центрите, облак плановите и процесорското време се вистински оперативни трошоци. Меѓународната агенција за енергија ја следи побарувачката на струја во дата центрите секоја година, а трендот оди нагоре.
Почнете со ревизија на јаглеродниот отпечаток
Не можете да намалите нешто што не го гледате. Затоа работата почнува со попис. Запишете ги апликациите, позадинските задачи, редиците пораки, базите на податоци и корпите за складирање.
Потоа соберете ја телеметријата што вашата облак платформа веќе ја објавува. Оптоварувањето на процесорот, меморијата, растот на дискот и мрежниот сообраќај кажуваат сигурна приказна. Најголемиот дел од неа не чини ништо.
Потоа испитајте ја брзината. Кога софтверот е бавен, тој држи сервер отворен подолго и гори повеќе струја за истиот резултат. На пример, извештај што трае четири минути чини многу повеќе од оној што завршува за четири секунди.
Погледнете ги и часовите на врв. Побарувачката расте и паѓа, а јазот меѓу двете покажува каде можете да се смалите.
Повеќето тимови тука наидуваат на изненадување. Старите сервиси често мируваат на три отсто оптоварување додека држат цела машина.
Приспособете ја големината на серверите
Облак таблите известуваат колку навистина користите од секоја инстанца. Ниските бројки значат отпад. Многу фирми плаќаат за четири пати повеќе процесор отколку што допираат.
Прекумерното резервирање е навика родена од претпазливост. Поголемата инстанца го крие софтверот што работи бавно, па тимовите купуваат една и продолжуваат. Сепак, растат и фактурата и потрошувачката на струја.
Приспособувањето на големината го поправа тоа. Спарете ја инстанцата со вистинската побарувачка, држете разумна резерва и вратете се на изборот секое тромесечје.
Оптимизирајте ги упитите до базата
Базите на податоци трошат повеќе струја од кој било друг дел на стекот. Невешт упит може да чини многукратно повеќе процесорски циклуси од добар, за ист резултат.
Почнете од дневникот на бавни упити. Тој ги именува наредбите што јадат најмногу време, а тие заслужуваат внимание први.
Индексите ја носат тежината. Со соодветен индекс, механизмот наоѓа десет редови наместо да скенира десет милиони.
Потоа тргнете ги повторувањата. Јамка што ја прашува базата еднаш по ред е класичен одлив. Едно спојување ја врши истата работа во еден премин.
Барајте и помалку податоци. Изберете ги четирите колони што ги прикажувате, наместо секоја колона во табелата.
Чувајте помалку податоци
Складирањето расте без пауза, а секоја копија бара струја за држење, за копирање и за огледало. Сепак, многу од она што фирмите го чуваат нема веќе никаква намена.
Определете период на чување за секоја класа податоци. Преместете ги студените записи во евтино складирање, па избришете сѐ што законот повеќе не бара да го држите.
И компресијата помага. Помалите датотеки земаат помалку диск и поминуваат низ мрежата побрзо.
Едно чистење често ослободува голем дел од кластерот. Бидејќи придобивката доаѓа брзо, тоа е одлична почетна точка.
Намалете ја големината на API одговорите
API интерфејсите ја поврзуваат секоја современа архитектура. Сепак, многу од нив праќаат далеку повеќе податоци отколку што му требаат на клиентот.
Отворете еден одговор и прочитајте го внимателно. Ако екранот покажува шест полиња, а крајната точка враќа шеесет, плаќате да ги изградите, испратите и разложите останатите.
Помалите одговори чинат помалку на секој скок. Тие се чувствуваат и побрзи на мобилна врска со слаб сигнал.
Кеширањето носи уште една добивка. Кеширан одговор го избегнува целото патување, па работата никогаш не се повторува. HTTP ги поставува правилата во RFC 9111.
Пренесувајте помалку бајти низ мрежата
Секоја датотека и секој одговор поминуваат низ прекинувачи, рутери и радио опрема. Според тоа, секој скок влече струја.
Вклучете компресија на работ на мрежата. Gzip и Brotli остро ги смалуваат текстуалните одговори за многу скромна процесорска цена.
Слично, помага и мрежа за испорака на содржина. Кога содржината седи поблиску до корисникот, бајтите патуваат пократко и стигнуваат порано.
Сликите, особено, заслужуваат преглед. Современите формати и правилно димензионираните датотеки често штедат повеќе струја од која било промена во кодот.
Изберете почист облак регион
Облак добавувачите водат дата центри низ целата планета. Мрежите зад нив се разликуваат огромно. Еден регион може да работи главно на хидро струја, додека неговиот сосед се потпира на јаглен.
Истото работно оптоварување, значи, остава сосема различен отпечаток на две места. Google го објавува уделот на енергија без јаглерод за секој регион, па споредбата трае минути наместо недели.
Доцнењето и законот сѐ уште доаѓаат први. Банка не може да ги мести податоците на клиентите по своја волја. Во тие граници, сепак, изберете ја почистата мрежа.
Green Web Foundation одржува отворена база на хостови што работат на зелена струја, што нуди корисно второ мислење.
Намалете до нула
Традиционалните сервери работат преку ноќ без разлика дали некој ги повикува. Тоа е чист отпад.
Serverless платформите го превртуваат моделот. Софтверот се буди на настан, ја завршува задачата и запира. Плаќате за работата, а не за часовите на мирување.
Редиците пораки, закажаните задачи и webhook повиците добро одговараат на овој образец. Долгите сокети и оптоварувањата гладни за меморија честопати не одговараат, па тестирајте пред да мигрирате.
Исклучете ги ресурсите што мируваат
Развојните машини, тест кластерите и заборавените демоа знаат да преживеат со години. Тие влечат струја и не враќаат ништо.
Освен тоа, означете го секој ресурс со сопственик и датум на истек. Неозначениот капацитет станува прв кандидат за прашување.
Автоматизацијата ја прави вежбата безболна. На пример, едноставен распоред може да го запре тест окружувањето во седум секоја вечер и да го врати во осум секое утро. Само таа мерка брише повеќе од половина од неговите работни часови.
Проектирајте го софтверот за помалку работа
Проектантските одлуки го поставуваат подот на потрошувачката за години однапред. Чист дизајн го тера софтверот да прави помалку работа по барање, и продолжува така.
Микросервисите носат флексибилност, но создаваат и брборење. Секој скок меѓу сервисите чини повик, разложување и чекање.
Измерете ја таа размена внимателно. Ако два сервиси секогаш се објавуваат заедно, веројатно припаѓаат во една компонента.
Пакетната работа ја победува брборливата. Исто така, едно барање што носи илјада редови победува илјада барања што носат по еден ред.
Изградете инженерска навика
Софтверот станува ефикасен на тастатурата. Потесна јамка или подобра структура на податоци често штеди повеќе отколку што носи дополнителен сервер.
Додајте ја струјата во списокот за преглед на кодот. Прашајте што чини една промена по барање, покрај вообичаените прашања за безбедност.
И тестирањето на оптоварување ја поддржува целта. Тоа ја открива процесорската цена на една функција пред клиентите воопшто да ја видат.
Во Square Software брзината и отпадот ги третираме како една тема. Нашите софтверски производи и услуги за аутсорсинг се потпираат на едноставни дизајни, тесни упити и збиени одговори, зашто тие избори служат и на фактурата и на планетата.
Мерете го јаглеродниот отпечаток по промените
Поставете основна линија пред да смените што било. Без неа не можете да докажете победа.
Изберете неколку едноставни мерки. Процесорски часови на илјада барања, бајти по одговор и киловат часови месечно служат добро.
Облак конзолите сега вклучуваат извештаи за јаглеродниот отпечаток. Бројките остануваат груби, но одат во вистинската насока, што е она што ви треба.
Прегледувајте ги бројките секое тромесечје. Оптоварувањата се менуваат, тимовите објавуваат, а лањската добивка може тивко да скапе.
Финансискиот аргумент следи
Севкупно, ефикасноста се исплаќа. Помалку процесорски часови, помалку гигабајти и помалку барања слетуваат на истата фактура.
Брзината се исплаќа двапати. Побрзиот екран ги задржува клиентите и ослободува сервери за следното барање.
И поддршката станува полесна. Поедноставните системи откажуваат поретко и бараат помалку време за поправка.
Многу од овие поправки чинат неколку дена работа, па потоа се исплаќаат постојано. Ако сакате груба бројка за вашето окружување, нашиот проценувач на проекти нуди брза почетна точка, или можете да нѐ контактирате со бројките што веќе ги имате.
Што следува понатаму
Побарувачката за зелена технологија продолжува да расте. Развојните алатки наскоро ќе го пријавуваат јаглеродниот отпечаток покрај процесорот, како ствар од рутина.
Вештачката интелигенција ќе помогне да се забележи отпад што човечкиот преглед го пропушта. Таа додава и тешко оптоварување, па чистата добивка никогаш не е автоматска.
Облак добавувачите продолжуваат да купуваат зелена струја и да го подобруваат ладењето. Тие вложувања користат на секој закупец одеднаш.
Тимовите што почнуваат денес пристигнуваат подготвени. Пред сѐ, тие ќе водат корпоративно окружување што чини далеку помалку.
Накратко
Секоја фирма што сака да го намали јаглеродниот отпечаток на софтверот треба да почне со видливост, а не со погодување. Прво мерете, па поправете ги најголемите одливи.
Тесни упити, збиени одговори, почист регион и капацитет што спие: секој од нив кратни и струја и трошок одеднаш.
Зеленото пресметување не е споредна работа. Тоа е обично инженерство направено како што треба, а фактурата го потврдува.
Спремни да го започнете вашиот проект?
Да разговараме како можеме да ви помогнеме да ги оживеете вашите идеи со софтверски решенија по нарачка.