Recruitment
Viettel IDC

VIETTEL API GATEWAY

Provides an intermediary between different applications, helping applications communicate easily and securely

Terraform is an Infrastructure as Code (IaC) tool used by customers to build, manage and automate their cloud infrastructure. With Terraform, you can take full advantage of IaC to easily and consistently deploy and manage your cloud infrastructure. Instead of having to go to Openstack's admin page to create each resource, you can use Terraform to place commands as desired.

Declarative Infrastructure as Code

Terraform uses a declarative language to define infrastructure as code. Users describe the desired state, and Terraform automatically updates the infrastructure to achieve that state.

Extensibility

Can be extended through plugins and community extensions.

Event Driven Graph

Uses an event-driven graph to determine the order of executing changes and optimize deployments. Provides workspaces to manage multiple copies of infrastructure configurations for different environments.

Modularity

Infrastructure can be organized into separate modules, facilitating code reuse and efficient management of infrastructure components. Supports inheritance, allowing child modules to inherit from parent modules, minimizing duplication and enhancing modularity.

Automate infrastructure deployment and updates

Infrastructure construction time will be shortened because manual steps have now been replaced with automated commands. When you need to build infrastructure for a new environment or change infrastructure for all existing environments, just run the commands. All changes will happen as expected, there is no need to create from scratch or modify infrastructure in all environments to be consistent with each other.

Enhanced security

IaC leverages automation to minimize security risks associated with human error. When implemented properly, IaC significantly improves the overall security of an enterprise's data and compute architecture.

Change version management

Can track the development and change process of the infrastructure by using version tracking tools for infrastructure description files. From there, we can easily and quickly modify the infrastructure to an old version if problems occur during the change process.

Improved accuracy

Infrastructure built by Terraform also ensures consistency between environments because it is built from the same file. This will eliminate discrepancies between development, testing, and production environments. Ensure testing results are accurate and consistent across environments.

Terraform can help you:

- Cross-platform cloud resource management.

- Manage different versions of the infrastructure.

- Manage dependencies between resources.

- Automate infrastructure deployment and updates

- Write: this is the step to define the resources you will create and manage into a code file with the file format "tf" (Terraform's default format).

- Plan: Terraform will rely on the file you wrote above to create a detailed execution plan. This plan will determine which resources will be created in the necessary order, and which    resources will be updated or deleted based on the current state of the infrastructure that Terraform has recorded.

- Apply: Terraform will execute the plan with many parallel processes. This helps optimize processing time instead of sequential processing.

Yes, Terraform is widely used by DevOps teams as a tool to automate infrastructure provisioning, management, and orchestration for single or multi-cloud deployments

Comparing Terraform to its competitors in the IaC market, each tool has its own advantages and limitations. Below is an overview of some key IaC tools and their differences from Terraform.

     - Terraform and Ansible:

       Terraform focuses on infrastructure provisioning and orchestration, while Ansible is geared towards systems and management automation. Besides, Terraform offers comprehensive management and multi-cloud deployment support, while Ansible offers more control but requires manual steps for provisioning. Terraform is more complex but has more features, while Ansible is simpler but has a fairly narrow scope. The choice depends on the specific requirements and priorities of each business.

     - Terraform and Pulumi:

        When comparing Terraform with Pulumi, an open source IaC tool, there are some notable differences. Pulumi supports multiple programming languages such as GO, .NET and JavaScript, which is different from what Terraform uses

Need support?

Please contact Viettel IDC immediately for support and advice on the Vietel API Gateway solution that best suits your needs.