62nd Monthly Technical Session

Bagus Aryabima
henngeblog
Published in
6 min readOct 18, 2019

Monthly Technical Session (MTS) is HENNGE’s mini-conference. As the name implies, MTS is held monthly and its talks are (mostly) about technology.

The 62nd MTS was held on September 13th, 2019.

“How to Develop Multi-Tenant Apps” by Okubo

Okubo presenting “How to Develop Multi-Tenant Apps”

In a multi-tenant application, a single instance of software serves multiple customers. However, at the same time, data of one customer should be completely isolated from one another.

Okubo presented some architectures people may use to implement a multi-tenant application. The first one (let’s refer it to as Type A) consists of an app associated with multiple database schemas. The second one (let’s refer it to Type B) consists of an app associated with a single database schema. Between Type A and Type B architectures, he found that the latter is more difficult to implement but more scalable.

Then Okubo shared the architectures of some of the multi-tenant applications that he implemented. Interestingly, some of these projects combines Type A and Type B architectures, using each for different components.

“Building Your First Mechanical Keyboard” by Henry

Henry presenting “Building Your First Mechanical Keyboard”

Henry recently built his first mechanical keyboard. He had been using mechanical keyboards for a while, but he wanted a really small keyboard that retains most useful features of big ones. He couldn’t really find off-the-shelf keyboard that fit those needs, so he built one himself.

Building your own mechanical keyboard requires quite the effort. You need to set aside some time to do so, some of which will be spent on soldering stuff. Once your keyboard is built, you need to set aside some more time to create and customize its layout.

These are the steps Henry went through in building his keyboard:

  • Flashing a firmware to the microcontroller
  • Soldering diodes onto the PCB
  • Soldering switch sockets
  • Installing the reset switch and the microcontroller
  • Arranging switches to the top plate
  • Attaching the top plate to the PCB
  • Testing whether each key works well
  • Attaching spacers to the bottom plate
  • Installing the board and screw from the top
  • Attaching the key caps

“Our Products You Don’t Know” by Ito

Ito presenting “Our Products You Don’t Know”

Ito has been a member of HENNGE for a while. In a way, this talk is about HENNGE history through his perspective :)

In 1999, Ito worked on HDE-WUI, a web-based Linux server administration tool. HDE-WUI allows users with any technical background to easily set up a Linux server. The next year, HDE-WUI evolved into HDE Linux Controller (now known simply as HDE Controller). Ito has been working on this product ever since.

Throughout the years, Ito has also been contributing to products other than HDE Controller. In 2002, he worked on HDE File Server, a web-based file server administration tool. The very next year, he started working on HDE Anti-Virus. This product allows users to manage anti-virus configurations and run scan command via its web console.

Ito has also worked on our email security products. In 2003, he started working on HDE Mail Filter. This product not only prevents confidential data from being leaked, but also archives emails that are sent to or from the Internet (for audit purposes). Two years later, he worked on HDE Anti-Spam.

Finally, Ito also contributed to our open source projects. The aforementioned HDE-WUI is one of them, with the other being Karesansui. The latter is a virtualization management software.

“Evaluation of Erasure Coding and Other Features of Hadoop 3” by Naz

Naz presenting “Evaluation of Erasure Coding and Other Features of Hadoop 3”

Naz worked on this project during her time as an intern at CERN. The main motivation of this project was to reduce storage overhead without affecting the performance of Big Data processing. The Big Data processing aspect of this project is enabled by Apache Hadoop.

According to Naz, Apache Hadoop consists of two domains: compute and storage. This project is mainly concerned with the latter, especially the Hadoop Distributed File System (HDFS). HDFS uses triple-replication strategy in order to achieve high data availability. Unfortunately, this means that HDFS has 200% storage overhead because it replicates all data twice.

Erasure coding feature is designed to solve this problem. This feature stripes files and distribute them to N data chunks. It then uses a codec algorithm (e.g. Reed-Solomon) to compute K parity chunks based on those N data chunks. Parity chunks are needed to reconstruct data chunks (including failed ones) and reassemble them to become files again.

The core of Naz’ project at CERN was to evaluate the performance of erasure coding feature, in both raw storage and analytics aspects. The cluster she used for this evaluation consists of 16 machines, each equipped with 48 (!) 5.5 TB drives. The evaluation was conducted across several file sizes (100, 500, and 1000 MB) and several erasure coding policies.

Naz discovered that erasure coding is about 60% cheaper compared to triple-replication in terms of storage costs. On the other hand, writing files to HDFS using erasure coding is 40–50% slower than triple-replication. This is because erasure coding does parity chunks computation during writes. However, reading files from HDFS using erasure coding is about twice as fastcompared to triple-replication. The reason is that erasure coding makes use of parallelism for reads.

“Sharing Customer Information on TCP” by Shibue, Shimada, Imai, and Ariura

Imai presenting “Sharing Customer Information on TCP”

This talk is the continuation of a similarly-titled one back on the 59th MTS. Iwano and Tokuda had explained the overview of TCP back then, which is an internal web application we use to share customer-related information. This time around, Shibue and friends focused on each function of TCP.

Shimada explained the three functions he implemented: visualization of customer satisfaction, visualization of cross-selling, and translation and display of emails received by the support team. Visualizing customer satisfaction allows us to better evaluate the performance of our sales teams. Visualizing cross-selling workflows enables better teamwork between renewal sales team and new sales team. Translating and displaying support emails make it easier for more people to be engaged in the interaction, which hopefully will allow customers’ problems to be solved faster.

Voice of Customer is a component of TCP which acts as a communication hub between us and our customers. Through Voice of Customer, we receive lots of requests from our customers. Imai explained how we try to properly manage and prioritize these requests, while Ariura shared some of the more unique requests we received.

“GoHunter” by Laurence

Laurence presenting “GoHunter”

As you may have heard from our intern stories, one of the perks of being an intern at HENNGE is free lunch every Monday, Wednesday, and Friday :) There have been a slight problem though; sometimes we just don’t know where to go for lunch.

Laurence (and Michelle) proposed GoHunter to help solve this problem. GoHunter collects data of our past lunches and displays information about the restaurants in which we have had lunches before. Hopefully, with GoHunter we will be able to decide where to go for lunch much faster!

As usual, we had a party afterwards :)

62nd MTS after-party!

--

--