paint-brush
Quy tắc của chúng tôi đang gây hại cho hành tinh, chúng tôi cần các mẫu thiết kế nhận biết carbontừ tác giả@gsf
55,068 lượt đọc
55,068 lượt đọc

Quy tắc của chúng tôi đang gây hại cho hành tinh, chúng tôi cần các mẫu thiết kế nhận biết carbon

từ tác giả Green Software Foundation (GSF)6m2022/10/22
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Cách API nhận biết carbon có thể giúp chúng tôi đo lường và phản ứng với cường độ carbon của điện (gCO2 / kWh) để giảm lượng khí thải carbon được tạo ra thông qua phần mềm.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Quy tắc của chúng tôi đang gây hại cho hành tinh, chúng tôi cần các mẫu thiết kế nhận biết carbon
Green Software Foundation (GSF) HackerNoon profile picture


Hãy trở thành kiến trúc sư của một thế giới xanh hơn, sạch hơn


Đám mây có một lượng khí thải carbon lớn hơn hơn ngành hàng không. Với nhu cầu ngày càng tăng về phần mềm thúc đẩy thương mại và công nghiệp, việc thu thập và lưu trữ dữ liệu, điện toán đám mây và AI ngày càng cấp thiết hơn để cung cấp điện từ các nguồn năng lượng xanh hơn và tạo ra ít khí thải carbon hơn đáng kể.


Bằng cách chuyển mức tiêu thụ điện sang những thời điểm và những nơi có điện sạch nhất, chương trình có thể giảm thiểu biến đổi khí hậu và đảm bảo một tương lai sạch hơn và an toàn hơn cho chúng ta và các thế hệ tương lai. Đây là Máy tính Nhận thức Các-bon và nó có tiềm năng làm cho việc phát triển phần mềm trở thành một lực lượng quan trọng trong việc giảm thiểu biến đổi khí hậu bằng cách giúp chúng tôi lựa chọn và tối ưu hóa năng lượng không có các-bon với mã ý thức về khí hậu.


Máy tính nhận thức carbon 101

Không có nhiều ví dụ về máy tính nhận biết carbon - đó là lý do tại sao các sự kiện như __ Carbon Hack 22 __ có ý nghĩa quan trọng trong việc tìm kiếm ý tưởng mới từ cộng đồng và tăng tốc đổi mới trong lập trình phần mềm để xây dựng các ứng dụng vừa có ý thức về khí hậu vừa đáp ứng được năng lượng .

Green Software Foundation __ thảo luận về nhận thức __cacbon là ý tưởng làm được nhiều việc hơn khi có nhiều năng lượng hơn đến từ các nguồn "sạch" cacbon thấp và làm ít hơn khi nhiều năng lượng hơn đến từ các nguồn "bẩn" cacbon cao. Là nhà phát triển, chúng tôi có thể làm như vậy bằng cách đo và phản hồi cường độ carbon của điện (gCO2 / kWh), có thể giúp tạo mã để giảm lượng khí thải carbon được tạo ra thông qua phần mềm.

Ứng dụng và phương pháp tiếp cận máy tính carbon


Có 3 cách tiếp cận rộng rãi:


  1. Thay đổi vị trí: Chạy phần mềm của chúng tôi ở một vị trí sạch sẽ hơn; tìm nguồn cung cấp điện từ khu vực có nguồn cung cấp năng lượng sạch hơn (ví dụ: gió, năng lượng mặt trời, nước) lớn hơn các khu vực khác.



2. Dịch chuyển thời gian: Chạy phần mềm của chúng tôi vào một thời điểm sạch sẽ hơn; khi năng lượng sạch được tạo ra từ gió, nước hoặc năng lượng mặt trời.


  1. Định hình nhu cầu: Chạy phần mềm của chúng tôi để nó hoạt động nhiều hơn khi điện sạch và ít hơn khi bẩn.



