{"id":52416,"date":"2021-10-12T11:00:17","date_gmt":"2021-10-12T10:00:17","guid":{"rendered":""},"modified":"2022-02-10T20:49:04","modified_gmt":"2022-02-10T19:49:04","slug":"how-to-measure-and-reduce-the-carbon-footprint-of-your-application","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/","title":{"rendered":"How to measure and reduce the carbon footprint of your application"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full size-full webp-format\" src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader.jpg\" alt=\"An illustration of leaves representing sustainability, next to an illustration of Bit the Raccoon.\" width=\"1920\" height=\"700\" data-orig-srcset=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader.jpg 1920w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-300x109.jpg 300w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-1024x373.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-768x280.jpg 768w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-1536x560.jpg 1536w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-330x120.jpg 330w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-800x292.jpg 800w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader-400x146.jpg 400w\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilityheader.jpg\"><\/p>\n<div class=\"rte\">\n<div class=\"field field--name-field-main field--type-entity-reference-revisions field--label-hidden field__items\">\n<p>I\u2019m a <a href=\"https:\/\/aka.ms\/sse\/learn?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\">green software engineer<\/a>, and the first principle of green software engineering is to build applications that are <strong>carbon efficient<\/strong>. That means for each gram of carbon our application is responsible for emitting into the environment, we try to extract the most value from that gram as possible.<\/p>\n<p>So, in this context, the first metric you might think of is carbon. And although we do need to calculate the carbon emissions of our application at some level, it\u2019s particularly hard to measure. There&#8217;s no HTTP response header that returns the carbon cost of the request (maybe there should be?), so most of what we do is try to model. When we model, we make assumptions, and those assumptions might impact where we put efforts to optimise.<\/p>\n<p>For example, a common challenge is the carbon intensity of electricity. Electricity is dirty and it emits carbon in its creation \u2013 how much carbon it emits is known as carbon intensity. The <strong>global<\/strong>&nbsp;average for carbon intensity produced in 2020 was 519g\/kWh, but each electricity grid in the world has a different number because each grid has a different mix of clean and dirty electricity sources. It also changes over time, so each minute in each region has a different carbon intensity. Which of these numbers is the right one to use when calculating your carbon metric?<\/p>\n<p>If you choose a global yearly average and try to save carbon by running your application in a region with cleaner electricity, that change won\u2019t be reflected in your carbon metric.<\/p>\n<p>If you decide to include real-time regional carbon intensity numbers in your calculation, then imagine this scenario; You release a code change and your carbon metric goes up. Did your code change make the application worse or has the electricity become dirtier? In this scenario, the real-time carbon metric is a problem as it\u2019s causing false positives.<\/p>\n<p>At the same time, perhaps you released a code change that shifted workloads to times and regions when the electricity was cleaner. If this was the case, then you\u2019d want your carbon metric to use real-time regional carbon intensity numbers to tell you your code change had a positive impact.<\/p>\n<p>It\u2019s good to attempt to model and think of the overall carbon number of your application, but be aware of how that number is being calculated and what assumptions are being made.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"look-for-carbon-proxies\">Look for carbon proxies<\/h3>\n<p>An easier solution is to look for&nbsp;<strong>carbon proxies.<\/strong> If you can somehow connect what you are measuring to carbon, then it\u2019s a proxy. And optimising for that metric is optimising for carbon.<\/p>\n<p>For example, let\u2019s take a look at electricity. We burn fossil fuels to make electricity, meaning there is a connection between electricity and carbon. This makes electricity a&nbsp;<strong>carbon proxy<\/strong>. Therefore, reducing the energy consumed by your application reduces the amount of carbon it\u2019s responsible for emitting.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"how-to-choose-carbon-proxy-metrics\">How to choose carbon proxy metrics<\/h3>\n<p>The metrics you choose will open the doors to optimisations as if you measure something, you will usually aim to optimise it, so <strong>picking the right measurement criteria is key<\/strong>.<\/p>\n<p>Our goal as green software engineers is not to write reports, it\u2019s to implement change. We need information to know what these changes should be. When picking a carbon proxy, be less concerned about how accurately you can measure it, and more concerned about the directional information the proxy gives you. It\u2019s OK if your units are off, and it\u2019s OK if it\u2019s not accurate. As long as the metric behaves in a way that gives us the right information to make the right choices, it\u2019s good enough.<\/p>\n<p>What you choose to measure will impact what you will optimise, and because of the assumptions that need to be made when summarising, <strong>multiple metrics are better than one<\/strong>.<\/p>\n<p>Some metrics are easier to measure than others: pick what\u2019s manageable at the start, add others as you refine your green software engineering methodology.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"what-carbon-proxy-metrics-should-you-choose-for-a-website\">What carbon proxy metrics should you choose for a website?<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full size-full webp-format\" src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2.jpg\" alt=\"A diagram depicting a network between a front-end and a back-end\" width=\"1174\" height=\"319\" data-orig-srcset=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2.jpg 1174w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-300x82.jpg 300w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-1024x278.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-768x209.jpg 768w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-330x90.jpg 330w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-800x217.jpg 800w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2-400x109.jpg 400w\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image2.jpg\"><\/p>\n<p>Let\u2019s take a look at what metrics a website might need. We\u2019ll pick a reference architecture of a basic multi-page application (i.e. most websites). Every time a user clicks a link, the browser makes a request to the server, the server generates some HTML and returns it in the response which the browser then renders on the client machine.<\/p>\n<p>We have a frontend running on a client machine, some networking, and a backend running on some servers. We assume the application is not a bitcoin miner or a game \u2013 essentially once parsed and loaded in the browser, the application is not running constantly and taking up CPU.<\/p>\n<p>So, what are some good carbon proxy metrics we might choose to measure for this application?<\/p>\n<h4 id=\"frontend\">Frontend<\/h4>\n<p>For the frontend, the ideal carbon proxy would be the total energy used to render the webpage. There are tools to measure this, however, pulling that all together into an automated measurement system is not easy. Another carbon proxy we can then use is&nbsp;<a href=\"https:\/\/web.dev\/interactive\/\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/web.dev\/interactive\/\"><strong>time-to-interactive<\/strong><\/a>. This is the time it takes from the response being made to the page being rendered and usable on the client device. We\u2019ll make the assumption here that the energy used is proportional to the time, though this might not always be the case.<\/p>\n<p>A lower time-to-interactive implies an application that:<\/p>\n<ul>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\">Consumes less electricity \u2013 and electricity is a carbon proxy (see the <a href=\"https:\/\/docs.microsoft.com\/en-gb\/learn\/modules\/sustainable-software-engineering-overview\/4-electricity?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/docs.microsoft.com\/en-gb\/learn\/modules\/sustainable-software-engineering-overview\/4-electricity\">second principle of green software engineering<\/a>).<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\">Has more efficient code. The more efficient the code, the better the application will perform on older hardware. The more we can make our applications work well on older hardware, the less pressure we put on society to throw away perfectly good devices just to buy newer, faster machines to meet the demands of the latest software. Hardware releases carbon in its creation so hardware is a carbon proxy. This speaks to the <a href=\"https:\/\/docs.microsoft.com\/en-gb\/learn\/modules\/sustainable-software-engineering-overview\/6-embodied-carbon?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/docs.microsoft.com\/en-gb\/learn\/modules\/sustainable-software-engineering-overview\/6-embodied-carbon\">fourth principle of green sustainable software engineering<\/a>: embodied carbon.<\/li>\n<\/ul>\n<p>We can connect time-to-interactive to carbon through two other carbon proxies (electricity and hardware), so time-to-interactive is also a&nbsp;<strong>carbon proxy<\/strong>.<\/p>\n<h4 id=\"networking\">Networking<\/h4>\n<p>What is the carbon cost of networking? It\u2019s difficult to measure and there are competing models, but suffice it to say, two things are true.<\/p>\n<ol>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"ordered\">The larger the size of data you are transmitting, the more energy and compute it requires to transmit. Therefore,&nbsp;<strong>data size is a carbon proxy<\/strong>.<\/li>\n<\/ol>\n<p>A good metric to choose here for websites is page weight \u2013&nbsp;the overall size of all the assets in your website.&nbsp;<strong>Page weight is a carbon proxy<\/strong>.<\/p>\n<ol start=\"2\">\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"ordered\">The more distance the data has to travel, the more compute and energy is needed. Therefore,&nbsp;<strong>the distance that data has to travel is also a carbon proxy<\/strong>.<\/li>\n<\/ol>\n<p>The distance is a difficult one to factor in since it depends on where your users are located and the location(s) your requests are being served from. Are your users globally distributed? Are they mostly in the UK? It&#8217;s possible to measure, but as you can imagine, measuring accurately is not going to be simple. You really want the average distance that each MB of your data had to travel across the network to reach its end customer.<\/p>\n<p>This is one of the cases where we can spend a lot of time figuring out the most accurate value when what we need might just be directional information.&nbsp;<a href=\"https:\/\/support.google.com\/analytics\/answer\/2383341?hl=en\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/support.google.com\/analytics\/answer\/2383341?hl=en\">Average Server Response Time<\/a> is something that analytics tools can measure; they define it as \u2018the time for your server to respond to a user request, including the network time from the user\u2019s location to your server\u2019. It\u2019s fair to assume that the less distance the data has to travel to the user, the faster the server might respond with the data. Average Server Response Time can therefore be a carbon proxy and something we can measure in our application.<\/p>\n<\/div>\n<h3 id=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-full size-full webp-format\" src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3.png\" alt=\"A graph depicting average server response times\" width=\"1600\" height=\"647\" data-orig-srcset=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3.png 1600w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-300x121.png 300w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-1024x414.png 1024w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-768x311.png 768w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-1536x621.png 1536w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-330x133.png 330w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-800x324.png 800w, https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3-400x162.png 400w\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/09\/AH-Image3.png\"><\/h3>\n<h4 id=\"backend\">Backend<\/h4>\n<p>We require compute to serve your website; these things are called servers. Servers are hardware and have embodied carbon as they released carbon in their creation. Therefore, servers are carbon proxies. The fewer servers we use, the less carbon is emitted.<\/p>\n<h4 id=\"azure-compute-units\">Azure compute units<\/h4>\n<p>So, a metric here is, simply, the number of servers. But not all servers are the same. Some are faster, larger, and some released more carbon in their creation than others. The ability to easily compare and contrast servers is a common problem. In Microsoft Azure, one thing we do is talk in terms of <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/acu?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/acu\">Azure Compute Units (ACUs)<\/a>. Each server that you can buy on Azure has an ACU number associated with it; ACU is how you compare the power of one server to another. For example, a server with an ACU of two is equivalent to two servers with ACUs of one. The list of ACUs for Azure can be found <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/acu?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/acu\">here<\/a>.<\/p>\n<p>Another way to look at it is that the number of servers is like the number of cars, and ACUs is like total horsepower.<\/p>\n<p>So, on Azure at least, the number of ACUs is a better measure than the number of servers. This gives a good proxy for the volume of compute.<\/p>\n<p>We can connect the dots from ACUs to servers, and servers to carbon, so ACUs are a carbon proxy. By optimizing for ACUs, we optimise for carbon.<\/p>\n<h4 id=\"cost\">Cost<\/h4>\n<p>What about other services like the database, storage, etc.? If someone else is running your database for you, you probably don\u2019t have certain information, e.g. the number of servers being used underneath; you may only have the number of requests or some other higher-level metric.<\/p>\n<p>One metric that would seem to cover all of the above is&nbsp;<strong>cost<\/strong>. At some level, the embodied carbon and electricity costs of all your compute are factored into the cost of all your services. We can connect the dots between the cost of a service and the carbon produced. Therefore, cost is a carbon proxy. Optimising for cost is optimising for carbon.<\/p>\n<h4 id=\"utilization\">Utilisation<\/h4>\n<p>The global average on-premise server utilisation is about 15%. This means that, on average, most servers are idle. This has broad carbon implications on the following proxies:<\/p>\n<ul>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Embodied carbon.<\/strong>&nbsp;85% of the carbon released in the creation of the server is wasted.<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Energy efficiency.<\/strong>&nbsp;The more you use hardware, the more efficient it becomes at turning electricity into useful operations. This is the fifth principle in green software engineering.<\/li>\n<\/ul>\n<p>We can therefore connect the dots from server utilisation to carbon through several principles, meaning that server utilisation is a carbon proxy. The more we increase server utilisation, the less carbon is released into the atmosphere.<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"dont-just-use-one-metric\">Don\u2019t just use one metric<\/h3>\n<p>The first philosophy of green software engineering is that&nbsp;<a href=\"https:\/\/devblogs.microsoft.com\/sustainable-software\/philosophy\/#everyone-has-a-part-to-play-in-the-climate-solution?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/devblogs.microsoft.com\/sustainable-software\/philosophy\/#everyone-has-a-part-to-play-in-the-climate-solution\">everyone has a part to play in the climate solution<\/a>.<\/p>\n<p>And every role in a web development team has a part to play in the overall sustainability of their application. The relative importance of different roles in the overall carbon efficiency varies: in the early stages of a site, the backend engineers may overshadow the frontend; as a website becomes more popular, the frontend outweighs the backend.<\/p>\n<p>Every project is different, but consider picking several carbon proxy metrics that cover a broad set of roles. You want metrics that give everyone in the team an opportunity to play a part in the solution.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>Azure&#8217;s move to carbon-free energy<\/h3>\n<p>Remember, if the energy that you consume is carbon-free energy, then your application is carbon-free. This is the reason that why the Azure datacentres are moving to 24\/7 carbon-free energy from 2025.<\/p>\n<p>There is, of course, one caveat: even if the datacentres only consume carbon-free energy, there is still carbon generated in the manufacturing in the equipment being used, such as servers, cables and racks. This is the reason why Microsoft is also putting a lot of effort into <a href=\"https:\/\/query.prod.cms.rt.microsoft.com\/cms\/api\/am\/binary\/RE4MDlc\" target=\"_blank\" rel=\"noopener\">reducing embedded carbon<\/a> and becoming a zero waste company by 2030.<\/p>\n<div class=\"rte\">\n<p>&nbsp;<\/p>\n<h3 id=\"greener-means-better-faster-cheaper\">Greener means better, faster, cheaper<\/h3>\n<p>This leads me to my last point, and one I really want to press home. Let\u2019s look back at the metrics we have chosen to make our web application green.<\/p>\n<ul>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Time-to-interactive.<\/strong>&nbsp;The lower the better.<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Page weight.<\/strong>&nbsp;The lower the better.<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Average server response time.<\/strong>&nbsp;The lower the better.<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>Cost of your services.<\/strong>&nbsp;The lower the better.<\/li>\n<li data-gc-list-depth=\"1\" data-gc-list-style=\"bullet\"><strong>The utilisation of your servers.<\/strong>&nbsp;The higher the better.<\/li>\n<\/ul>\n<p>By improving time-to-interactive, page weight, and server response time, we make our applications faster. Reducing cost and increasing utilisation makes our applications cheaper. There is a lot of overlap between making an application greener and making an application faster and cheaper. Across the board, the greener solution is one that is almost always better than its grey counterpart in many dimensions.<\/p>\n<p>We take advantage of this fact as much as possible, but the primary reason we do this \u2013 and the reason green software engineers get up every day with a passion for their work \u2013 is sustainability. Everything else is an added advantage. And that\u2019s the second philosophy of green software engineering:&nbsp;<a href=\"https:\/\/devblogs.microsoft.com\/sustainable-software\/philosophy\/#sustainability-is-enough-to-justify-our-work?ocid=AID3038246\" target=\"_blank\" rel=\"noopener\" data-gc-link=\"https:\/\/devblogs.microsoft.com\/sustainable-software\/philosophy\/#sustainability-is-enough-to-justify-our-work\">sustainability is enough, all by itself, to justify our work<\/a>.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>Learn more<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.aka.ms\/sse\/learn\" target=\"_blank\" rel=\"noopener\">The Principles of Sustainable Software Engineering<\/a> on Microsoft Learn<\/li>\n<li><a href=\"https:\/\/www.aka.ms\/sse\/blog\" target=\"_blank\" rel=\"noopener\">Read more developer blogs on Sustainable Software<\/a><\/li>\n<li><a href=\"https:\/\/www.aka.ms\/greentech\" target=\"_blank\" rel=\"noopener\">Sustainability and Green Software Engineering<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The first principle of green software engineering is to build applications that are carbon efficient. That means for each gram of carbon our application is responsible for emitting into the environment, we try to extract the most value from that gram as possible.<\/p>\n","protected":false},"author":430,"featured_media":51813,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"categories":[594],"post_tag":[1392,519],"content-type":[],"coauthors":[1773],"class_list":["post-52416","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technetuk","tag-sustainability","tag-technet-uk"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom\" \/>\n<meta property=\"og:description\" content=\"The first principle of green software engineering is to build applications that are carbon efficient. That means for each gram of carbon our application is responsible for emitting into the environment, we try to extract the most value from that gram as possible.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Industry Blogs - United Kingdom\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-12T10:00:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-10T19:49:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Asim Hussain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Asim Hussain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/author\/asim-hussain\/\",\"@type\":\"Person\",\"@name\":\"Asim Hussain\"}],\"headline\":\"How to measure and reduce the carbon footprint of your application\",\"datePublished\":\"2021-10-12T10:00:17+00:00\",\"dateModified\":\"2022-02-10T19:49:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\"},\"wordCount\":2242,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg\",\"keywords\":[\"Sustainability\",\"TechNet UK\"],\"articleSection\":[\"TechNet UK\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\",\"url\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\",\"name\":\"How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg\",\"datePublished\":\"2021-10-12T10:00:17+00:00\",\"dateModified\":\"2022-02-10T19:49:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg\",\"width\":800,\"height\":450,\"caption\":\"An illustration of leaves representing sustainability, next to an illustration of Bit the Raccoon.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to measure and reduce the carbon footprint of your application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/\",\"name\":\"Microsoft Industry Blogs - United Kingdom\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization\",\"name\":\"Microsoft Industry Blogs - United Kingdom\",\"url\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Industry Blogs - United Kingdom\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/","og_locale":"en_US","og_type":"article","og_title":"How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom","og_description":"The first principle of green software engineering is to build applications that are carbon efficient. That means for each gram of carbon our application is responsible for emitting into the environment, we try to extract the most value from that gram as possible.","og_url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/","og_site_name":"Microsoft Industry Blogs - United Kingdom","article_published_time":"2021-10-12T10:00:17+00:00","article_modified_time":"2022-02-10T19:49:04+00:00","og_image":[{"width":800,"height":450,"url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg","type":"image\/jpeg"}],"author":"Asim Hussain","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Asim Hussain","Est. reading time":"9 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/author\/asim-hussain\/","@type":"Person","@name":"Asim Hussain"}],"headline":"How to measure and reduce the carbon footprint of your application","datePublished":"2021-10-12T10:00:17+00:00","dateModified":"2022-02-10T19:49:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/"},"wordCount":2242,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg","keywords":["Sustainability","TechNet UK"],"articleSection":["TechNet UK"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/","url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/","name":"How to measure and reduce the carbon footprint of your application - Microsoft Industry Blogs - United Kingdom","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg","datePublished":"2021-10-12T10:00:17+00:00","dateModified":"2022-02-10T19:49:04+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg","contentUrl":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2021\/08\/sustainabilitythumb.jpg","width":800,"height":450,"caption":"An illustration of leaves representing sustainability, next to an illustration of Bit the Raccoon."},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/technetuk\/2021\/10\/12\/how-to-measure-and-reduce-the-carbon-footprint-of-your-application\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/"},{"@type":"ListItem","position":2,"name":"How to measure and reduce the carbon footprint of your application"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/","name":"Microsoft Industry Blogs - United Kingdom","description":"","publisher":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#organization","name":"Microsoft Industry Blogs - United Kingdom","url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-content\/uploads\/sites\/22\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Industry Blogs - United Kingdom"},"image":{"@id":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/posts\/52416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/users\/430"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/comments?post=52416"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/posts\/52416\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/media\/51813"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/media?parent=52416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/categories?post=52416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/post_tag?post=52416"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/content-type?post=52416"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-gb\/industry\/blog\/wp-json\/wp\/v2\/coauthors?post=52416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}