Software engineers at Microsoft and other companies love that they get to teach their craft in high schools across the United States and in parts of Canada.
The grassroots program—which is now more than 10 years old—has been so successful that the people who manage it had to rebuild the infrastructure they use to operate it from the ground up. The program was bumping its proverbial head and needed to scale.
Thankfully, they wouldn’t have to go far to get what they needed; the solution could be built upon Microsoft Azure.
Microsoft’s Technology Education and Learning Support (TEALS) program helps prepare high schoolers for careers in computer science.
We’ve finally got the scale that we’ve been looking for. Technology is no longer a limiting factor for us.
—Ganesh Shankaran, principal software engineering lead, Microsoft Digital Employee Experience
“The growth of our program has gone far beyond what we could have ever imagined,” says Ganesh Shankaran, a principal software engineering lead with Microsoft Digital Employee Experience, the organization that powers, protects, and transforms the company. “It got so popular that we couldn’t keep up.”
In response Microsoft recently revamped TEALS’ Operational Platform, known as TOP for short. Built on Microsoft Azure, the new TOP allows regional managers of TEALS to incorporate many more schools, which will allow the company to get many more Microsoft and other software engineer volunteers into classrooms.
“We’ve finally got the scale that we’ve been looking for,” Shankaran says. “Technology is no longer a limiting factor for us.”
With the improvements to TOP, Microsoft can now achieve its philanthropic goals, opening doors to careers in technology for students in STEM (Science, Technology, Engineering, and Mathematics) fields from all over the United States and British Columbia.
[Learn more about microservices architecture design. Explore the TEALS site to be inspired or get involved. Design your own microservices architecture.]
The need for TEALS
Since the nascent stages of the Information Age, there has been a deficit in computer science professionals. Plenty of colleges offer the right degrees, but there’s a scarcity of pre-college computer science education.
In the USA, there are even state laws mandating that every student needs to take a computer science class to graduate, yet there are few resources in place to ensure that teachers can successfully deliver the instruction. Microsoft’s TEALS program strives to address this ever-growing need.
—Emily Fishkind, senior product manager, Microsoft Digital Employee Experience
Qualified experts who could teach high school computer science courses usually opt for higher paying jobs. Especially in rural areas and in schools where students are predominantly Black and African American, finding adequate computer science educators is a major obstacle.
There are efforts across the United States to turn the tide, and we’re happy to be a part of that effort here at Microsoft.
“In the USA, there are even state laws mandating that every student needs to take a computer science class to graduate, yet there are few resources in place to ensure that teachers can successfully deliver the instruction,” says Emily Fishkind, a senior product manager in Microsoft Digital Employee Experience. “Microsoft’s TEALS program strives to address this ever-growing need.”
Eleven years ago, the Microsoft Philanthropies team at Microsoft adopted TEALS, a potent, tiny project piloted in a single school. The dream was to help bring computer science education to as many high schools as possible. However, the tool to manage such a prodigious expansion didn’t exist.
Building scalability on Microsoft Azure
Kip Fern, now a senior program manager lead in the Microsoft Philanthropies Operations team, was one of the original TEALS classroom volunteers. He got tapped with driving the design of TOP, a highly customized solution built on Microsoft Azure for regional managers to run TEALS. Over the next few years, new features and improvements would continue to be implemented by the team itself.
“The program would change and add new requirements, which made us add new features on a continuous basis,” Fern says.
But there came a point at which modification wouldn’t suffice—the program was growing too fast, and TOP needed to be reinvented.
“This growth paired with our inability to scale within our legacy system, posed significant risk to the overall efficiency of our regional managers’ day-to-day operations,” Fishkind says. “Shifting to the new architecture not only addresses compliance issues, but it also helps our primary customers—the folks who make the TEALS program run—more efficient.”
Three years ago, Microsoft leadership called to extend the reach of TEALS to over 600 new school focused on African American students, but, for multiple reasons, legacy TOP couldn’t support the directive.
TOP was about to be outdated and out of support; it had more than 500 bugs, and accessibility improvements were needed. Furthermore, it couldn’t perform well with all the data it was handling.
“The TOP legacy system was at risk of breaking down, posing significant risk to the program’s operations along with system security, reliability, and availability,” Fishkind says.
Importantly, it couldn’t scale.
The original TOP that had enabled the program’s early development was now holding it back from further growth and impact.
Architecting TOP vNext
The latest version, called TOP vNext, was designed with microservices architecture, a style in which each service is separated based on its need. With this structure, MDEE is building scalability on Microsoft Azure for each service independently. The admin service, the school service, and the volunteer service, as examples, are deployed on cloud and have their own backend database within Microsoft Azure Cosmos DB. Within a fraction of a millisecond, they can scale to multiple regions and maintain 100 percent availability.
The adoption of microservices architecture in TOP vNext protects TEALS from the risk of total system breakdown, offering a more resilient and stable system. Shankaran describes legacy TOP as an outdated system posing security risks by comparison.
“The traditional monolithic architecture, where a single malfunction could cause a complete system failure, has become obsolete,” Shankaran says. “With microservices, TEALS is now immune to total system breakdowns as each component operates independently and can continue functioning even if one component experiences issues. This independence not only increases system reliability but also facilitates efficient testing and maintenance processes.”
With its robust utilization of Microsoft Azure Service Bus and other cutting-edge internal message handlers, TOP vNext creates an impermeable bridge between the system and external platforms like WordPress TEALSK12. This convenient and intuitive application serves as the central hub for regional managers, empowering them to effortlessly monitor, update, and access critical information in real-time, all through a seamless exchange of data facilitated by seamless message communication across all systems.
It is absolutely better; it is faster; it is more resilient. It has a cleaner user interface now.
—Kip Fern, senior program manager lead, Operations, Microsoft Philanthropies
The sheer size of the TEALS data set requires optimal performance when loading on the grid. TOP vNext meets this demand by leveraging the power of Microsoft Azure Cognitive Search, which delivers lightning-fast API response times in under a millisecond. This ensures seamless and efficient access to the vast amounts of data at the heart of the TEALS system.
With Microsoft Azure DevOps, they also achieved zero-touch deployment for these resources, including Microsoft Azure Cosmos DB, IT, app services, and all the microservices.
Benefits of the new TOP
Everything about the new program is better.
“It is absolutely better; it is faster; it is more resilient,” Fern says. “It has a cleaner user interface now.”
Scalability for TEALS is more possible than ever. With improved UI, performance, and efficiency, TOP vNext gives regional managers more time to incorporate new schools and enhance curricula, and the new TOP can handle the increase in data.
“It’s blazing fast,” Shankaran says.
The substantial and ever-increasing data doesn’t bog down the speed of the tool. Now that TOP is faster and has better UI, regional managers can spend less time on tooling, and the time savings translates to more students benefiting from the program.
Today, TEALS has a steady state of over 500 schools with 1,500 volunteers every single year. There are around 40 regional managers around the United States supporting between 15 to 30 schools apiece including the classroom teachers, school principals, volunteers, and summer training for the volunteers.
“If a regional manager can do one more school, that means on average we’ll impact 2,425 more students each year,” Fern says.
TOP is engineered to meet our scaling needs. It’s now a high performing system that simplifies our regional manager experience.
—Ganesh Shankaran, principal software engineering lead, Microsoft Digital Employee Experience
As TOP vNext can handle more data, regional managers can now support as many schools as they want.
Over time, MDEE and TEALS will be able to add new features to TOP in harmony with the feedback received from stakeholders. There’s an ever-flowing possibility for iteration with the new TOP platform, which includes a feedback mechanism between TEALS volunteers, regional managers, and stakeholders.
“TOP is engineered to meet our scaling needs,” Shankaran says. “It’s now a high performing system that simplifies our regional manager experience.”
It’s a great example of what you can do with Microsoft Azure, he says. “Its cognitive capability is playing a big part in bringing these experiences alive,” he says.
Here are biggest takeaways from retooling our program to get our software engineers in high school classrooms across the United States and in British Columbia:
- Legacy programs often fail to keep up with program needs, especially as new features and capacities are added. Moving to the cloud empowers you to scale efforts while also giving your solution extensibility.
- Microservices architecture is a prevalent style for building applications that are independently deployable, immensely scalable, and easy to test and modify.
- Including users in your feedback loop is the only way to ensure a solution is empowering productivity and creating impact.
- Feature parity takes time, but if you’ve identified core capabilities, it’s possible to roll out a new solution without creating a lot of disruption.