We decided to take a first try hands-on approach following the future QUADS roadmap and re-architect our legacy landing/requests portal application, previously a trusty LAMP stack, into a completely rewritten Flask / SQLAlchemy / Gunicorn / Nginx next-gen platform. What worked in Dev/Stage however had serious problems in production with CPU bottlenecks – this is our journey.Continue reading “The Curious Case of the CPU Eating Gunicorn”
With Summer fast approaching we’re happy to release our 11th and latest version of QUADS – 1.1.5. In this release we’ve added a new JIRA library, functionality for managing decommissioning of systems and a slew of other features and fixes. Check out the release on Github for full information. Continue reading “QUADS 1.1.5 is Released!”
Badfish gets the Asyncio treatment. With the move of QUADS to asynchronously provisioning the servers on our lab, much of the functionality from Badfish was already converted to use asyncio in the process. This has now been the first effort in the road to unifying the Badfish standalone tool with the code used from within QUADS. Continue reading “Badfish is Superboosted!”
A new year, a new QUADS! After almost three months of development we’re happy to release version 1.1.2. This includes some major features like reporting and other enhancements and bug fixes. Building on the strong foundation of the 1.1 series we include around 11 x enhancements and 17 x fixes to QUADS and Badfish. Continue reading “QUADS 1.1.2 is Released!”
After over 7 months of development since 1.0.2 and massive architectural, design, and re-factoring overhauls we’re proud to announce the next-generation QUADS 1.1.0 codenamed gaúcho. A monumental amount of enhancements, fixes and redesign efforts going back over a year form the foundation of the 1.1 series. Continue reading “QUADS 1.1.0 is Released!”
With less than 3 months for the retirement of Python 2.7 and with the much required QUADS migration to Python 3, we could not miss the opportunity to try out the now native asyncio framework and identify workflows where we could speed things up.