Экологичность в IT: как и зачем

Четыре шага, которые помогут сократить углеродный след IT-инфраструктуры вашей компании — а заодно сэкономить.

Слово «цифровой» обычно ассоциируется с чем-то нематериальным, эфемерным. Однако цифровые сервисы работают на физических серверах, которым требуется питание, а большая часть электроэнергии до сих пор вырабатывается за счет сжигания ископаемого топлива.

Это означает, что цифровые службы оказывают вполне реальное воздействие на количество выбросов углекислого газа и климатические изменения. Это воздействие и способы его минимизации стали темой доклада Криса Адамса (Chris Adams) из фонда Green Web Foundation на конгрессе 36c3.

Крупные IT-компании уже измеряют свой углеродный след — не пора ли и вам?

Сначала немного цифр. К примеру, компания Amazon недавно начала публиковать данные о количестве выбросов, связанных с деятельностью компании. В 2018 году на счету Amazon было 44,4 мегатонны выброшенного в атмосферу углекислого газа, что сопоставимо с углеродными выбросами Финляндии за тот же год. Большая часть выбросов приходится на партнеров компании (упаковка и транспортировка товаров, командировки сотрудников и так далее).

На долю компании Apple в 2018 году пришлось 25,2 мегатонны углеродных выбросов, что примерно соответствует вкладу Монголии. Однако если не считать выбросы, связанные с производством товаров под маркой Apple, то выбросы самой компании составили всего 0,6 мегатонны — на уровне Гамбии. Примерно половина этого приходится на деловые поездки; еще 30% — на проезд сотрудников до места работы и обратно. Углеродный след Google примерно вдвое больше — 1,2 мегатонны, что сопоставимо с количеством выбросов Либерии.

Как видите, IT-компании вносят серьезный вклад в мировой объем углеродных выбросов. Что же вы можете сделать со своей IT-инфраструктурой, чтобы минимизировать ее вред?

1. Используйте масштабируемую архитектуру

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

Однако интенсивность использования Интернета — и ваших сервисов — варьируется в зависимости от времени суток, и, соответственно, нагрузка на серверы значительно колеблется. Вероятнее всего, в ночное время нагрузка будет заметно ниже, чем в дневное. Конечно, в каждом конкретном случае картина может отличаться — можете использовать аналитику, чтобы понять, как обстоят дела в вашей инфраструктуре.

Типовое распределение интернет-трафика в течение суток

Типовое распределение интернет-трафика в течение суток

Вот здесь и пригодится масштабируемость. При использовании ПО с масштабируемой архитектурой балансировщики нагрузки могут автоматически повысить вычислительную мощность конкретной машины или добавить дополнительные серверы в зависимости от количества получаемых вами запросов. Это означает, что вам не придется тратить электроэнергию (и деньги) на серверы, работающие вхолостую.

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

2. Используйте экологичных провайдеров

Провайдеры облачных сервисов используют различные источники электроэнергии. В первую очередь их выбор зависит от ситуации с энергоснабжением в регионе в целом. Например, в Швеции в основном используются возобновляемые источники электроэнергии, такие как ветер и вода. Франция активно использует атомную энергию — это тоже достаточно экологичный вариант. А вот в Польше большую часть электроэнергии вырабатывают тепловые электростанции, сжигающие уголь.

Углеродные выбросы вашей компании могут зависеть от местоположения ЦОД, обеспечивающего ее облачные вычисления. Крупные сервисы, такие как AWS и Microsoft Azure, обычно уделяют экологическому аспекту больше внимания, чем более мелкие.

Например, пользователи Amazon Web Services имеют возможность выбрать физическое местоположение серверов, а на специальной карте показано, какие из центров обработки данных AWS используют энергию, полученную из возобновляемых источников, а какие — нет.

Регионы AWS. Зеленый лист обозначает экологичные источники энергии. Источник: https://www.awsgeek.com/AWS-Regions/index.html

