Industry

Social Media

Technology

Terraform

OVERVIEW

Startup Oi is a new social media and tech talent platform. Startup Oi has an ambitious goal to focus on professional needs of tech engineers and developers, building a digital community and connecting with job opportunities and tech events.

KEY CHALLENGES

Startup Oi has already built many systems, applications, and databases that are running on the AWS Cloud environment, but most of them are deployed manually by developers.

The production applications are currently running on the AWS Singapore region.

The companies want to change the way they install and operate applications on AWS more automatically and professionally with the support of Terraform – one of the famous “Infrastructure as Code” tools nowadays.

The original plan was to transform all existing systems being deployed, configured on AWS into Terraform code, and create a copy of the system in another region for developers.

In addition, the system must be re-optimized to ensure security issues and to meet the handling of existing applications in the future.

Furthermore, Terraform code also has to support the upgrade and expansion to suit the system later.

SOLUTION – RENOVA CLOUD APPROACH

Infrastructure as Code means in practice that we use files to define infrastructure resources such as servers, disks and databases. These are defined as stacks related to the system. That leads to the possibility to automate the infrastructure configuration process instead of having to install it manually.

Currently, there are many tools that support Infrastructure as Code such as Terraform, Chef, Ansible, Puppet, SaltStack, and CloudFormation. The multitude and variety of tools and technologies can prove challenging to select the correct one for the use case.

Together with the customer, Renova Cloud decided to use Terraform code to convert most applications, configurations, and resources of the current system.

The requirements that Renova has done:

  • List all services and configurations that are currently available to customers in the cloud.
  • Programming the Terraform code to create the corresponding services and configurations.
  • Test on the new region for developer environment (corresponding to current production environment).
  • Improve and optimize security and related services as required to accommodate the expansion of existing and future applications.
  • Document the code for using, running and developing other functions in the future.

BENEFITS

  • Terraform provides a complete document that is easy for reading and learning.
  • The community using Terraform is large. Based on the IAC’s statistics (a 3rd party statistics and comparison between brands), there are a lot of jobs for Developers knowing Terraform, as well as the number of libraries is large too.
  • Supports multiple cloud platforms (AWS, Azure, Google Cloud, …)
  • The company can manage the version system very clearly (similar to git) through the state. Before making changes, we can see which components have changed to avoid confusion.

Now developers can decrease the steps to completely operate the existing system in another region.

In addition, it is easy to manage, maintain, and expand resources in the future.