GreenCoding
Czy kod mógłby również pomóc w osiągnięciu celów zrównoważonego rozwoju, a przy okazji poprawić doświadczenia użytkowników?
- Spraw, aby rozwój oprogramowania stał się częścią Twojego programu zrównoważonego rozwoju dzięki GreenCoding. GreenCoding może zmniejszyć zużycie energii i emisję gazów cieplarnianych w całej organizacji i łańcuchu dostaw.
- Każda linijka kodu, skalowana do serwerów i urządzeń konsumenckich na całym świecie, może potencjalnie zmniejszyć zużycie energii i emisję.
- GreenCoding opiera się na zasadach architektonicznych wspieranych przez trzy filary: logikę, metodologię i platformę używaną do pisania, opracowywania oraz uruchamiania kodu.
Zrównoważony rozwój w liczbach
21%
Information and communications technology could account for 21% of global electricity demand by 2030
2 dni
można by zaoszczędzić, zmniejszając rozdzielczość aplikacji mobilnej, z której korzysta 500 000 użytkowników
40%
o tyle uczenie maszynowe może zmniejszyć zapotrzebowanie na chłodzenie centrów danych
Do 99,9%
redukcji emisji CO2 można osiągnąć dzięki zastosowaniu najlepszych praktyk podczas szkolenia sieci AI
„Kiedy milisekunda może mieć równowartość 2 dni? Zmniejszając rozdzielczość obrazów wyświetlanych na ekranie aplikacji bankowości mobilnej, z której korzysta 500 000 użytkowników, programiści mogliby zaoszczędzić ponad 2 dni czasu pracy rocznie, zakładając, że przeciętny użytkownik otwiera aplikację codziennie.“
Fundamentem GreenCoding są trzy zasady architektoniczne:
- Wyłączanie w stanie bezczynności. Oznacza to projektowanie w taki sposób, aby oprogramowanie było wyłączane, gdy nikt go nie używa.
- Unikanie impulsywnej konsumpcji. Należy zadać sobie pytanie, czy przetwarzanie w czasie rzeczywistym lub treści dynamiczne są zawsze konieczne.
- Koncentracja inwestycji na czasie i energii. Spójrz na całość, aby zobaczyć, które elementy będą wymagały najwięcej energii i czasu.
Trzy filary GreenCoding
GreenCoding opiera się na zasadach architektonicznych wspieranych przez trzy filary: logikę, metodologię i platformę używaną do pisania, opracowywania i uruchamiania kodu.
1. Bardziej ekologiczna logika
W przypadku GreenCoding każda decyzja ma znaczenie. Nawet jedna optymalizacja może wywierać wpływ, gdy łączy się z wieloma innymi. Naszym zdaniem istnieją cztery obszary istotne dla uzyskania bardziej ekologicznej logiki:
- Treści wizualne oparte na korzyściach. Dostarczanie użytkownikom szybciej tego, czego chcą, zwiększa zadowolenie klientów, a także oszczędza czas i energię.
- Kod bez zbędnych pozostałości. Usuwanie martwego kodu za pomocą silników eliminacyjnych i przydzielanie programistom budżetów zależnych od rozmiaru lub wydajności.
- Zasoby o niskim śladzie ekologicznym. Wybieranie prostszych formatów plików, wydajnych interfejsów API i zoptymalizowanego pakowania obrazów.
- Częstotliwość użytkowania i bliskość. Progresywne aplikacje internetowe (PWA) i sieci dostarczania treści (CDN) mogą obsługiwać wygasanie treści i zmniejszać fizyczną odległość między serwerem a użytkownikiem.
2. Bardziej ekologiczna metodologia
- Szybka informacja zwrotna – lepsze decyzje. Metody zwinne i lean mogą ułatwić dostosowanie oprogramowania, by zyskać większą wydajność, a ciągła integracja i nieustanne dostarczanie usług umożliwiają wizualizację wpływu każdej decyzji dotyczącej jego rozwoju.
- Wyniki wielokrotnego użytku. W sercu zrównoważonego rozwoju oprogramowania leży szerokie udostępnianie wyników projektów GreenCoding w organizacji i poza nią.
3. Bardziej ekologiczna platforma
By uzyskać optymalną efektywność energetyczną, należy uznać infrastrukturę, na której działa kod, za równie ważna jak kod.
- Optymalne wykorzystanie. Małe wykorzystanie jest zazwyczaj wynikiem przeszacowania na etapie planowania i może skutkować systemami, które są o wiele większe niż powinny być.
- Precyzyjna konfiguracja. Wgląd w opcje konfiguracyjne może ujawnić nieefektywności, na przykład ustawienia kompresji HTTP2 lub gzip, które nigdy nie zostały włączone.
- Holistyczne pomiary. Oprócz zapotrzebowania serwerów na energię pomiary powinny obejmować również infrastrukturę "ukrytą", taką jak urządzenia osobiste.
GreenCoding: nowa pionierska koncepcja w rozwoju oprogramowania
Koncepcja GreenCoding zakłada, że rozwój oprogramowania staje się elementem programu zrównoważonego rozwoju, pozwala ograniczyć zużycie energii i emisje gazów cieplarnianych w obrębie całej organizacji oraz łańcucha dostaw.