WE SOLVE THE MOST SOPHISTICATED TASKS

We develop the fastest and reliable mission-critical software in C and C++.
Our company contributes to world most sophisticated open-source projects and has a long and reach research track record.

 

 

C and C++ Software Development
C and C++ Software Development

We provide server-side software development from small proof-of-concept prototypes to entire products from scratch.

The developers of our company have 10+ years of experience in C and C++ development. We develop the fastest code using C and C++ programming languages and x86-64 and ARM assemblers, including SIMD extensions. For example, we outperform Nginx and OpenSSL for more than 80%.

Besides the speed, we focus on security and reliability of our code. We have discovered vulnerabilities in 3rd party C/C++ projects and analyze our own code for security flaws during mandatory code reviews. Our QA process includes security (penetration) testing.

We also use Python, Golang, JavaScript and Lua programming languages for infrastructure, web, and testing tasks.

Our solutions work in the Linux bare metal and cloud environments, such as Amazon Web Services and Kubernetes.

Evaluate quality and complexity of problems we solve by our open source projects here.

See our open source projects

A Linux kernel application delivery controller (ADC) extensively using lock-free data structures, advanced string algorithms, the modern cryptography, and machine learning for adaptive load balancing. Tempesta FW services up to 1.8M HTTP requests per second on cheapest 4-core x86-64 CPU, which significantly outperforms any other open source Web accelerators, including ones employing user-space TCP/IP stacks.

An implementation of SQL system versioning for MariaDB 10.3. It was the major feature in the 1.3 release. Watch our talks about the project at MariaDB User Conference'17 and MariaDB User Conference'18.

Clutch publishes verified reviews conducted by independent analysts.
Read the unbiased reviews about us at our Clutch profile.

High-performance software development
High performance

Tempesta FW vs Nginx performance

We're one of the best in development of highly concurrent data structures, multi-core workloads, text processing and sophisticated algorithms using fundamental mathematics. Our HTTPS accelerator Tempesta FW services up to x3 more HTTP requests per second than Nginx. We can make your product to beat any benchmarks of you competitors. The several facts about our work:

There are no "strange performance results" for us and we can investigate quite "magical" cases. Read the case of our investigation of Nginx high percentile latency on a G-Core Labs busy CDN edge node.

Learn why C and C++ are the best for the high performance

We're very serious about software performance, scalability, and reliability, so we constantly learn the latest technologies in the areas. C and C++ with some Assembly language still constitute the most powerful tool set. Being used together, C, C++, and Assembly languages allow to develop a high-level and reliable code as well as to reach the highest speeds for the performance critical parts of the code.

The fastest and the most popular open source software is developed in C or C++, e.g. the Linux and FreeBSD operating system kernels are developed in C, MySQL, MongoDB and ClickHouse databases are in C++, PostgreSQL - C, Nginx and HAProxy web accelerators are written in C, Envoy and Apache Traffic Server are in C++. The most heavy loaded websites use C and C++ for their server-side logic. C++ is also the main language for the modern deep learning projects like TensorFlow or PyTorch.

C and C++ are among the most used programming languages, so starting a new project in C or C++ means you choose ones of the most used programming languages and thus can find both enough qualified resources and great open source code, which can be adopted by your project.

However, these doesn't mean that C++ and C are always the best choice. Sometimes you need some quick PoC, just need a job to be done ASAP, or developers of your company work with other technologies. We understand the business needs and do our best to pick the most natural technologies for your business needs. While our company shines in C/C++ development, we also have senior developers in Python, Lua, JavaScript and Go programming languages.

network software development services
Networking

We've been developing high performance network traffic processing solutions since 2008. Our networking solutions are implemented in the Linux kernel, employ kernel bypass techniques (e.g. DPDK and Netmap), or use traditional event-driven sockets in user space. The areas of our expertise are: HTTPS servers and load balancers, clustered DNS services, cluster management software, database synchronous replication, network security (e.g. VPN, WAF, NIPS), DPI, 5G, SDN, and many others.

As an example of our network traffic processing development we would suggest you to take a look at Tempesta FW - world fastest HTTPS accelerator, which is developed by our company. To make it the fastest one and feature full, we constantly keep our eye on the most popular HTTPS servers and proxies, such as Nginx, Apache HTTPD, Apache Traffic Server, HAProxy, Varnish, Envoy, and H20 (see details in our talk and slides from the SCALE 18x conference). We know internals of the servers and can make any source code modifications or modules extensions for them.

Our team regularly talks at the Netdev conference, one of the most valued conferences about the Linux networking. You can check our talks from the list of our research papers.

database software development services
Databases

We're contributors to MariaDB and Percona XtraDB Cluster. We contributed to the most sophisticated parts of the databases: InnoDB transaction engine, Galera Cluster synchronous replication, SQL query optimizer. Besides contributing to the MySQL forks, we delivered projects modifying the PostgreSQL, MongoDB, ClickHouse, and Redis database internals. We also develop ad-hoc distributed databases for network traffic aggregation and analyzing. The typical cases for the ad-hoc solutions are real-time network data mining, web content caching or distribution of machine learning models.

To learn more about our several database projects, watch our talks:

Vadim Tkachenko, Co-Founder & CTO of Percona, says about us:

    They have unique skills in high-performance system programming and
    can solve sophisticated technical tasks quickly.
    