Việc xây dựng các ứng dụng nhận biết carbon là một thách thức, mặc dù có nhiều nguồn dữ liệu khác nhau, một phần vì một số nguồn này khó định hướng. Các mã nguồn mở Carbon Aware API , một dự án của Nhóm Công tác Nguồn Mở của Tổ chức Phần mềm Xanh, giúp việc này trở nên dễ dàng hơn. API này giúp chúng tôi xác định, phân tích và dự đoán cường độ carbon (mức độ xanh hay bẩn của điện) trong ứng dụng của chúng tôi tại bất kỳ thời điểm nào và ở bất kỳ địa điểm nhất định nào và tạo mã cho phép phần mềm của chúng tôi thu năng lượng sạch dựa trên vị trí, chạy khi gió đang thổi hoặc cho phép các hệ thống chạy theo tia nắng mặt trời.

API cực kỳ đơn giản.


Nếu bạn đến thăm https://grnsft.org/hack22/api bạn sẽ thấy giao diện web như sau:


Chúng tôi có thể kết nối nó với các API như Watttime Bản đồ điện , hoặc bộ dữ liệu của riêng chúng tôi. Trong suốt thời gian diễn ra Cuộc tấn công carbon 22 (từ nay đến ngày 10 tháng 11 năm 2022), API nhận biết carbon sẽ kết nối với nguồn dữ liệu WattTime cho các nhà phát triển sử dụng.


Dịch chuyển thời gian: Thời gian nào là tốt nhất để chạy phần mềm của tôi?


Khi dịch chuyển thời gian, bạn có thể sử dụng điểm cuối API / release / bylocations / best API, cung cấp cho nó vị trí mà bạn quan tâm trong trường vị trí . Hiện tại, tên vị trí được ánh xạ với tên vùng Azure. Bạn cũng cần cung cấp khoảng thời gian mà bạn có thể di chuyển công việc. Thời gian bắt đầu cần được nhập vào trường thời gian và thời gian kết thúc vào trường Thời gian. Ngày được cung cấp phải ở định dạng ISO 8601.

Bạn có thể trực tiếp yêu cầu dữ liệu từ API thông qua yêu cầu Curl như sau:


 curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&time=2022-10-08T00%3A00%2B01%3A00&toTime=2022-10-08T23%3A59%2B01%3A00' \ -H 'accept: application/json'


Hoặc thậm chí chỉ là một yêu cầu HTTP GET thông thường trong trình duyệt .


Dưới dạng đầu ra, bạn sẽ nhận được một mảng các đối tượng JSON, với tên vùng WattTime cho vị trí, thời gian của dữ liệu, xếp hạng cường độ carbon và thời lượng mà dữ liệu này hợp lệ (WattTime cung cấp dữ liệu trong khoảng thời gian 5 phút). Dữ liệu này sẽ là xếp hạng carbon thấp nhất cho vị trí được yêu cầu. Truy vấn này xem xét dữ liệu từ một cửa sổ 24 giờ, vì vậy, để có được kết quả chính xác, bạn có thể muốn yêu cầu dữ liệu trong nhiều ngày (ví dụ: bằng cách xem xét điểm cuối / phát thải / phân bổ ) và kiểm tra xem đây có phải là một- thời gian giảm cường độ carbon!

 [ { "location": "UK", "time": "2022-10-08T00:45:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:40:00+00:00", "rating": 351.98767912, "duration": "00:05:00" }, { "location": "UK", "time": "2022-10-08T00:35:00+00:00", "rating": 351.98767912, "duration": "00:05:00" } ]


Vị trí thay đổi: Vị trí tốt nhất để chạy phần mềm của tôi là ở đâu?


Khi thay đổi vị trí, bạn có thể sử dụng cùng một điểm cuối như trước đây ( / phát thải / phân bổ / tốt nhất ), nhưng ở thời điểm này, hãy cung cấp nhiều vị trí bạn quan tâm và một thời điểm duy nhất mà bạn đang tìm kiếm. Truy vấn ví dụ bên dưới có nhiều vị trí được cung cấp, đang xem xét uksouth, Eastus và francecentral . Thay vào đó, bạn có thể cung cấp cho nó một cửa sổ thời gian (tương tự như dịch chuyển thời gian) hoặc một mốc thời gian duy nhất, điền vào các trường thời gianthời gian.

Bạn có thể trực tiếp yêu cầu dữ liệu từ API thông qua yêu cầu Curl như sau:

 curl -X 'GET' \ 'https://carbon-aware-api.azurewebsites.net/emissions/bylocations/best?location=uksouth&location=eastus&location=francecentral&time=2022-10-08T09%3A00%2B01%3A00' \ -H 'accept: application/json'


