Road Surface Information
Building systems on the bleeding edge of technology requires making use of the newest ideas and technologies out there. We are always scouting for and evaluating new ways of doing things, both online and at conferences around the world. Attending conferences such as Kubecon or Flink Forward are also a great way to keep up to date with the technologies we use, while doing some networking at the same time. And having fun together with your colleagues of course.
Almost all our cloud services are containerized and managed by our Kubernetes cluster which is hosted on AWS. The backbone of our data processing architecture is our Kafka cluster which manages the data received from our connected fleet of cars and from our weather data providers. This data is processed by our Flink streaming pipelines as well as by Spark batch jobs. We use auto scaling groups to dynamically allocate the number of nodes we need, so if you want something done in a hurry, just add a few hundred cores to the problem!
When it comes to databases, ScyllaDB provides a scalable and highly available way for us to reach our data. The time series database Prometheus keeps track of our operational metrics, which we visualize and monitor in various Grafana dashboards.
Currently, the main programming languages we use are Scala and Python. We chose Scala because it is a beautiful and modern language which can make use of the vast number of libraries available for the JVM. The language supports both functional and object-oriented paradigms which lets us use what fits best for the problem at hand. We also use Python when it is better suited, for example machine learning tasks in our Kubeflow notebook environment.
Want to talk details? We will be at Linköping University at Linkdagarna. Meet us to talk about summer internships, master these or future job opportunities.