O Terraform é uma ferramenta de infraestrutura como código (IaC) que permite visualizar, configure e gerencie a infraestrutura e os recursos dos serviços em cloud de forma segura e eficiente. O Serverless App Engine (SAE) permite usar o Terraform para gerencie seus recursos do SAE com mais segurança e implementar integração contínua ou entrega contínua (CI/CD) por meio do GitOps.
Introdução
Recursos básicos
O Terraform é uma ferramenta que oferece suporte à orquestração automatizada de infraestrutura de TI. O Terraform permite usar código para gerencie e manter recursos de TI. Para mais informações, consulte What is Terraform?
O Terraform fornece uma CLI fácil de usar para implantar arquivos de configuração nas cargas de trabalho dos serviços da Alibaba Cloud ou de serviços em cloud de terceiros. Além disso, permite gerencie as versões desses arquivos. Nos arquivos de configuração, é possível definir os recursos de infraestrutura necessários para crie topologias em cloud, como máquinas virtuais (VMs), contas de armazenamento e interfaces de rede.
É possível integrar o Terraform ao provedor da Alibaba Cloud para oferecer suporte a novas infraestruturas. Use um modelo para configure o provedor da Alibaba Cloud e assim definir, visualizar e implantar a infraestrutura em cloud na Alibaba Cloud.
O Terraform permite crie, modifique e exclua recursos de vários serviços da Alibaba Cloud, como Elastic Compute Service (ECS), Virtual Private Cloud (VPC), ApsaraDB RDS e Server Load Balancer (SLB).
Para mais informações sobre como integrar os serviços da Alibaba Cloud ao Terraform, consulte Provedor da Alibaba Cloud.
Cenários
O Terraform permite definir a infraestrutura como código e usar esse código para crie, consultar, modifique e exclua recursos de infraestrutura. Para ver exemplos de como usar o Terraform no gerenciamento de recursos dos serviços da Alibaba Cloud, consulte Scenarios.
Benefícios
O Terraform oferece os seguintes benefícios em cenários comuns:
IaC: O Terraform permite armazenar definições e configurações de infraestrutura como código. Isso facilita o controle de versão do código, a colaboração em equipe e a reutilização de código, além de aumentar a eficiência e reduzir operações manuais e erros.
Alta confiabilidade e estabilidade: A equipe técnica da Alibaba Cloud fornece capacidades internas de garantia, como testes de casos de uso automatizados baseados em cenários e integração automática de plataforma, para assegurar estabilidade e confiabilidade.
Amplo suporte a recursos: A Alibaba Cloud oferece serviços baseados no conceito baseado em recursos e padroniza as definições de recursos do Terraform. Isso proporciona uma experiência pronta para uso aos usuários.
Linguagem declarativa: O Terraform usa a HashiCorp Configuration Language (HCL) como linguagem de configuração. O HCL é uma linguagem declarativa que descreve o estado desejado em vez de etapas detalhadas, o que torna o código mais fácil de entender e manter.
Alta escalabilidade: O Terraform oferece uma ampla variedade de recursos e provedores para atender a diferentes requisitos. É possível personalizar e estender plug-ins para oferecer suporte a infraestruturas específicas.
Integração com outras ferramentas: O Terraform integra-se a outras ferramentas, como Ansible, Jenkins e GitLab. Isso permite implementar fluxos de trabalho automatizados mais complexos, como testes automatizados, integração contínua e implantação contínua.
O Terraform oferece os seguintes benefícios específicos para o SAE:
-
Infraestrutura como código (IaC) declarativa
O Terraform permite implantar, aumentar ou reduzir a escala, atualizar ou fazer downgrade, além de iniciar ou parar aplicações. Também é possível usar o Terraform para vincular instâncias do SLB a aplicações.
O Terraform permite escrever código sem a necessidade de compreender a API do SAE.
O Terraform oferece suporte a CI/CD para melhorar o desempenho do SAE na entrega automatizada de aplicações.
-
Ecossistema do Terraform
O Terraform fornece o recurso LiveDiff, que permite gerencie os recursos do SAE com alta segurança.
O Terraform auxilia na implantação de aplicações do SAE no estado desejado de forma estável.
O Terraform disponibiliza o recurso de orquestração de recursos, que permite implantar aplicações do SAE e recursos dependentes de forma eficiente com poucos cliques.
Categorias
-
Recursos
Cada recurso representa um recurso recém-criado. Para mais informações, consulte Recursos.
O código de exemplo a seguir mostra como crie uma aplicação do SAE:
resource "alicloud_sae_application" "default" { app_description = "tf-testaccDescription" app_name = "tf-testaccAppName" namespace_id = alicloud_sae_namespace.default.id image_url = "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5" package_type = "Image" vswitch_id = alicloud_vswitch.vsw.id timezone = "Asia/Beijing" replicas = "5" cpu = "500" memory = "2048" } -
Sources de dados
Consulte uma source de dados para obter informações sobre recursos existentes e seus atributos. Para mais informações, consulte Sources de dados.
O código de exemplo a seguir mostra como listar os namespaces do SAE:
data "alicloud_sae_namespaces" "nameRegex" { name_regex = "^my-Namespace" } output "sae_namespace_id" { value = data.alicloud_sae_namespaces.nameRegex.namespaces.0.id }
Para mais informações sobre os exemplos de como usar o Terraform para gerencie recursos do SAE, consulte Use Terraform to manage SAE resources.
Use o Terraform para gerencie recursos do SAE
As tabelas a seguir descrevem os recursos do SAE que é possível gerencie com o Terraform.
|
Tipo de recurso |
Descrição |
|
Consulta informações sobre um namespace do SAE. Para mais informações, consulte Use Terraform to manage SAE namespaces. |
|
|
Consulta informações sobre uma aplicação do SAE. Para mais informações, consulte Use Terraform to manage SAE applications. |
|
|
Consulta informações sobre uma política do Auto Scaling do SAE. Para mais informações, consulte Use Terraform to manage an auto scaling policy for an SAE application. |
|
|
Consulta informações sobre um ConfigMap do SAE. |
|
|
Consulta informações sobre uma regra de implantação canário do SAE. |
|
|
Consulta informações sobre uma instância de Ingress do SAE. |
|
|
Consulta informações sobre uma instância de SLB voltada para a Internet do SAE. Para mais informações, consulte Use Terraform to associate an SAE application with an SLB instance. |
|
|
Consulta informações sobre uma instância de SLB interna do SAE. |
|
Tipo de recurso |
Descrição |
|
Ativa o SAE. |
|
|
Lista os namespaces do SAE. |
|
|
Lista as aplicações do SAE. |
|
|
Lista as políticas do Auto Scaling do SAE. |
|
|
Lista os ConfigMaps do SAE. |
|
|
Lista as regras de implantação canário do SAE. |
|
|
Lista as instâncias de Ingress do SAE. |
|
|
Lista os tipos de instância do SAE. |