Our server-side secret weapon
A Rocketmakers “tech talk” with CTO Keith Walker
CEO Richard Godfrey may be the public face of Rocketmakers, but it is fellow co-founder and CTO Keith Walker who is regularly pushing the boundaries of the company’s software development behind the scenes.
Last week, Keith was happy to give us a few minutes of his time to explain one of the newest and most exciting developments from Rocketmakers ever - Orbit!
Rocketmakers: Keith, can you give us a quick guide to what Orbit is?
Keith Walker: Sure. Orbit is a collection of server-side blocks of code we call “capsules.” Each capsule is like a building block which can be used to create new applications. So we have a capsule for the user signup process, one for uploads, notifications, auditing and more.
RM: Okay, these sound like pretty standard features. What makes Orbit so important?
KW: Yes, they are standard features and that’s exactly what makes Orbit useful. All applications have at least some of these features, and Orbit allows us to include them from the start of a new project.
In other words, we no longer have to build a new signup process, a new uploading system, etc, before we get to the really exciting, innovative part of an application.
We can plug the Orbit capsules in at the start, and move straight on to the work which makes an app special.
RM: Okay, I get it! It sounds like a massive time saver.
KW: It is, but there is much more to Orbit than just saving time. We’ve been working on these capsules for over two years, and they are robust and thoroughly tested. When we build an application with Orbit we not only get going faster, but we can ensure a very high standard or quality from the start.
RM: So is Orbit a totally new innovation by Rocketmakers?
KW: No - not exactly. The Orbit capsules are another name for what developers call “microservices.” This is an idea which has been around for a few years, and has only recently moved into the mainstream. Very few developers have taken the time to create libraries of microservices the way Rocketmakers has.
And, I should explain, Orbit is only the first part of a wider series of innovations we are working on.
RM: Oh! That sounds interesting. Can you tell me more about that?
KW: Orbit is one component of a new way to develop software called “evolutionary architecture.”
When we build an app using Orbit capsules, these capsules are much easier to manage and upgrade in future. Each microservice in the code is in a discrete chunk, and if we need to fix something or if there is an upgrade available, it means we can remove or alter that section in a way that doesn’t impact the rest of the code.
RM: I didn’t realise that was something you couldn’t do already. Can you explain?
KW: Sure. Think about a car for a moment. It is built from different components which are assembled together on an assembly line. If you need new tyres or if you want to upgrade your stereo, you just remove the old parts and put in new ones. Each part of the car is discrete from the other parts, so there is no way removing your car stereo will impact your power steering, for example.
Software has always been much more complicated to repair and upgrade. Pretty much all software is built from scratch from a blank page, with each programmer organising things however they see fit, and often mingling different functions together. Years later when the original code needs fixing, upgrading, or expanding, it can be nearly impossible for anyone to understand how to access a single function, let alone upgrade it.
RM: Okay, I get it. So is “evolutionary architecture” a step change in software engineering, in the same way that the assembly line was a step change in manufacturing?
KW: Quite possibly. It is certainly having a significant impact on many of our development projects, even in these early days.
RM: Can you give an example?
KW: Sure. In the past year we’ve worked with a Fintech startup which has to be really careful about security and threat detection.
Because we had already spent two and a half years ensuring our Orbit capsules were robust, we were able to put together an extremely impressive first version in a very short amount of time.
One of the capsules we have designed covers auditing. This is something that most apps don’t need, and creating a robust auditing process from scratch is really time consuming. But we were able to insert an auditing function designed to work with the other capsules from the start.
Orbit is also designed to be combined with two other technologies, a container tool called Docker, and a container orchestration system from Google called Kubernetes. These systems are extremely powerful tools for managing sensitive data, and being able to combine them with a microservices system like Orbit is extremely cutting edge. I don’t think there are many software developers outside of Silicon Valley doing this.
RM: Wow! So is Orbit something we can expect most new Rocketmakers projects to be built on?
KW: So far there are six different apps we’ve built using Orbit, including the home-energy management app we built for Sero.
There will certainly be some projects where we will decide to use different tools, but we certainly will be using Orbit regularly. It allows us to create software from day one that will stand the test of time, and can be the building blocks for a business and not just a proof of concept prototype.
RM: Thanks, Keith! I really appreciate you taking the time to explain this to us.
KW: Happy to help.
At Rocketmakers we leverage our experience to build innovative software for companies of all sizes. If you have a vision for a project and you need a technical partner to help you design, develop and deploy it, get in touch: [email protected]