Developing Backend for ManageWP Orion

Update: There have been some changes from the time the Orion idea has originated. I would highly suggest reading our newest edition of Developer Diary #8! 🙂

ManageWP Orion bannerWanna know what’s under the hood of ManageWP Orion? We’ve used our passion for technology to embrace all the best web-dev has to offer, even some less seen practices, and we poured it into Orion. Our goal is to make a platform that will stay stable while holding all the features we have planned for it.

Real-Time Data

One of the key features of ManageWP Orion dashboard is ensuring that the data you’re looking at is never stale. Contacting all your websites to ensure the data is current can take very long time, especially if you have a large number of websites. Staring at the loading screen and waiting for it to give the control back to you is frustrating. In ManageWP Orion, we take the advantage of the Streaming JSON technique to show your website results in real-time.

Orion dashboard update animation 2

 

Leveraging Symfony

Symfony is our framework of choice, and we’re using its full stack of components. We’ve inherited its best practices and standards and we greatly benefit from its architecture and flexibility. Having a powerful framework enables us to quickly expand our feature set while maintaining the code base simple and effective.

The Heart of the API

At the core of the API lies the component we dubbed “communicator” which is responsible for secure communication with every site. For this we used the awesome Guzzle HTTP client library, which allowed us to easily extend its functionality to make asynchronous calls, do smart on-the-fly reconfiguration (i.e. for sites behind a badly configured load balancer), throttle calls to a single server, cache resolved host names (we’re using Redis for this), and stream messages directly from the ManageWP Worker plugin to the front-end (i.e. “Backup file upload in progress – 60% at 16MB/s”).

Rock Solid API as the Base

The API is a major improvement over the old application, and we’ve given special care to its documentation and consistency. Using the Symfony’s form component as a core for all incoming API calls, we made it so every request the application doesn’t recognize shows an appropriate error message. The output is handled by the JMS serializer component, which enables us to be consistent throughout the application. We’re also using this for our automatic API documentation generator, which will be available to public soon after the final release. Our mobile applications for Android and iOS have already been using a subset of the API, and this means that you could see other services integrating ManageWP API soon!

The ManageWP Worker Plugin Is Getting Some Love Too

We’ve made numerous improvements to the ManageWP Worker, our client plugin that we use for secure communication with ManageWP. We’re expecting the speed improvement of up to ten times, especially on sites with larger number of plugins – and this is only the beginning. Just to give you a glimpse, you will be able to restore a website from ManageWP backup even if a plugin or theme update has crashed your site. ManageWP Orion will require at least version 4 of the client plugin (we’re currently at version 3.9.30), which we will be releasing later this week.

Focus on Speed, Security and Reliability

This has been our mantra during the development of ManageWP Orion. We already talked about challenges to make front-end instant but we also went great lengths to deeply integrate our back-end technology with WordPress allowing us to squeeze every ounce of performance out of it. Syncing data with your sites will be the fastest you’ve ever seen, here or with any competitor.

ManageWP has been used to manage over a quarter of million WordPress sites with no security incident in the past four years that the service has been running (including beta period). We are determined to keep our impeccable security record in the future and gradually add features that will help you protect your sites from hackers.

And managing that many sites over thousands of different hosting setups and environments has always been a technology challenge, with backups in particular. So far, we’ve reached 85% backup success rate across different hosting setups. Soon after the launch of Orion we will dedicate a whole month to solving this once and for all and getting backups to 99+% rate. We now know the way to accomplish this and have the back-end to support it.

This Is Only the Beginning

Everything I mentioned is only the foundation of what is yet to come from the ManageWP team. Your feedback over all these years has helped us mature as the product that pioneered WordPress management. Now we are ready to take it to the next level.

 

This is the fourth article in the ManageWP Orion series. Check out our previous articles:

Milos Colakovic

Milos Colakovic is the Devana Technologies Head of Engineering. His current focus is on ManageWP, and also does some work related to security. Outside work he loves to play piano and guitar, watch anime, enjoy good company, and groom his beard.

13 Comments

  1. Rajiv Patel

    it possible to performances checks, security check and WordPress function run by API and give all reports.

  2. Rick de Jong

    Is it possible – or planned – to open some kind of API to receive all the details of client reports between date-1 and date-2?
    In this way we can manually generate some PDF with all the updates, backups, etc..

    If yes, is there some documentation?

  3. DT Media

    Please invite us to the beta!

  4. cosit

    Do you have any more beta spots available? Can’t wait for all of these improvements, it sounds fantastic!

  5. qbuster

    I would happy to be included in the Orion beta too – the prospects for future development sound exciting….

    Regards

    Will Chapman

  6. graeme

    I’d previously asked for an invitation to the beta, but thought I’d reiterate that we’d love to participate.

    Thanks in advance.

    1. Igor Kolosov

      Just send us an email to st@managewp.com and you’ll get an invite from us

  7. Bogdan

    This sounds really awesome. Can’t wait for the release!

  8. portmaconline

    Hey guys,
    “We’ve also gained around 50% speed improvement just by using this highly-tested library at the core instead of relying on our own implementation”

    So what you’re saying is that your own programmers are rubbish? 😉

    Just kidding, you guys are taking a great product and making it even better, so kudos to you all! It is great that you are prepared to use other software when it is an improvement on your existing programming, unlike a certain other software maker who I won’t mention, but whose initials are M$! 🙂

    1. Nemanja Aleksic

      Thanks!

      WordPress itself is the best proof of things we can achieve when we pool our resources as a community. We’d be nuts to wall ourselves off from the rest of the community when we could leverage its power and at the same time contribute to it, just like we’re currently doing with WordPress.

  9. curtise

    All sounding very exciting and can’t wait to jump into Orion….is it possible to join the beta?

  10. Felix

    Very happy to see all this work on infrastructure! Any launch dates for Orion?

    1. Nemanja Aleksic

      Closed beta kicks off this Monday, on our 3rd birthday

Leave a Reply

Your email address will not be published. Required fields are marked *

Over 65,000 WordPress professionals are already using ManageWP

Add as many websites as you want for free, no credit card required. Sign up and start saving time!

Have questions? Get in touch!

Over 65,000 WordPress professionals are already using ManageWP

Add as many websites as you want for free, no credit card required. Sign up and start saving time!



Have questions? Get in touch!

Over 65,000 WordPress professionals are already using ManageWP

Add as many websites as you want for free, no credit card required. Sign up and start saving time!



Have questions? Get in touch!

Over 65,000 WordPress professionals are already using ManageWP

Add as many websites as you want for free, no credit card required. Sign up and start saving time!



Have questions? Get in touch!