Ed-Fi in Containers

Table of Contents

Background

Containers – packages of virtualized operating system services — have emerged as an extremely common method of deployment for software. Container platforms like Docker have greatly simplified distribution, setup, and management of software, while also providing for automated scalability via technologies like Kubernetes. Further, containers allow the organization to choose their desired deployment environments – on premise, AWS, Azure, desktop, etc. and Linux, Windows, MacOS.

Members of the Ed-Fi community have been exploring and advocating for increased use of containers as a means of deploying the Ed-Fi ODS/API platform. An early effort provided a Docker-deployable distribution of the Ed-Fi ODS / API, and has provided some insight into what it takes to "containerize" an application.

What that work revealed was that containerization – done well – requires some level of architecture support from the application itself. Application services need to be decomposed so that services can be individually deployed and scaled, and shared elements of a scaled architecture needs to be developed with such sharing in mind. Further, there are a number of choices around container maintenance, such as how often operating system patches are applied and what kinds of fault tolerance are configured.  There is also the opportunity for the community to consider creating shared containers for services such as load balancing for the Ed-Fi platform.

The goals of this special interest group are to produce a set of architecture and maintenance recommendations for containerized distribution of the Ed-Fi ODS / API platform and platform tools, suitable for deployment on products like Docker or other container technologies).

These recommendations will address elements like:

  • which container platforms and environments to target for such distributions
  • which elements of the Ed-Fi platform should be containerized services, and how those services should be decomposed
  • what are the interfaces common across services (e.g. logging) and what configuration options should exist for those
  • if there are other architecture components that could be shared by the community (e.g. load balance or caching containers)
  • how often to apply OS patches or other procedures for ongoing maintenance

Participation

Participation is open to any members of the Ed-Fi community. If you would like to join, please send a email to governance@ed-fi.org and in the body ask to join the "Ed-Fi in Containers Special Interest Group."

Some background on containers will be provided in the SIG and anyone is welcome to attend;  some knowledge of or experience with containers is suggested as the discussion may be technical in nature.

Participants

  • Britto Augustine, Arizona Department of Education
  • Anirban Bhattacharya, Wefivesoft
  • Brett Couture, Rediker Software
  • Gunther Cox, Rediker Software
  • Jean-Francois Guertin, EdWire, Jean-Francois Guertin
  • Erik Joranlien, Ed Analytics, Erik Joranlien
  • Jim McKay, Certica, Jim McKay (Deactivated)
  • Laura Michales, Palm Beach County School District
  • Thulasi Pandurangan, Wefivesoft
  • Eric Rodriguez, Wefivesoft
  • Patrick Yoho, InnovateEDU, Patrick Yoho
  • Stephen Fuqua, Ed-Fi Alliance, Stephen Fuqua
  • Vinaya Mayya, Ed-Fi Alliance Vinaya Mayya
  • Eric Jansson, Ed-Fi Alliance Eric Jansson

Materials

Meetings

Meeting 1 - 2020-07-22