Scaling With Edlink
Edlink is designed to serve companies with only a handful of customers up to those with thousands of customers. If you're a company who is already at scale, or who is looking to scale quickly, here are a few things to consider when scaling with Edlink:
Scaling Your Technology
We've split up scaling into two main categories: scaling your technology and scaling your operational processes. Scaling your technology is all about making sure that your systems can handle the increased load that comes with more customers. The toughest parts of scaling technology in the education space are typically syncing data at scale and error triage.
Syncing Data At Scale
Because of the dynamics of the education space (e.g. the relatively low price points of most products & the large size of school districts and universities), it's common for companies to have to support thousands or even millions of end user across hundreds of schools. It is important to think about the architecture of your data syncing system before you start building it. Here are a few things to consider:
- Full Sync vs Event Sync: A full sync is when you pull all of the data from Edlink and replace your existing data with it. An incremental sync is when you only pull the data that has changed since your last sync. Full syncs are simpler to implement, but they can be slow and resource intensive. Incremental syncs are more complex to implement, but they can be much faster. Edlink supports both full and incremental syncs, so you can choose the approach that works best for your use case.
- Sync Frequency: How often do you need to sync data? This will depend on how often the data changes and how quickly you need to have the most up-to-date data. For example, if you're syncing user data for an SSO integration, you might only need to sync once a day. But if you're syncing attendance data for a classroom management tool, you might need to sync every few minutes.
- Data Volume: How much data are you syncing? This will impact the performance of your syncs and the resources you'll need to allocate to them. If you're syncing a large amount of data, you might need to consider strategies like pagination or batching to avoid overwhelming your systems.
- Parallelization: Can you set up your infrastructure in a way that allows you to parallelize your syncs? This can help to speed up the process, especially if you're syncing a large amount of data. For example, you might be able to sync data for multiple schools or districts in parallel.
Read more about these topics in our guide below.
Error Logging & Triage
Errors are frustrating, but an inevitable part of working with technology. Because of the nearly infinite ways in which systems can be used, edge cases are bound to pop up. When you're working with a small number of customers, it's easy to just fix the error and move on. But as you scale, you'll need to have a more robust system in place for tracking and triaging errors.
We expose a few helpful tools via the Edlink Dashboard that will (hopefully) make your life easier:
- API Request Logging: View detailed logs of all API requests made to Edlink, including request IDs, timestamps, and response statuses.
- Data Browser: Explore LMS or SIS data in a user-friendly interface, making it easier to understand and trace issues.
- Login Tracing: Track login attempts and failures to help diagnose authentication issues. Edlink exposes detailed logging of the SSO process to help you (and us) quickly diagnose any issues.
We also recommend that you implement the following logging practices to help with debugging:
- Log Edlink Request IDs: Whenever an API request fails, include the Edlink Request ID in your logs. This will help you trace the request through our system and identify where things went wrong. We also recommend including any error or warning codes from Edlink's API response in your internal logs to provide more context about the issue and help identify patterns.
- Handle Your Own SSO Errors: Edlink provides a generic error page where failed logins will land, but we suggest that you implement your own error handling for SSO failures. That way you can both log your own error messages to a centralized place and also provide a better user experience for your teachers and students.
Scaling Your Operational Processes
This is a tougher topic and can cover a lot of different aspects of your business. Here are a few of the most common things that companies need to think about as they scale.
Onboarding New Customers
Edlink provides an out-of-the-box school onboarding flow to facilitate the onboarding process. Our onboarding flow is pretty cool (if we may say so ourselves) and typically takes 5 to 10 minutes for a school to complete. At scale, you'll want to think about how to streamline this process even further.
Some things you'll want to consider include:
- Self-Serve or Guided Onboardings: Do you want your schools to guide themselves through the onboarding process or have someone from your team guide the IT administrator through onboarding?
- Staying Organized: Think about how you will break up the work and keep track of progress. What steps may need to be completed on your end after the IT administrator connects their data source?
- Embedding the Onboarding Flow: Edlink offers the ability to embed the onboarding flow directly into your application, making it even easier for schools to get started. This requires some engineering work on your end, but can provide a more seamless experience for admins.
Migrating Existing Customers
Migration of existing data is a common challenge (and often one of the most painful parts) of integrating with any new system. It's important to think about how you'll handle this before you start writing code. There are a few different strategies you might consider:
- No Migration: If data continuity isn't important (or your product doesn't store much data), then you might just consider starting fresh with the new data. A great time to do this is over winter or summer break when schools are out of session and classes are changing anyway.
- One Time Migration: This strategy involves the creation of a mapping table between your old data and your new data (or just the relevant entity IDs). You'll need to write a script to migrate the data from your old system to Edlink. This is often the simplest strategy, but it can be complex at scale (or if the data is scattered and disorganized). Edlink can often help with this process, providing assistance with the generation fo the mapping table.
- Continuous Migration: This isn't necessarily a migration, per se, but rather a strategy for keeping data in sync between your system and Edlink. This is often the most complex strategy in the long term, but it can be easier in the short term. Basically, you'll need to keep track of which data came from Edlink and which data came from your system. As you sync data from Edlink, you'll have to match it up on the fly with the data in your system.
Getting Support from Edlink
Sometimes you may need to reach out for help. Edlink offers a variety of support options to assist you with both implementation decisions and production troubleshooting. Read the guide below to learn more about how we can support you along the way.