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

Migration of Content Development and BSSw Internal boards to GH projects v2 #2060

Open
bernhold opened this issue Mar 30, 2024 · 4 comments
Open

Comments

@bernhold
Copy link
Member

Projects V2 are the new version of project boards on GitHub. They can look and feel very much like "classic" project boards, but are also far more flexible, offering different views and some capabilities. GH offers automatic migration of classic project boards to the new V2 version. I've used this on boards in several other repos and it has always worked perfectly well.

I've been experiencing issues with classic project boards that lead me to suggest that we might want to migrate the bssw.io boards sooner rather than later:

  • Frequent performance issues with the classic boards in the browser -- literally taking half a minute or a minute to perform an operation (e.g., moving a card)
  • Increasingly frequent failures of actions to, for example, add an issue to a project board (projects v2 has a built-in workflow mechanisms)
@bernhold
Copy link
Member Author

Github is officially sunsetting classic Projects on 2024-08-23. If we do not migrate on our own, our classic projects will be automatically migrated at that time.

The migration should be fine whether we initiate it or GH imposes it on us. But we'll need to look at our Actions that touch classic Projects and find/write replacements for them. Fortunately, there is now a Projects V2 module for the gh cli and much or all of what we need can be written using the gh cli.

@bernhold bernhold moved this from Backlog to Selected for development in BSSw Internal May 24, 2024
@markcmiller86
Copy link
Member

Github is officially sunsetting classic Projects on 2024-08-23.

we'll need to look at our Actions that touch classic Projects and find/write replacements for them. Fortunately, there is now a Projects V2 module for the gh cli and much or all of what we need can be written using the gh cli.

This reminds me of an aspect of using more services such as github...the churn rate on commercial industry interfaces is substantially higher than HPC/CSE community is accustomed to dealing with or has the resources to keep up with.

@bernhold
Copy link
Member Author

Definitely that can be a problem, though in this particular case, not a major one, thankfully.

@markcmiller86
Copy link
Member

My reason for mentioning is...I think there is a story here...worth an article on bssw.io...

From ChatGPT...

The adoption of commercial cloud services by the High-Performance Computing (HPC) and Computational Science and Engineering (CSE) communities has indeed been increasing. This trend is driven by the flexibility, scalability, and cost-effectiveness that cloud services offer. However, there are significant challenges associated with this shift, particularly related to the frequent changes in cloud service interfaces, also known as interface churn.

Interface Churn in Commercial Cloud Services

Interface Churn refers to the frequent updates and changes in the APIs, SDKs, and overall interfaces of cloud services. These changes can be disruptive, requiring software engineers to continuously adapt their code and workflows. This is particularly challenging for the HPC/CSE communities, which often rely on long-term stability and consistency due to the complexity and longevity of their projects.

Challenges for HPC/CSE Communities

  1. Resource Constraints: HPC/CSE projects often operate with limited resources dedicated to software maintenance. Frequent interface changes in cloud services can strain these resources, diverting attention from core research activities to maintenance tasks.

  2. Complexity of Adaptation: The highly specialized nature of HPC/CSE software makes it more complex to adapt to new interfaces compared to more general commercial software. This complexity is compounded by the need for high performance and reliability in scientific computations.

  3. Long Project Lifecycles: HPC/CSE projects typically have long lifecycles, often spanning several years or even decades. This long-term perspective clashes with the rapid evolution cycle of commercial cloud services, creating a misalignment in expectations and capabilities.

Evidence and Research

  1. Survey of Scientific Computing in the Cloud: A survey conducted by Cunsolo et al. (2010) in "A Survey of Scientific Computing on Cloud Infrastructures" highlighted the concerns of scientific communities regarding the stability and reliability of cloud services. Researchers expressed apprehension about the frequent updates and changes that could impact their workflows and software dependencies.

  2. Case Studies in HPC: In a study by Ramakrishnan et al. (2010) titled "Magellan: Experiences from a Science Cloud," the authors discussed the challenges faced by the HPC community in adopting cloud services. They noted that frequent API changes were a significant barrier, requiring continuous adaptation and testing, which diverted resources from scientific research.

  3. Impact on Software Engineering: Research by Spinellis (2018) in "The Real Cost of Software Engineering" underscores the hidden costs associated with maintaining software in the face of frequent interface changes. These costs are particularly burdensome for specialized fields like HPC/CSE, where the expertise required to manage such changes is scarce and costly.

  4. Community Feedback and Workshops: Reports from workshops and conferences such as the International Workshop on Cloud for Science (CloudSci) and the Workshop on Scientific Cloud Computing (ScienceCloud) often include feedback from the community about the challenges posed by interface churn. Participants frequently cite the need for more stable and predictable cloud environments to support their research activities.

Mitigation Strategies

  1. Containerization: Using container technologies like Docker can help mitigate some of the issues related to interface churn by encapsulating software environments and dependencies.

  2. Infrastructure as Code (IaC): Adopting IaC practices can provide more control over the deployment environments and make it easier to adapt to changes in cloud services.

  3. Community Collaboration: Increased collaboration within the HPC/CSE communities to share best practices, tools, and experiences can help manage the impact of interface churn.

In conclusion, while commercial cloud services offer numerous benefits, the HPC/CSE communities face significant challenges due to the frequent interface changes. Addressing these challenges requires a combination of technical strategies and community efforts to ensure that the advantages of cloud adoption are not overshadowed by the burdens of maintenance and adaptation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
BSSw Internal
  
Selected for development
Development

No branches or pull requests

2 participants