Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Internship Projects/Mentors


Page properties


Title

Overhaul EMCO's data integrity

Status

Status
colourBlue
titlePENDING TSC REVIEWCandidate Selected

Difficulty

Status
colourYellow
titleMedium
 


...

This work expands on existing efforts done within the project to maintain references between resources (and control which operations are possible at which time), with the ideal end-goal of making it impossible to get EMCO in a non-recoverable state.

Additional Information

Related issue IDs on GitLab (may not represent the full scope):

Learning Objectives

  • Understand the value of presenting and brainstorming ideas towards common goals
  • Experience and learn best practices in version control, open source and the review process, using git and GitLab
  • Achieving data integrity and deterministic state machines in a distributed system

Expected Outcome

The very first task (<1 week) will be to run the upstream examples and attempt to break the internal state of EMCO by modifying them, making API calls out of order, or proving providing incorrect parameters.

The intern student is expected to deliver multiple contributions, as a series of patches, throughout the internship, to resolve or improve the current referential integrity issues observed between microservices, or under certain edge cases (like such as when dependent services respond unpredictably).

Depending on the actual difficulty of this first taskimproving basic data integrity (reproduceable by the API examples), additional integrity-related tasks are also to be expected such as: may be pursued:

  • implementing or enhancing rollback/update operations

...

  • clarifying intent vs. deployment-level states

...

  • in code and in documentation
  • if these tasks still prove to not be sufficient, the next step would be working on implementing support for an open-source NoSQL database backend for EMCO, which also

...

  • relates to data integrity.

Since EMCO is still in its early days, the expected deliverables may also change throughout the internship, but the general umbrella of work items will remain with the intent of addressing data integrity and consistency issues. 

...

Relation to LF Networking 

EMCO

Education Level

The student is required to be enrolled in an undergraduate program (BS or MS).

Skills

The following skills are desired in the student candidate:

  • Linux and the common shells/shell scripting languages.
  • Go lang (or similar programming languages as long as comfortable with them).
  • Experience with databases and data stores.
  • Good understanding of boolean logic and mathematical logical systems.
  • Good mental model of software interfaces and RESTful APIs.
  • Mindset: self-driven and highly-motivated to troubleshoot, solve problems and learn.

Future plans

With a solid data integrity as the backbone of EMCO, the project will be able to move faster when it comes to implementing new features, reducing the time it takes to guarantee that the new feature won't break existing data integrity/consistency/lifecycle considerations, since there will be a clearer contract between user intent and the actual state of EMCO.

In the future, other database backends and event streaming technologies may be plugged into EMCO, reusing data integrity considerations and code.

Preferred Hours and Length of Internship

The preferred length of internship is Part-time (20 hours a week for 24 weeks starting in early-summer and ending in late-fall).

...

Working hours are flexible but the intern student should try to be reachable and responsive throughout 9am-4pm (pacific time) since that's when the team is most active.

Mentor(s) Names and Contact Info

Click here to apply

Please read all instructions before applying.  Include Resume, proof of school enrollment, and participation permission from school/employer

Igor DC | contact me | Intel Corporation

...