Регионы AWS. Зеленый лист обозначает экологичные источники энергии. Image source

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

Но вовсе необязательно выбирать именно AWS или Azure, если вы стремитесь к экологичности. Green Web Foundation предлагает список более мелких провайдеров, использующих «зеленую» энергию. А вот вычисления на собственном оборудовании с экологической точки зрения выглядит хуже; облачные системы позволяют более равномерно распределять задачи и эффективнее использовать вычислительные мощности, тем самым добиваясь экономии энергии.

3. Выбирайте язык программирования правильно

Языки программирования отличаются друг от друга множеством аспектов, среди которых логика, синтаксис, возможности и так далее. Неодинаково и потребление ресурсов. Так, скрипты, написанные на JavaScript и Python, как правило, потребляют больше ресурсов по сравнению с компилированными программами, написанными на таких языках, как Fortran, C++ и Rust.

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

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

Оптимальные языки для различных задач. Источник: https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf

Оптимальные языки для различных задач. Source

Разумеется, основными критериями выбора языка программирования будет специфика ваших задач, возможности сотрудников и уже имеющаяся технологическая база, однако экологичность также стоит принять в расчет: так, например, программы на JavaScript могут потреблять примерно вдвое больше ресурсов, чем программы на C.

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

4. Оптимизируйте веб-страницы

Недавно размер средней веб-страницы перевалил за 3 мегабайта — это больше, чем размер оригинальной игры Doom. Чем больше весит страница, тем больше энергии требуется на ее передачу от сервера к клиенту и на ее отображение в браузере. Возможно, вы полагаете, что это не оказывает существенного влияния на углеродные выбросы, но Green Web Foundation придерживается иного мнения.

Так, например, представители фонда выяснили, что воспроизведение видеоролика в фоновом режиме приводит к такому же количеству углеродных выбросов, что и проезд участников проекта до места работы. Помните, что 30% всех выбросов компании Apple связано с проездом ее сотрудников до места работы и обратно? Можете оценить масштаб проблемы.

Вот еще одно сравнение: потоковое видео в Сети производит столько же выбросов, сколько вся Испания (вишенка на торте: порно генерирует 27% от этого объема, что соответствует уровню Австрии). Соответственно, любая оптимизация должна начинаться с отказа от автоматического воспроизведения видео.

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

Green Web Foundation предложила еще один инструмент под названием Greenhouse, который анализирует страницы и проверяет, работают ли используемые ими домены на возобновляемой энергии. С точки зрения оптимизации он не столь полезен, как Lighthouse, однако он может помочь организациям выбирать более экологичных провайдеров.

Еще один полезный инструмент — The Green Web App — позволят проверить, использует ли сервер, на котором находится ваш сайт, экологичные источники энергии. К сожалению, немногие хостинг-провайдеры публикуют информацию об экологичности используемой ими электроэнергии. Так что с большой вероятностью ваш сайт попадет в «серую» зону, что означает, что фонд не располагает соответствующей информацией о вашем хостинг-провайдере.

Беречь планету, экономя деньги

Для некоторых людей и организаций предотвращение глобального потепления само по себе является достаточной причиной, чтобы внедрять все эти оптимизации. Но, увы, не для всех. И тут бывает полезно вспомнить о том, что в IT эко — это обычно не только экологичность, но заодно и экономия денег.

Если забота о нашей планете не является в вашем случае решающим фактором, вот еще несколько преимуществ экологичности, которые могут убедить ваше руководство:

  • После оптимизации хостинга и кода ваши потребности в вычислительной мощности снизятся — это прямая экономия.
  • Ваш веб-сайт будет загружаться быстрее, следовательно, меньше пользователей будут его закрывать, не дождавшись окончания загрузки.
  • Чем быстрее веб-сайт, тем выше его рейтинг в поисковиках, следовательно, его увидит больше потенциальных клиентов.
Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.