Tian Chen

VPE, Technical Writer, Elixir Enthusiast

Tian Chen has over fifteen years of experience working in the software industry. He currently works at ArcBlock Inc. as VP of Engineering. Tian is an Elixir lover and blockchain technology evangelist, he loves the beauty of the concurrency model of Elixir and worked hard to push it to the blockchain world.

Past Activities

Tian Chen
Code BEAM SF 2019
28 Feb 2019
16.25 - 17.10

Create a decentralized database with ExAbci and Tendermint

Tendermint is a consensus engine that helps engineers to build various blockchain. It proposed an interface called ABCI (Application BlockChain Interface). ExAbci implemented the interface for elixir. This talk will focus on how to use ExAbci to build a decentralized database on top of it, making the database can survive all kinds of failure of 1/3 of nodes.


Blockchain is not a mysterious tech. This talk will show how easy we can build blockchain related applications with BFT Proof-of-Stake consensus engine. The audiences could learn how to use ExAbci to explore all kinds of possibilities in the blockchain world, or even build their own chain or blockchain enabled applications


Elixir users who has solid knowledge on OTP.

Tian Chen
Code BEAM SF 2018
16 Mar 2018
15.20 - 15.45

Release, Deploy, Monitor and Upgrade Elixir Services in Real World

Although Elixir has been rapidly adopted in the past few years, it still lacks a general guide and practices on releasing, deploying and upgrading (maintaining) the elixir services in a production environment.

Issues around this subject include:

  • How can Elixir release be integrated with github release?
  • How can Elixir service deployment and upgrade be integrated with devOps tools (like ansible)?
  • How can we quickly respond to failures and anomaly behavior of running Elixir services?

This talk shares the discoveries we have made at Tubi TV for the whole process.


  • Using distillery to generate the release and hot upgrade release.
  • Building our own tool to make the artifacts once a github release is created.
  • Building ansible script to do rolling upgrade or hot upgrade, enabling engineers to run one command to deploy a release without disrupting the production service.
  • Using sentry logger for error logging and integrating datadog for monitoring and alerting.


Share our experience and discoveries on how to release, deploy and upgrade Elixir services.


Elixir programmers and devOps