Skip to content

Development

From Java to JavaScript

Our load testing platform, OctoPerf, has its frontend made using AngularJs. But it was not always the case, and this article describes the journey that led us to this choice.

Java was all I knew

When I graduated in 2007, all I wanted was to perfect my Java skills. I spent years as a consultant in several companies, chowing down Struts or JSF, Ant and Maven. I also created personal projects to learn JBoss Seam or GWT. Many of these previously trending technologies are outdated now.

Java and its ecosystem were all I knew, and all I wanted to know. The little prick I was, looked at PHP or JS developers with disdain. I was convinced that Java would be the best solution to any problem. I was convinced that I could create web applications without writing HTML or CSS.

You already know that i was wrong. silver bullet is a myth!

MkDocs sitemap.xml file generation

Here at OctoPerf we love static website generators. Even if our load testing tool is made completely dynamic by AngularJS, our website and blog are generated using Jekyll.

The OctoPerf documentation is created with MkDocs. This wonderful tool allowed us to concentrate on the documentation content as the markdown syntax is really easy to comprehend.

Moreover, the responsive themes let us integrate the documentation directly into our performance testing tool:

OctoPerf integrated documentation

When we first wrote it, MkDocs version was 0.12.0. It did not support sitemap.xml file generation. This guide helps migrating to the latest version (0.14.0).

Building Better Software

OctoPerf has been built from the ground with one unique idea: writing code that's pleasant to work with. Code quality is our number one priority. When you create your own startup, you quickly understand that the number one enemy are not your competitors: it is yourself!

When creating a startup you realize that your product:

  • must be released as quickly as possible on the market,
  • needs as many features as possible to catch back the competitors,
  • must be bug free to give your users the best possible experience.

Performance comes with a trade-off

Everyone knows that having a website which is fast is better than slow. But, did you know that improving the speed of your web application almost always comes with a trade-off?

Like Antoine Lavoisier said Nothing is lost, nothing is created, everything is transformed. What happens when altering a web or mobile app to improve its performances?

How fast do you want to be?

First of all, you should ask yourself this question. Try to target a reasonable goal, and stick to it. Maybe is your web or mobile app already fast enough? Load testing your app gives you how fast your application behaves under a given load. Is the app within the reasonable target response time?

Hosting Jekyll on Amazon Web Services

Our need is to create a fast website, in as less time as possible. Time is money, and when you launch a Startup, it is a very scarce resource.

Our prerequisites:

  • Best possible response times from anywhere in our geographical market (Worldwide: USA, Europe and India).
  • An already designed website template, we are not CSS gurus, and building it from scratch takes too much time.
  • Easy to customize, it must match our graphic design with just a few modifications.
  • Maintainable, we must be able to add content quickly.
  • Can be deployed using Jenkins, our continuous integration tool.

That is why we choose to use Jekyll to create a static website deployed on Amazon Web Services (S3 and CloudFront).