Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blog article for .NET 8 upgrade #524

Merged
merged 36 commits into from
Aug 6, 2024

Conversation

YaSuenag
Copy link
Contributor

Pull Request

Issue Number: #501

Summary

Add blog article for .NET 8 upgrade
This article was written by @tiwatsuka , @nttDamien , and me.

Changes

  • Add blog article under casdk-docs

Checklist

  • Local Tests Passing?
  • CICD and Pipeline Tests Passing?
  • Added any new Tests?
  • Documentation Updates Made?
  • Are there any API Changes? If yes, please describe below.
  • This is not a breaking change. If it is, please describe it below.

Are there API Changes?

No

Is this a breaking change?

No

Signed-off-by: Yasumasa Suenaga <[email protected]>
@YaSuenag
Copy link
Contributor Author

CC: @Sophietn , @danuw

You can review the document on my branch: https://github.com/YaSuenag/carbon-aware-sdk/blob/pr/dotnet8-blog/casdk-docs/blog/2024-05-16-dotnet8/index.md

@danuw
Copy link
Collaborator

danuw commented May 22, 2024

@YaSuenag @nttDamien , thank you for much for this ... really liked the introduction but felt the end was a bit abrupt. Could we try and maybe add a conclusion with a call to action?

Also I really liked the dashboard, and wondered if you could maybe add a tiny bit on interpretation - "we can observe [this], so we would probably do [X] next" or "wait for Y in order to Z..." and what may be a natural next step for you or the person reading (again more as an illustration/use case example)
I guess, finishing reading with a feeling that I understand how beneficial this was for you would be ideal - so maybe worth adding a section near the introduction on what you use the SDK for in business terms (what it brought to your team/company) please?

cc @vaughanknight

@vaughanknight
Copy link
Contributor

vaughanknight commented May 22, 2024

@danuw and I were just chatting so we're going to comment here to give some feedback.

Article is good, some great content. Main place to look at is the conclusion - it just stops. Would be good to have a "How can start with the Carbon Aware SDK?" with a paragraph and some links that relate to the article.

After we have the conclusion/summary/next steps section at the end, Dan and I will go through and do a detailed review and help with any edits we can pick up.

@nttDamien
Copy link
Contributor

@YaSuenag @nttDamien , thank you for much for this ... really liked the introduction but felt the end was a bit abrupt. Could we try and maybe add a conclusion with a call to action?

Also I really liked the dashboard, and wondered if you could maybe add a tiny bit on interpretation - "we can observe [this], so we would probably do [X] next" or "wait for Y in order to Z..." and what may be a natural next step for you or the person reading (again more as an illustration/use case example) I guess, finishing reading with a feeling that I understand how beneficial this was for you would be ideal - so maybe worth adding a section near the introduction on what you use the SDK for in business terms (what it brought to your team/company) please?

cc @vaughanknight

Thanks a lot for those two comments, we will work on that !

@nttDamien
Copy link
Contributor

@danuw and I were just chatting so we're going to comment here to give some feedback.

Article is good, some great content. Main place to look at is the conclusion - it just stops. Would be good to have a "How can start with the Carbon Aware SDK?" with a paragraph and some links that relate to the article.

After we have the conclusion/summary/next steps section at the end, Dan and I will go through and do a detailed review and help with any edits we can pick up.

Thanks @vaughanknight I guess it would makes sense to link to the call to action mentioned by @danuw .

Signed-off-by: Yasumasa Suenaga <[email protected]>
@YaSuenag
Copy link
Contributor Author

I updated the article. @vaughanknight @danuw Could you review?


As most software nowadays, the Carbon Aware SDK relies on a stack of utilities, and while adding a new feature is usually the most appealing for a project, it’s also critical to maintain the stack, especially in a community effort.

Containerization has helped shifting the upgrading work to a more convenient time for the development team, but there are still various motivation for keeping a stack up to date with current versions: security, bug fixes, performance, support… but the best is to couple with new feature development: such was the case for .NET framework.
Copy link
Contributor

@Sophietn Sophietn Jun 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

..has helped shift…
..various motivations for …


## Broken build pipeline on GitHub Actions

Thanks to GitHub, a lot of automation is available in order to publish code, allowing to focus more on coding, in particular the Carbon Aware SDK repository is configured to publish WebAPI container image (like a snapshot build) when a commit occurs on the dev branch.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

… allowing ‘contributors’ to focus more on coding. In particular…


