How we created the Vexor cloud continuous integration service

The challenge

It’s a classic problem of scale. When a company works on several projects simultaneously, it faces a number of difficulties when it comes to continuous integration services. Running your own CI setup on the cloud is expensive, and the way you are charged can often seem unreasonable — the server is used only during a few hours, but you pay for it as if you were using it all day long. Building your own data-center is even more expensive than that. It’s not just the computing and storage, hosting your own CI chain: projects have to be configured, test servers need to be created and monitored, packages need to be upgraded. It takes a lot of time and effort to keep it all running. And whatever you do, you’ll inevitably have your developers asking you to increase the number of instances dedicated to continuous integration.

Introducing Vexor

Vexor isn’t just CI in the cloud, it’s CI for the cloud. With Vexor, you only pay for each minute that your tests are actually running. No standing charge. No minimums. Push no commits? You don’t pay anything. You get the best of both worlds, too. Vexor scales resources intelligently to meet demand: no more waiting in line for your job to start.

Branding and user experience

We developed a unique brand identity for Vexor, centered upon a twisted weld in perpetual motion, and brought it to life using CSS3, WebGL, SVG, and Three.js. We developed this into a distinctive brochure site for the service, complete with a cost calculator.

vexor screen

Behind the scenes

We began development using AWS, but Vexor needed more fine-grained control over physical computing resources than EC2 is designed to provide cost-effectively. After some investigation, we identified that Rackspace was able to offer the right combination of scalability, control, and pricing.

vexor application

Vexor uses Docker containers to perform CI jobs in a consistent environment, pulling from source repositories hosted at Github, Bitbucket, or Gitlab. Test containers are based on the popular Ubuntu Linux distribution, and we provide a number of pre-installed packages such as Xvfb, Postgresql, Mysql, MongoDB, Redis, Elasticsearch, PhantomJS, and SphinxSearch, making Vexor incredibly convenient to use.

vexor io pic

Vexor supports a number of environments out of the box, including Ruby, Clojure, Scala, Python, Haskell, React, Elixir, Solidity, Node.js, Go, Rust, and will in many cases auto-detect the appropriate commands to invoke for standard test passes in your chosen language. For more esoteric cases, the defaults and detection can be overridden by placing a Yaml file in the repository.

vexor io tablet

Our clients are impressed by its simplicity of use, super-fast integration of builds, and pay-what-you-use pricing strategy, particularly compared to some similar services. And because Vexor can perform any number of tests simultaneously, you won’t be able to use “waiting for the CI to finish” as an excuse anymore!

We needed to significantly speed up the processes and decided to create our own CI system. We called it Vexor.
Alexander Kirillov
We have more than 2500 tests and thanks to Vexor they take just 9 minutes. I’d like to thank the support team of Vexor for helping with config and providing much cheaper prices than its analogs have.
Vlad Syabruk
Lead developer, — Subscription based e-book service
We love Vexor and use it for our open source projects on GitHub. We appreciate the platform as it allows us to build tools and we also enjoy the new container infrastructure for speedier builds.
Anton Mozgovoy
CTO, — Blockchain platform and mobile financial app
Contact us
Have a project in mind?
Let's make it happen
Attach file
Files must be less than 8 MB.
Allowed file types: jpg jpeg png txt rtf pdf doc docx ppt pptx.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.