Read this and other verified reviews about our work at our Clutch profile.

Linux kernel development services
Linux kernel

Our company has deep knowledge of the Linux kernel internals. We have experience with the Linux TCP/IP stack, high-speed network adapter drivers (Intel, Mellanox/NVIDIA), XDP and eBPF programming, virtual memory management (VMM), disk and network filesystems (BtrFS, XFS, EXT4, NFS), KVM and LXC virtualization, cryptography API, Linux security modules (LSM).

You can observe Tempesta FW as an example of our Linux kernel projects. This is more than 100,000 lines of high-performance code with advanced lock-free data structures, modern cryptography algorithms implemented in x86-64 assembler, fast SIMD strings processing algorithms, light weight machine learning, and deep integration with the Linux networking stack.

We contributed into the CloudLinux kernel.

machine learning services
Machine learning

We employ ready-to-use deep learning platforms, like PyTorch or TensorFlow, as well as develop ad-hoc high-performance classification and regression algorithms.

Our implementations of LOF, HMM, K-means, Gaussian mixtures, and probabilistic algorithms running on CPU SIMD or GPU can classify millions of objects per second (the typical case for DDoS mitigation).

Read about the case for Email management company. Our team developed the machine learning driven automation system for email management.

remote development team
HOW WE WORK

To provide the best quality and maintainability of our code we use mandatory code reviews, strict coding style, continuous integration (CI) and delivery (CD) systems. See as an example our open source CI for Tempesta FW (developed in Python).

Our C/C++ development team is fully distributed, which allows us to hire the best developers around the world and communicate with our clients almost 24 hours a day.

top software development services
Why us

Only proven developers are assigned to your project. Tempesta's team consists of C/C++ developers, who have been working together for ages. Any engineer working on your project has a proven record on our internal projects. All our developers contribute to open source projects, so you can always observe the quality of our code.

We're a small team of C/C++ experts passionate about technologies. Even our CEO writes code. Thus, you pay for the high quality code only, not for selling services to you and not for the senior management.

Everything is transparent for you. From the first days we commit code to your repository, so you can evaluate our performance from the first week of the work. You can chat with our developers directly in instant messengers, e-mail, and/or by phone. Our CEO is always on-line for you and is ready to answer any questions.

Case studies
CASE STUDIES

MariaDB and MySQL development
We have developed the System-Versioned Tables for MariaDB 10.3. The development was commissioned by MariaDB Corporation. We designed the architecture and were responsible for the whole C++ development process, from early prototype to late bug reports from external users. During the project we significantly modified internals of the SQL layer of the MariaDB database, InnoDB storage engine and the Galera Cluster synchronous replication engine. Read an example or our analytics of highly concurrent data structures.

Percona and MySQL development
Since 2015 we delivered several C++ projects in the database area by request of Percona, including:
  • Galera Cluster integration into the first version of Percona XtraDB Cluster
  • Multiple bug fixes in InnoDB storage engine
  • Porting patches of a custom high-performance MySQL fork from 5.6 to 8.0
Read the review from Percona's CTO and co-founder about our work.

Wallarm WAF development
Wallarm commissioned us to develop libdetection library, an injection and commanding attacks detection library. The library is the part of a NG-WAF, Wallarm. libdetection provides much lower rate of false positives and false negatives than libinjection. Read the review from Wallarm's COO and co-founder about their experience working with us.

CloudLinux kernel development
Our team fixed number of major bugs in the CloudLinux's version of the Linux kernel.

Beeline fast networking
  • Back in 2010, when 10Gbps was quite a speed, we designed and implemented a 10Gbps HTTP traffic (MPLS) analyzer and TOP statistics counter by request of Beeline, an enterprise ISP. 10Gbps performance was shown on an entry-level server thanks to the new technology of data structures construction based on x86-64 virtual memory paging. The core of the project was the heavily modified Linux kernel.
  • We developed a Hilbert R-tree-based spatial database for real-time analyzing of the TOP statistic collected by the traffic analyzer. C++ was the main language for the project.

S-Terra high-performance VPN
S-Terra engaged us to analyze and optimize the performance of a VPN network capturer (Linux kernel module) to handle multi-gigabit traffic on large x86-64 NUMA systems. To improve the performance of the VPN we introduced
  • lock-free data structures
  • NUMA and MSI-X aware scheduling
  • zero-copy network packets handling
We've achieved stable performance measures with almost 200% performance boost in some of the tests and more than 100% improvement in average. So S-Terra still uses this VPN solution without any slowdowns or client complaints up to this day.

Software development for web hosting
We significantly extended features and performance of the Masterhost's massive shared hosting infrastructure.
  • A FreeBSD kernel module and an Apache HTTPD patch for high performance user switching to execute PHP scripts. The result of the project allowed the web hosting company to switch users much faster than any other existing mechanisms.
  • MySQL accounting and users limiting. MySQL and FreeBSD kernels were patched. The FreeBSD patch for per-thread rusage CPU statistics was merged into the mainstream FreeBSD source code.
  • Research in application layer DDoS mitigation algorithms based on analyzing of web users transitions among web site pages (behavior analyzing). The proposed scheme allowed to analyze million of users online on an entry level hardware.