Fig.2 Logs in `dotnet publish` on GitHub Actions

Further investigation was done, and thanks to a [.NET blog](https://devblogs.microsoft.com/dotnet/improving-multiplatform-container-support/), about multi-platform container support, that an unsupported approach was used for the build, and needed to be amended. More precisely, since .NET 6, QEMU static binaries were used to build container image for multi platforms.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…thanks to a .NET blog about multi-platform container support, we identified that…


# Use case in NTT / NTT DATA

While NTT & NTT DATA have been contributing to the Carbon Aware SDK a long time, none appeared in the [adopters list](https://github.com/Green-Software-Foundation/carbon-aware-sdk/blob/dev/casdk-docs/docs/overview/adopters.md), it is now changed thanks to those uses cases.
Copy link
Contributor

@Sophietn Sophietn Jun 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…a long time, we had not previously publicly referenced our adoption of the tool.
The Carbon Aware SDK v1.4.0 carbon metrics exporter (dependent on .NET8 upgrade) has increased the usefulness of the SDK due to increased visualization capabilities. …


# Moving Forward

With the Cloud Computing expansion, and Kubernetes flexibility, more and more choices exist for running a workload, and while business and economical constraints seem obvious to lead those decisions, Carbon footprint have to be taken in account. Its relevance will be more and more pregnant.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pregnant isn’t right here.
… While business and economical constraints often lead those decisions, the carbon footprint is becoming an increasingly critical consideration.


With the Cloud Computing expansion, and Kubernetes flexibility, more and more choices exist for running a workload, and while business and economical constraints seem obvious to lead those decisions, Carbon footprint have to be taken in account. Its relevance will be more and more pregnant.

This is a difficult endeavour, and the first step is to know where one stands, measure but also later evaluate and confirm what action would lead to improvement. That was one of the intent behind the Green Dashboard for Kubernetes, and the Carbon Aware SDK 1.4 is key element in this approach.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

..one of the intentions


By providing a standard interface to the carbon emissions of the energy, the Carbon Aware SDK is a key element for IT sustainability: from evaluating current carbon footprint up to taking in account carbon intensity for geo or time shifting…

Thanks to the community effort the first step is a click away with the quickstarting guide, available for everyone.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add link to getting started guide

@Sophietn
Copy link
Contributor

The article is great - thank you @YaSuenag @nttDamien
I have suggested a few minor edits as comments.


Thanks to the new Carbon Aware SDK v1.4.0 carbon metrics exporter (thanks to .NET 8), more visualization capability are reachable.

This feature facilitate integration with monitoring solutions like [Prometheus](https://prometheus.io/) and furthermore with a visualization solution like [Grafana](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/): unlocking geomap style visualization (showing metrics at specified locations on a map). By enabling the exporter and making some settings on Grafana, carbon intensities can be exported from Carbon Aware SDK to a geomap, this is part of a dashboard to monitor carbon emissions for software systems.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature facilitate -> This feature facilitates

Signed-off-by: Yasumasa Suenaga <[email protected]>
@YaSuenag
Copy link
Contributor Author

@Sophietn CC: @vaughanknight @danuw @nttDamien

Thanks for your comment! I fixed the document.

Copy link
Contributor

@vaughanknight vaughanknight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of edits in this review, but otherwise happy with the blog post!

casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
casdk-docs/blog/2024-05-16-dotnet8/index.md Outdated Show resolved Hide resolved
YaSuenag and others added 3 commits July 9, 2024 17:05
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
YaSuenag and others added 17 commits July 9, 2024 17:13
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Co-authored-by: Vaughan Knight <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
Signed-off-by: Yasumasa Suenaga <[email protected]>
@YaSuenag
Copy link
Contributor Author

@vaughanknight CC: @nttDamien @danuw

Thanks for your comment! I fixed them. Can you review again?

Copy link
Contributor

@vaughanknight vaughanknight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great now, thanks for the updates.

Copy link
Collaborator

@danuw danuw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great thanks

@danuw danuw merged commit 6bbd05e into Green-Software-Foundation:dev Aug 6, 2024
8 checks passed
@danuw
Copy link
Collaborator

danuw commented Aug 6, 2024

Great work - thanks!!

Do we need to start looking into .net 9 update now? :)

@danuw danuw linked an issue Aug 6, 2024 that may be closed by this pull request
@nttDamien
Copy link
Contributor

nttDamien commented Aug 7, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

.NET8 blog article
5 participants