Project

General

Profile

Topics for Consulting

Kafka

https://kafka.apache.org/intro

Apache Kafka is a distributed streaming platform. In Kafka, the communication between the clients and the servers is done with a simple, high-performance, language agnostic TCP protocol. The advantage of Kafka's model, over a traditional message queue, is that every topic can scale processing and is also multi-subscriber.

Justification of need

Kafka solves the problem of data pooling while having the advantage of mature user APIs in multiple languages.

Potential consultants

Current status

Brian Schupbach invited Confluent to demo their product in October 2019.

We can investigate further when we have requirements.

GitHub

https://github.com/

GitHub is a code revisioning repository and project management tool.

Justification of need

Redmine has an end of life at the lab and there are tools like GitHub that provide a much more rich developer experience.

Potential consultants

Current status

Someone at the lab is investigating an on-site install.

Continuous Integration & Continuous Deployment

Continuous integration and continuous deployment are standard industry practices for software development. The philosophy is that smaller and faster releases allow for a tighter feedback loop between developers and users thus providing an overall more stable product.

Products are deployed to users automatically after passing a suite of automated tests. If a bug is deployed then a test is written to prevent regression.

Justification of need

Consistency in the deployment process means that onboarding and cross-training are simpler in a shorter time.

Automating deployment processes for non-developers allows for code retention and evaluation.

Potential consultants

Current status

No work has been done here.

OpenShift

https://www.openshift.com/

Red Hat OpenShift ships with Red Hat Enterprise Linux CoreOS for the Kubernetes master, and supports Red Hat Enterprise Linux for worker nodes. Red Hat OpenShift supports standard Docker and CRI-O runtimes.

OpenShift is a continuous integration pipeline management tool. It is built on top of ubiquitous open-source software and applies sane defaults to simplify the adoption process. Red Hat offers a support package for OpenShift.

Justification of need

Continuous integration is appealing for the reasons in that section. OpenShift is appealing over Jenkins, for example, because it offers solutions out of the box rather than providing zero guidance on how to do things. We have an existing relationship with Red Hat that makes this an appealing solution.

Potential consultants

Current status

No work has been done here.

User Interface Design

Thoughtful user interface design allows users to intuit functionality and perform tasks more efficiently and effectively.

Justification of need

We do not have experience in design to the degree that the outside world does. A minimum of familiar design practices would a significant upgrade to the existing interfaces.

Potential consultants

Current status

No work has been done here.

Embedded Containers

Containers allow for portable and consistent development and deployment.

Justification of need

Containers allow for portable and consistent development and deployment.

Potential consultants

Resources

Current status

No work has been done here.

GraphQL

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Justification of need

GraphQL would allow database system changes without changing all the applications using that database. GraphQL would also allow for the development of a unified API for all data historical, live, and meta with a single interface.

Potential consultants

Current status

No work has been done here.

Data Visualization

Data visualization is a graphical representation of information and data. By using visual elements like charts and graphs, data visualization tools provide an accessible way to see and understand trends, outliers, and patterns in data.

Justification of need

Real-time data visualization and data visualization more broadly have matured greatly in the past ten years. Adopting strategies from industries and academia could mean that our users are able to more efficiently and effectively come to conclusions about accelerator data.

Potential consultants

Current status

No work has been done here.

User Experience

User experience (UX) focuses on having a deep understanding of users, what they need, what they value, their abilities, and also their limitations. It also takes into account the business goals and objectives of the group managing the project. UX best practices promote improving the quality of the user’s interaction with and perceptions of your product and any related services.

Justification of need

User experience takes into account all of the inputs and outputs accelerator operators experience when interacting with the accelerator beyond visual design.

Potential consultants

Current status

No work has been done here.