Блог

Как писать эко-френдли код: 9 практических советов

Сегодня на долю ИТ-сектора приходится до 3,9% глобальных выбросов парниковых газов. К 2040 году этот показатель может вырасти до 14%. Центры обработки данных, серверы и другая ИТ-инфраструктура, переработка электронных отходов — всё это требует энергии. Пока что энергия — это, прежде всего, ископаемое топливо, которое приводит к выбросам парниковых газов, таких как углекислый газ, влияющий на глобальное потепление. Полагаться на альтернативные источники энергии, такие как солнечная и ветровая, пока не приходится: спрос на энергию в мире и в области технологий растёт гораздо быстрее, чем развивается инфраструктура зелёной энергетики.

Сейчас я работаю в ИТ и точно знаю: в этой сфере тоже есть место для бережного отношения к нашей планете и её ресурсам. Хочу поделиться с вами девятью простыми советами, которые помогут писать эко-френдли код.


Кто пишет: Аня Шагурина, бизнес-аналитик, авторка блога Travel & Recycle.  


Анна во время записи подкаста

Как ИТ вредит окружающей среде?

Моё погружение в тему экологии началось в 2018 году, когда я переехала из Минска в Киев. Культурным шоком стало количество мусора, летящего по улицам. Сначала это удивляло, потом начало раздражать. Затем я стала задаваться вопросами: чей это мусор? Как он здесь оказался? Что я могу с этим сделать?

Постепенно я начала заниматься бытовым экоактивизмом: сортировка мусора стала нормой, как и покупка товаров в многоразовые мешочки. Рассказы знакомым о последствиях использования одноразового пластика помогли мне развить навыки сторителлинга.

Мировые гиганты, такие как Microsoft, GitHub, Thoughtworks и Accenture, в 2021 году основали Green Software Foundation, чтобы продвигать принципы зелёного кодинга в массы. Это подходы к программированию, которые позволяют минимизировать энергопотребление и оптимизировать использование вычислительных ресурсов. Это не идеальное или лучшее решение для борьбы с глобальным потеплением, но реальные действия лучше, чем просто глубокая обеспокоенность.


Дисклеймер: Для кого-то советы ниже могут быть очевидными, а для кого-то — инсайтом дня; какие-то могут не подойти для текущего проекта из-за условий безопасности, а для других вполне сгодятся. Моя цель — заставить вас задуматься о том, насколько наши действия влияют на планету.


Совет № 1. Узнайте, существуют ли в вашей компании стандарты грин-кодинга. Если да — ознакомьтесь с ними. Если нет — это отличная возможность проявить свой экоактивизм не только в быту, но и на работе, попробовав внедрить такую практику. В качестве основы можно использовать ресурсы Green Software Foundation.

Совет № 2. Используйте плагины для мониторинга энергопотребления в режиме реального времени. Например, можно обзавестись физическим устройством из лиги IoT: гораздо проще повлиять на то, что мы знаем и можем измерить.

Совет № 3. Используйте кэширование — это уменьшит количество ненужных вычислений и передач данных.

Совет № 4. Выбирайте энергосберегающие библиотеки и алгоритмы (часто они ещё и более производительные).

Совет № 5. Знаю, кэп, но всё же: пишите модульный и переиспользуемый код. Это облегчит сопровождение и обновление.

Совет № 6.  Предпочитайте рефакторинг переписыванию кода. Речь идёт об энергозатратах на тестирование и деплой нового кода. Новый код увеличивает углеродный след всей цепочки принятого решения.

Совет № 7. Хорошая документация (да и просто её наличие!) помогает снизить количество ошибок, сохранить нервные клетки команды поддержки и уменьшить вероятность переписывания кода (смотри пункт 6).

Совет № 8. Выбирайте облачные сервисы. Это позволит снизить энергозатраты на 93% и выбрасывать на 98% меньше парниковых газов, чем локальная ИТ-инфраструктура.

Совет № 9. По возможности минимизируйте использование генеративного ИИ. Да, знаю, этот совет вряд ли добавит очков начинающему автору блога. Но вдумайтесь! ИИ уже сегодня потребляет столько же энергии, сколько небольшая страна. И это только начало. Затраты энергии на запрос в условный ChatGPT vs условный Google выше примерно в десять раз.

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

Мнение автора может не совпадать с позицией редакции. 

Что ещё прочитать про необычные хобби беларусов:

  • «Искал как разгрузить мозг». Разработчик рассказывает, как автоматизировал кикер (он считает голы); 
  • Проста пачаць, лёгка выгараць. Студэнт перакладае культавую гульню на беларускую мову; 
  • Дзе знаходзіцца Сянно? Беларусы стварылі бот, які дапаможа лепей вывучыць геаграфію радзімы. 
Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Anonymous
Anonymous
7

Facepalm навылет...
Редакция достигла дна и начала активно копать.
На какие донаты вы после такого рассчитываете?

3

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

1

Судя по всему, все кто выехал подсели на какие то гранты определенных социалистических огранизаций и теперь как под копирку повторяют одно и тоже про "угнетение" женщин, "потепление", геев и все остальные типичные атрибудет левой пропаганды.
Это первая стадия, следующая будет о том что своему ребенку нужно дать определиться с поломо, судя по тому что у нас все происходит несколько с опозданием в 10-20 лет.

