-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #262 from Green-Software-Foundation/main
Merge 'main' back into 'dev' so the branches are in sync
- Loading branch information
Showing
10 changed files
with
142 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,57 @@ | ||
--- | ||
name: Meeting Template | ||
about: To track patterns project meeting agenda, minutes and attendance | ||
title: YYYY MM DD - Green Software Patterns Agenda | ||
labels: Meeting | ||
title: YYYY-MM-DD - Green Software Principles & Patterns Agenda | ||
labels: agenda | ||
assignees: '' | ||
|
||
--- | ||
|
||
## Date | ||
YYYY-MM-DD - 3pm UTC - See the time in your timezone https://everytimezone.com/s/a8399b00 | ||
YYYY-MM-DD - 14:30 UTC - See the time in your timezone https://everytimezone.com/s/b6822e5f | ||
|
||
## Meeting notices | ||
## Roll Call | ||
Please *add a comment* to this issue during the meeting to denote attendance. | ||
Any untracked attendees will be added by the GSF team below: | ||
- Full Name, Affiliation, (optional) GitHub username | ||
|
||
### Antitrust Policy | ||
Linux Foundation meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. | ||
### Previous Meeting | ||
|
||
Examples of types of actions that are prohibited at Linux Foundation meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation. | ||
Notes from the previous meeting: ... | ||
|
||
### Recordings | ||
GSF project meetings may be recorded for use solely by the GSF team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available. | ||
## Agenda | ||
- [ ] Convene & Roll Call | ||
- [ ] OKR & KPI updates | ||
- [ ] Review the agenda and suggest new agenda points | ||
- [ ] Issues | ||
- [ ] Pull Requests | ||
- [ ] Discussions | ||
- [ ] AOB, Q&A & Adjourn | ||
|
||
### Roll Call | ||
Please *add a comment* to this issue during the meeting to denote attendance. | ||
## OKR & KPI updates | ||
|
||
Any untracked attendees will be added by the GSF team below: | ||
- Full Name, Affiliation, (optional) GitHub username | ||
## Issues | ||
|
||
## Agenda | ||
- [ ] Convene & Roll Call (5mins) | ||
- [ ] Review Meeting Notices (see above) | ||
- [ ] Approve Past Meeting Minutes | ||
- [ ] Review Pull Requests | ||
- [ ] Review Pull Request XXXX | ||
- [ ] Discuss Issues | ||
- [ ] Discuss Issue XXXXX | ||
- [ ] Agenda item 1 | ||
- [ ] Agenda item 2 | ||
- [ ] ... | ||
- [ ] AOB, Q&A & Adjourn (5mins) | ||
### Principles | ||
|
||
### Patterns | ||
|
||
## Pull Requests | ||
|
||
### Principles | ||
|
||
### Patterns | ||
|
||
## Discussions | ||
|
||
### Principles | ||
|
||
### Patterns | ||
|
||
## Another Other Business | ||
|
||
## Decisions Made | ||
- [ ] Decision 1 | ||
- [ ] Decision 2 | ||
- [ ] ... | ||
|
||
## Action Items | ||
- [ ] Action 1 | ||
- [ ] Action 2 | ||
- [ ] ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- | ||
version: 1.0 | ||
submitted_by: markus-ntt-seidl | ||
published_date: 2023-09-28 | ||
category: cloud | ||
description: Modern applications need to communicate with other applications on a regular basis. Since these other applications have their own deployment schedule, downtimes and availability, the network connection to these application might have problems. If the other application is not reachable, all network requests against this other application will fail and future network requests are futile. | ||
tags: | ||
- compute | ||
- size:medium | ||
--- | ||
|
||
# Use circuit breaker patterns | ||
|
||
## Description | ||
|
||
Modern applications need to communicate with other applications on a regular basis. Since these other applications have their own deployment schedule, downtimes and availability, the network connection to these application might have problems. | ||
If the other application is not reachable, all network requests against this other application will fail and future network requests are futile. | ||
|
||
## Solution | ||
|
||
Circuit breaker patterns reject the request to the other application if health checks against the other application have failed to complete successfully. In this case a lot of network requests, and energy, can be saved. | ||
The circuit breaker will reset itself automatically, if health checks against the other application are successful again. | ||
|
||
## SCI Impact | ||
|
||
`SCI = (E * I) + M per R` | ||
[Software Carbon Intensity Spec](https://grnsft.org/sci) | ||
|
||
The circuit breaker pattern reduces the following aspect: | ||
|
||
- `E`: Reduces the energy consumed, as requests are not executed if the other system is known to be not available | ||
|
||
## Assumptions | ||
|
||
- Assumes that the communication target can be checked for availability | ||
|
||
## Considerations | ||
|
||
- Consider implementing an back-off strategy to automatically re-enable the requests if the resource becomes available again | ||
- Consider handling different errors of the called application differently. For example exceptions that indicate that the called application will not be available for a longer time should be handled differently than exceptions that indicate only a short time in-availability. | ||
|
||
## References | ||
|
||
- [Azure Well-Architected Framework Sustainability Pillar](https://learn.microsoft.com/en-us/azure/architecture/framework/sustainability/sustainability-application-design) | ||
- [Azure Circuit Breaker Pattern Description](https://learn.microsoft.com/en-us/azure/architecture/patterns/circuit-breaker) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.