Join a Special Interest Group
While the Ed-Fi Alliance has made investments to improve the installation processes for its tools, it is still a time–consuming task: easy to get wrong, you must have the right runtime libraries, and it is problematic to have multiple versions running on the same server.
What if end-users could quickly startup and switch between ODS/API versions, testing out vendor integrations and new APIs with little development cost and with no need to manage runtime dependencies? Docker containers can do that for us.
A Success Story
In Spring of 2019, I needed to quickly stand up an instance of the ODS/API version 2.3.1 to help test the Data Import product. Instead of checking out the old code from source control, I issued just a few commands to launch the Web API, Sandbox Admin, Swagger UI, and the ODS database in containers, using the Docker project from the Ed-Fi Exchange.
Started up, tested: success. Switched to 2.4.0 with another command, tested: success. Switched to 184.108.40.206, tested: success.
It was not perfectly smooth, but it worked. I saved several hours of hassle by not having to switch source code branches, recompile, and launch everything from Visual Studio. And I had no need to install old .NET Framework libraries for 2.3.1.
The Promise of Docker…
Docker containers hold the promise of running small, isolated services that are cheap and quick to startup and tear down. In brief, think of a container as a little operating system running a single service inside of your server. Once configured, you can run many of these containers in parallel. Tools such as Kubernetes can orchestrate launching multiple services at the same time, monitoring uptime and providing a degree of automatic scaling.
… And the Challenges
Unfortunately, the solution did not work for Tech Suite 3. Furthermore, there were technical limitations that prevented running a production-mode service, and the application and solution architectures were not well-tuned for Docker. But the Exchange project has proven the point: Docker is possible with Ed-Fi, and it is worth it.
Enhancements to the ODS/API and ODS Admin App, both already released and, in the works, will open new opportunities for development of robust Docker-based Ed-Fi solutions.
If you would like to learn more about what this future will look like, and help steer the direction it takes, then we invite you to join the new “Ed-Fi in Containers” Special Interest Group (SIG).
- To join the SIG, please email firstname.lastname@example.org In the body ask to join the “Ed-Fi in Containers Special Interest Group.”
- To access other background information, including draft design documents, please visit the SIG page: https://techdocs.ed-fi.org/display/ESIG/Ed-Fi+in+Containers
Imagine starting up all this infrastructure with just one command…