Below are technical best practices all Ed-Fi Academy content creators should adhere to when creating content. This will ensure a consistent, opinionated voice throughout all Academy produced material.
This section contains best practices and recommendations relevant to the Ed-Fi Academy.
Note that the audience for this material are Ed-Fi Academy content creation team members. So, while this information is not a secret (quite the opposite!), the material is not written with the general Ed-Fi Community audience in mind.
Contents
Ed-Fi ODS segmentation by school year
We believe an ODS lives within the context of a single school year. This leads us to recommend the Ed-Fi API mode, Year Specific, to LEAs implementing Ed-Fi. At the start of a school year, education organizations should start with a fresh ODS for the respective year. Running the API mode in Year Specific allows for multiple school years to be accessible via the API should historical data need to be updated.
It is important to note that there will be times where historical data is stored in an ODS instance. For example, a school year 2022-2023 ODS will include all students with any enrollment for the respective year. It will also include all their historic course transcript grades from previous school years.
Serverless and managed solutions
DRAFT FOR DISCUSSION
When deploying in the cloud, Ed-Fi technology should be deployed on serverless and managed solutions where possible. Prior to the migration to .NET Core, running the Web API in a linux container was not possible. At that time, it was common to create a Windows Server VM (virtual machine) and deploy the API via IIS. Today with full .NET Core support, the API should be deployed on a serverless or managed solution. This means lower costs and less administrative burden. Refer to the Ed-Fi Academy reference architectures for guidance on which solutions to use in each of the 3 major cloud providers.
Leveraging serverless and managed solutions in the cloud means spending less time and resources maintaining infrastructure. Serverless solutions such as Google Cloud Run enable an engineer to deploy the Ed-Fi API without having to worry about managing hardware, OS updates, SSL certificates, and more. With Cloud Run, you provide a Docker image, and Google deploys the application while handling auto-scaling as traffic increases, scaling to zero at times of no traffic, load balancing across multiple containers, and provides a HTTPS endpoint automatically.
Managed solutions such as AWS RDS provides users with automated backups, automated patching and upgrades, and auto-provisioning of additional storage as needed. Compute and memory can be adjusted as needs change without any downtime.