Optibus Boosts Developer Speed and Efficiency with Velocity Environments

Optibus achieves faster time to delivery since developers are free to focus on code-building tasks, not infrastructure.

"Using Velocity, our developers don’t need to worry about creating a database or maintaining data. If their specific task is to let's say, build UI, they’re just building UI. They're not focusing on anything else, and that makes them a lot more productive."

Optibus

Who:

Optibus is an end-to-end SaaS platform working with public transportation providers in over a thousand cities worldwide to optimize mass transit routes and schedules.

Situation:

Maintaining local development environments took time away from coding tasks and were not fully aligned with the production environment, resulting in difficulty scaling, limited collaboration, and slowed innovation.

Solution:

Velocity's self-served ephemeral development environments have replaced their home-grown solution.

Impact:

Faster time to delivery, greater collaboration across developer teams, easier onboarding of new developers, and centralized updates to tokens, secrets, and connections.

Optibus

Founded in 2014, Optibus is an end-to-end software platform that works with public transportation providers in over a thousand cities all over the world, helping to solve complicated route and schedule planning challenges for their customers. Optibus combines artificial intelligence (AI), optimization algorithms, and distributed cloud computing to make public transportation smarter, better, and more efficient. By running fewer vehicles on more efficient routes, and by better managing electric buses, transit operations can reduce costs and lower CO2 emissions.

Challenge

Optibus employs diverse co-located teams of developers with an enormous range of skills, from algorithmic experts to AI leaders and JavaScript, Python, and C++ masters. As is typical in most software teams, Optibus’ developers work locally on their own machines. However, as the team began to grow, it became problematic to keep each developer’s local environment similar to production. Managing and mitigating the differences between local and production environments caused delays in their work.

“As we grew in terms of numbers of services and teams, this became a real challenge for us,” said Oren Griffin, Optibus’ application infrastructure team lead. “We tried to develop and maintain our own in-house virtualization solutions, but we ended up with several different solutions for different scenarios, and it became very costly to manage them all.”

Oren and his team needed a more efficient way to develop and maintain fast, reliable, and consistent environments for all their developers, so they looked to Velocity to help streamline their processes and improve the experience for their developers.

Solution

Working with Velocity has enabled Optibus to spin up ephemeral development environments at the click of a button, replacing their home-grown solution. With Velocity’s self-serve environments, Optibus’ developers can focus on the task at hand.

“Using Velocity, our developers don’t need to worry about creating a database or maintaining data. All of that is done for them. If their specific task is to let's say, build UI, they’re just building UI. They're not focusing on anything else, and that makes them a lot more productive,” said Oren.

Velocity gave Optibus the ability to scale development teams more swiftly and efficiently, and deliver new features to customers more quickly than before. By moving to Velocity’s containerized environment solution, the team realized many benefits including:

  • Cross-team collaboration
    Optibus’ developers now benefit from being able to work together in an environment in real time, integrating different teams in a way that Oren referred to as a “game changer.” Previously developers had to push to the same branch, deploy, and then pass to another team for debugging; now this whole process is avoided by collaborating on a single environment. With Velocity, multiple users can work on different microservices in the same environment. This allows them to complete cross-team tasks faster, as both parties use the same environment and can collaborate in real-time rather than waiting for their CI tool to publish the changes to a shared staging environment. With this improved developer collaboration, Optibus is able to develop and deliver new features faster.
  • Centralized, aligned process
    When Optibus did not have a standardized method of creating environments, developers would create their own environments in their own way. This led to each developer facing different challenges and wasting time solving problems that were unique to their individual environments. Using Velocity as their centralized solution, developers now face fewer issues and don’t waste time maintaining individual environments.

    Since AWS S3 buckets are part of their environment, developers need to have AWS cloud access to use them. With Velocity, access is taken care of and managed centrally. Developers no longer need to configure their machines to access AWS with their individual credentials, which also required Optibus to use their SSO solution.

    In addition, developers would waste a lot of time when they discovered that they were using outdated secrets and had to find the new versions. Now, since the environments are being managed from a central location with Velocity, developers don’t need to manually pass secrets - everything is defined in the platform. All tokens and secrets are stored in a centralized location on Optibus’ cloud account rather than on each individual device. Since secrets are no longer stored in individual machines, the security team is happy that there are fewer possibilities a developer might leak a secret, and the infrastructure team is happy that they can upgrade the secrets for all developers at the same time. “If I need to rotate a token, I can just easily do it and all developers will receive it. They don't need to worry about all these secrets from all the different services we use,” Oren said.
  • Faster onboarding
    Before using Velocity, each developer was responsible for creating their own environment, which might require them to learn additional tooling, new irrelevant syntax for their day-to-day work, and deal with various setup issues before they could even start writing code. Using Velocity, new developers can spin up an environment in minutes and get right to work doing what they were hired to do. This proved to be a huge benefit when Optibus needed to onboard a team of new developers from its recent acquisition of Trillium, a leader in passenger communication systems. The new developers only needed to check out the code and they were able to start working.

Results

When the CTO of Optibus asked developers which technology has made the biggest difference to their daily work, the near unanimous response was “Velocity.”

“The results exceeded all our hopes. We were able to relatively quickly adopt the solution, and more and more developers were surprised by how easy it is and how efficient it makes their everyday work.”

For example, Optibus built a unique script to copy an anonymized database state from production in order to reproduce customer bugs. That script required each developer to have access to a production dump which could take some time to create, especially if there was a big chunk of data. Using Velocity, the Optibus team modified the script to run against their environments. Since the work is done in the cloud, the duplication time decreased significantly and it removed the need for developers to have access to the production dump.

And with Velocity, Optibus’ developers no longer need to install Docker and operate local MongoDB and Redis database installations. They just use their IDEs and the rest is taken care of. One of the software developers on the team, Alex Mundiñano, raved that it “makes their laptops snappier.”

Optibus is continuing to share feedback with Velocity and work together to make the solution even better for its developers. Oren is planning to onboard more departments to the platform, expanding to include product and design teams. “Many others could also benefit from Velocity,” he says.