Yourupload 3.5 Released!

Posted: Nov 24, 2016 by Yourupload Team

Preface

The blog has been a place where many have looked and few have found good information. This is a big goal for us here at the development team to change.

Our primary focus over the initial 4 years of YourUpload has been the backend and delivering a solid and reliable service. The service has taken a massive transition into 3 separate platforms which were migrated as we moved along. Without going deep into the history our current latest and greatest platform is a spectacle and has cut our issues down to almost nothing.

Moving forward YourUpload is going to put on a much more public face as we work towards removing our beta tag and officially starting to attack markets and improve functionality both for importing and exporting content. Thanks to our wonderful fanbase and traffic growth our team has spent a wealth of time working on scaling YourUpload into the future. Keeping the service online, migrating, developing, scaling all at the same time has taken huge amounts of time away from being able to work on the interface.

In fact, when version 3 of YourUpload was released in many ways we took a large step backward from what our users had previously. A lot of this had to do with making a major technology switch. YourUpload 3 runs 100% on Javascript, pure browser Javascript on the front end and Node.js for the backend operations.

Technology changes

We also rely on major Node.js open source projects to help fuel our cluster growth and automation. Moving from PHP to our new environment has been a mountain if not planet of work. We toiled away trying to mate the incompatible technologies together as we learned a new language and ecosystem, developed new software, contributing projects to the new landscape of Node.js; then, finally, push forward and create a platform capable of not only meeting but exceeding the performance of our PHP platform.

To put that into perspective our PHP platform was built leveraging on over 32 years of combined PHP experience. Coming into our biannual of code moving to Node.js in 2014 and 2015 we starting with 0 years of experience and quickly learned as we moved along. We all came to the table with some Javascript experience; however, as we moved forward with porting these projects, it became more and more clear how little we understood about how Javascript really worked.

On top of that, we released YourUpload 3 into a production environment that we built and contributed to the Node.js ecosystem. There are not a lot of standardized ways to run Node.js in production. It has been rather uncharted territory. Everyone seems to use their own home brew for the most part and the few process managers that exist were a little too immature or limited for production environments. This I believe, lead us into even more uncharted territory as we learned how to control Node.js on Linux and Windows as well. Being as portions of our team develop on Windows, we thought why not try to make our software run OS independent out of the box. This goal we have achieved with minimal effort.

New backend

The latest backend features a streamlined content delivery system that is faster in every way. Our players our no longer crippled by waiting on a response from the backend before moving forward with delivery of the embed. Our backend now prepares content for streaming quicker than ever.

During this release of the backend the cluster was taken offline for 2 hours. This is an unusual event for our systems but this was one of the times that required a complete system shutdown to clean out and release the new backend software. The main reason for the extended downtime was syncing all the data between peers about delivery status of content.

Increased redundancy

We have been hard at work expanding our clusters as we have grown. In addition to that expansion we have worked with diligence to add redundancy to the cluster wherever possible. I believe this has contributed to a much greater uptime in the recent months.

Release strategy

As most webmasters and some content viewers have probably noticed. YourUpload is upgraded in a rolling strategy. This release message comes at the end of the release of 3.5 including clean ups and fixes. We prefer this strategy to allow us to internally handle issues quickly and cut down on over use during releases of new features.

Downtime is not part of our policy however we understand we have caused a few outages during these recent releases. Moving forward we will be working on some status pages as well as social media to keep everyone updated as to our system status moving forward.

Finally the change log. I admit this is a bit limited of a listing.

3.5.0

  • Finalize interface changes for the live interface
  • Upgrade to Jwplayer 7 for the main player
  • Add new embed play pass through to prevent waiting on a response while serving the embed
  • Bug fixes and interface upgrades

3.4.0

  • Add live import status
  • Add remote import using URL
  • Add remote import using grabbers

3.3.0

  • Add file URL export
  • Add file and folder moving
  • Upgrade dependencies

3.2.0

  • Update deps and packages to run on node 5
  • Added live client interface featuring a SPA file manager
  • Remote import system

3.0.0

  • Back to a standalone application
  • Switched from PHP to Node.JS
  • Integration with sequelize
  • Simplification of interface

2.0.0

  • Implemented using the deprecated Vidcache system

1.0.0

  • Initial release
Version 3.5.0