Contact Us
24/7
Python BlogDjango BlogSearch for Kubernetes Big DataSearch for Kubernetes AWS BlogCloud Services

Bolstering Training Courses with Testing and Django

The Linux Foundation
<< ALL PROJECTS

Areas of Expertise

Text Link
Upgrades & Migrations
Text Link
Performance Optimization
Text Link
App Development

Industries

Non-Profits
Text Link

CHALLENGE

As a leading technology consortium, The Linux Foundation, a nonprofit, has played a key role in fostering IT talent by expanding its support programs through training and certification courses, events, and open source projects. But as technology evolves, so too must the infrastructure driving those certification courses.

The Linux Foundation reached out to Six Feet Up to modernize and secure the applications at the center of Linux’s certification programming, which Six Feet Up assisted in developing.

In the process of upgrading The Linux Foundation’s certification programming, Six Feet Up's developers:

  • updated versions of Flask and Marshmallow used by the training application,
  • created a more efficient testing design for new applications,
  • built a Django application that allows users to create Kubernetes clusters through Digital Ocean; and
  • built an application to monitor end-user shopping carts within the training website.

However, because The Linux Foundation’s certification programs interact with other outside web services, not all code that goes into the certification programming could be accessed. Without access to production logs, debugging issues is much more difficult, particularly for what is a very custom system that involves multiple services working together.

Implementation Details

In order to get around access issues, the Six Feet Up team held regular standup meetings with The Linux Foundation production team. These meetings led to effective sprint planning, ticket writing, code review, deployment assistance, and solution generation.

Before any changes could be made, the Six Feet Up team had to modernize testing routines to increase coverage, speed, and accuracy.

Upgraded testing and course infrastructure

After conducting code reviews that led to finding bottlenecks in existing code, Six Feet Up’s developers introduced pytest to the code, which created a quick and accurate testing infrastructure to implement updates properly. This initiative increased the Python test coverage from 60% to 80% across the entire code.

The improved test coverage increased developer productivity by cutting down run time. Additionally, with less concern about rework, the improved testing gave the team more confidence.

From there, the team updated two Python-based applications to more modern versions, moving from Marshmallow 2 to Marshmallow 3, and Flask 1 to Flask 2. Marshmallow is a library used to serialize data and convert it to and from native Python datatypes, while Flask is a Python-based web framework.

The upgrades eliminated old code that could introduce security risks and improved the speed of two frameworks that constitute the backbone of The Linux Foundation’s certification programs. They also gave Linux developers access to the latest features on those applications.

Additional applications

Though not in the original project scope, Six Feet Up’s engineers also assisted in the development of two applications tied to The Linux Foundation’s certification program.

One of these is a Django-based application called Lab Launcher. From one of The Linux Foundation’s Kubernetes courses, users can launch the application that uses allauth single sign-on to log into Digital Ocean’s API and create a Kubernetes cluster for the user to conduct coding tied to the course.

Pro-tip: For more on Kubernetes and trends in its usage, hear Six Feet Up CTO and AWS Community Hero Calvin Hendryx-Parker talk about The Growth of Containerization and Kubernetes in a Gestalt IT blog.

Six Feet Up’s developers also created an application that allows web administrators on The Linux Foundation certifications website to monitor when a user places a course in their shopping cart but doesn’t finish the transaction. This allows web administrators to track abandoned carts over time to inform future developments.

Results

With the upgrades to Flask and Marshmallow — as well as the purging of obsolete code — the infrastructure behind The Linux Foundation’s certification courses has been modernized and made more secure.

The improved testing regimen developed by Six Feet Up’s expert engineers has also reduced test time from 10 minutes to 3 minutes. This frees up time for The Linux Foundation developers so that they can work on other projects and spend less time maintaining existing code.

While the two Six Feet Up developed applications have their own benefits, the method of serverless deployment via Django is something that The Linux Foundation can now incorporate when developing future applications.

ARE YOU READY TO START YOUR NEXT PROJECT?

Let's Talk