Hoặc thậm chí chỉ là một yêu cầu HTTP GET thông thường trong trình duyệt .


Khi đầu ra, bạn sẽ nhận được cùng một định dạng phản hồi, với các vị trí có cường độ carbon thấp nhất, cùng với thời gian cho phép đọc đó, giá trị thực tế của cường độ carbon và khoảng thời gian mà dữ liệu này có hiệu lực.

 [  {    "location": "FR",    "time": "2022-10-08T08:00:00+00:00",    "rating": 242.21832558,    "duration": "00:05:00"  } ]


Định hình nhu cầu: Làm cách nào để điều chỉnh hành vi của người dùng?


Để triển khai định hình nhu cầu, hãy sử dụng kết hợp các truy vấn trên và các truy vấn khác để xác định cách tốt nhất để điều chỉnh hành vi của ứng dụng của bạn.

Hãy tưởng tượng điều này!


Hãy tưởng tượng nếu bạn vẫn thực hiện những công việc đào tạo ML-hogger năng lượng đó ... nhưng chỉ khi lưới điện cung cấp cho chúng đang chạy bằng năng lượng tái tạo. Hãy tưởng tượng nếu máy giặt của bạn chỉ chạy vào thời điểm lưới điện địa phương của bạn được cung cấp năng lượng gió hoàn toàn. Hãy tưởng tượng bạn muốn chạy đường ống CI của mình đồng thời mỗi ngày, nhưng đảm bảo rằng nó chỉ chạy trong vùng khả dụng (quốc gia) hiện được cung cấp năng lượng xanh. Trong tất cả những trường hợp này, bạn vẫn sẽ tiêu thụ nhiều năng lượng như trước đây, nhưng bạn sẽ tạo ra ít khí thải nhà kính hơn nhiều.


Cho dù bạn đang thăm dò API Carbon Aware, chạy nó trong một vùng chứa cục bộ hay dưới dạng Công cụ dòng lệnh (CLI), bạn có thể sử dụng các mẫu phát triển theo hướng sự kiện để kết nối các sự kiện trong ứng dụng của bạn với các trình kích hoạt trong lưới điện. Lưới địa phương của riêng bạn hoặc lưới ở xa hơn, xanh hơn.


Tùy thuộc vào các trường hợp sử dụng của mình, bạn có thể cho phép toàn bộ thiết bị, công việc tính toán hoặc ứng dụng chạy riêng bằng năng lượng tái tạo, bằng cách chỉ chạy khi lưới điện địa phương có màu xanh lá cây hoặc chỉ chạy từ các khu vực hiện được cung cấp năng lượng xanh.

Thay vì là những thợ máy giữ cho động cơ phát thải kỹ thuật số hoạt động, hãy là những kỹ sư giúp làm chậm nó trong khi thậm chí có thể góp phần xây dựng lại.


Điện toán nhận biết carbon là biên giới tiếp theo của kỹ thuật phần mềm bền vững. Một số nhà ra quyết định có ảnh hưởng nhất trong ngành quan tâm đến việc giảm lượng khí thải carbon từ phần mềm và cho thấy điều đó bằng cách cho vay các nguồn lực của họ và đóng góp số tiền thưởng đáng kể cho Hack carbon 22 . Những công ty chủ chốt như Accenture, Avanade, Boston Consulting Group, Globant, Goldman Sachs, Intel Corporation, Thoughtworks, UBS và VMWare đều có năng lực tốt nhất và sáng giá nhất trong lĩnh vực công nghệ bền vững tham gia và đang đóng góp chung 100.000 USD tiền thưởng.


Giờ đây, công việc của các kỹ sư phần mềm là xây dựng các giải pháp ít gây hại cho con người và hành tinh. Tính toán nhận biết carbon là cách các thế hệ kỹ sư phần mềm hiện tại và tương lai có thể giúp đạt được mục tiêu này. Khám phá API nhận biết carbon tham gia vào Carbon Hack tham gia cùng gần 350 tin tặc và 70 sáng kiến trong việc xác định và giải quyết các rào cản đối với phần mềm làm giảm cường độ carbon của điện.


Viết bởi Asim Hussain, Giám đốc Điều hành kiêm Chủ tịch, Green Software Foundation