Пользователь отредактировал комментарий 14 августа 2024, 17:23

Anonymous
Anonymous
4

Судя по всему, все кто выехал

Дело совсем не в выезде. Я сам много лет как "выехал", лично знаю таких же давнопонауехалов - ни один левачеством не страдает.
Проблема не в местонахождении, проблема в голове.

1

Вы работаете в сми?
Тогда объясните как после выезда все эти говорящие головы начали в каждой статье и передаче писать эту чушь про - геев, угнетение женщин, якобы смерь планеты от глобального потепления которая так и не наступила хотя уже в 2017 должы были растаять все ледники и т.п.

Anonymous
Anonymous
0

Вы работаете в сми?

Боже упаси, "у меня профессия есть!" (С)

объясните

Да банально мозг рака в сочетании со свободой слова. Ничего больше не мешает пациенту свободно прослабляться прямо в публику всем тем, что набродило в больной голове.

2

Я все таки пока остаюсь на мнении что они подсаживаются на гранты от фондов с определенной идеологией и им прям как на БТ дают требования по озвучиванию тех или иных идеологических установок.
Иначе очень трудно объяснить тот уровень упорства в продвежении определенных тем которые можно наблюдать.

Комментарий скрыт за нарушение правил комментирования.

Правила тут, их всего 5

Комментарий скрыт за нарушение правил комментирования.

Правила тут, их всего 5

12

Самое интересно она ни разу не разработчик

7

Такое сейчас время: не разработчики учат писать код, карьерные коучи, без образования и карьерного пути, учат делать карьеру…

3

У них есть недельные курсы и сгенерированная pdf-как как сертификат.

8

Как я люблю зелёных. Постоянно столько усиллий чтобы ЯКОБЫ решая долгосрочные глобальные проблемы в будущем они повсеместно создают реальные локальные проблемы уже сейчас.

Направьте свою энергию в конструктивное русло. Разработка чистых источников энергии это конечно не к вам. Но добейтесь на уровне государтв и трудовых кодексов ОБЯЗАТЕЛЬНОЙ удалёнки везде где это возможно. На дорогах сразу станет даже не знаю, в 100 раз? меньше машин. Это сколько выбросов вы сократите. Только вдумайтесь. Да большинство работы сейчас можно делать удалённо. Даже учиться. Ковид это доказал. Вот добивайтесь. Удивитесь как легче дышать в городах станет.

Пользователь отредактировал комментарий 14 августа 2024, 19:37

5

Девушке нужно идти кодить firmware для устройств критичных к энергопотреблению, т.е. все что на аккумуляторах и батарейках

Anonymous
Anonymous
4

Там жеж думать и работать надо а не активизмом заниматься

7

Дык девушка кодить не умеет. А умеет мусорный контент генерировать.

zabelarus14
zabelarus14 Инженер в НИИ им. Баца
2

оставила углеродный след пока дышала над статьей?

zabelarus14
zabelarus14 Инженер в НИИ им. Баца
0

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

4

Извините, но такая статья - это позор даже для дев бая.

6

Для девбая уже ничего не является позором. ))
С момента как их купил один эффективный менеджер-инвестор. Что превело к тому что стати тут начали писать копирайтерши которые из ИТ знаю только название, а так же всяки уровня авторки это статьи.

Пользователь отредактировал комментарий 15 августа 2024, 14:52

2

Go woke - go broke

0

В точку.))

А К
А К Staff Software Engineer в GameDev
6

Эта статья - пример выброса парниковых газов, которого можно было легко избежать.

zabelarus14
zabelarus14 Инженер в НИИ им. Баца
0

экоактивисты не едят горохового супа, чтобы снизить свой углеродный след

Пользователь отредактировал комментарий 22 августа 2024, 13:25

1

Это всё как перекладыание яиц из одной корзины в две. Не всё так просто, из ниоткуда не произойдёт общее сокращение.

Кто-то бывает пишет очень плохой код, это лишние операции, а это лишние ресурсы. В то же время чтобы исправить надо ещё работать, больше денег, больше времени, а это всё потребляет тоже ресурсы. Оптимизация туда же. Людям кончено проще оценивать потребление в виде затрат стоимости, а не прям думать о конечном выбросе парниковых газов в следствии всей цепочки разработки и работы.

Ну а вообще делаются научные исследования и всё считается. Только это нифига не простое занятия оценить всю цепочку, а ещё и разных случаев, при том, что у всех разное железо, разный софт, это слишком много факторов, чтобы так легко провести исследование. Но ведь можно просто представить (придумать) и рассказать на весь свет как надо делать.

Но а вообще, потребление ресурсов будет расти, и дальше будет расти. Надо решать не проблему роста потребления, а проблему экопроизводства. И это не всегда возможно чисто эко из-за локальных условий, а разработка, внедрение, обслуживание тоже стоит денег и ресурсов. Везде приходится искать компромиссы. Как и в самой разработке, потому что всё это дело бывает сложным.