Several tools can be used in the development process with Enterprise Distributed Application Service (EDAS). These tools help you write code in an IDE, provision infrastructure, and automate deployments.
Developer workflow
Each tool maps to one or more stages in a typical EDAS workflow:
Develop Deploy Automate
─────── ────── ────────
Alibaba Cloud Alibaba Cloud Jenkins
Toolkit Toolkit Alibaba Cloud DevOps
(IDE plug-in) Terraform
toolkit-maven-pluginDevelop -- Write and debug code locally, test microservices, and connect on-premises applications to cloud services.
Deploy -- Push application packages to EDAS clusters through an IDE, infrastructure-as-code templates, or Maven builds.
Automate -- Build, test, and deploy through continuous integration and delivery (CI/CD) pipelines.
Tool selection guide
| Goal | Recommended tool | Description |
|---|---|---|
| Deploy from an IDE | Alibaba Cloud Toolkit | One-click deployment from IntelliJ IDEA to EDAS, plus microservice testing and diagnostics |
| Manage infrastructure as code | Terraform | Provision and manage EDAS clusters and applications through declarative configuration files |
| Deploy from Maven builds | toolkit-maven-plugin | Package and deploy applications to EDAS as part of a Maven build |
| Automate CI/CD pipelines | Jenkins or Alibaba Cloud DevOps | Build, test, and deploy through repeatable pipeline jobs |
Apsara Devops | Apsara Devops is a next-generation DevOps platform from Alibaba Cloud for the cloud-native era. It supports deployments on public clouds, Apsara Stack, and hybrid clouds, and helps developers quickly deploy applications to EDAS. |
Alibaba Cloud Toolkit
Alibaba Cloud Toolkit is a plug-in provided by Alibaba Cloud for developers to use in an IDE. It supports direct deployment to EDAS, microservice testing and diagnostics, and local-to-cloud connectivity for on-premises development.
Core capabilities:
Deploy applications to EDAS without leaving the IDE
Test and diagnose microservices
Connect on-premises applications to cloud services during development
| Task | Reference |
|---|---|
| Understand the plug-in | Alibaba Cloud Toolkit overview |
| Install and configure | Install and configure Alibaba Cloud Toolkit in IntelliJ IDEA |
| Deploy an application | Use IntelliJ IDEA to deploy an application to EDAS |
| Connect your local machine to the cloud | Connect your local machine to the cloud using Cloud Toolkit (IntelliJ IDEA) |
| Connect your local machine to the cloud (Eclipse) | Connect your local machine to the cloud using Cloud Toolkit (Eclipse) |
| Test microservices | Use Alibaba Cloud Toolkit to test microservices |
| Diagnose microservices | Use Alibaba Cloud Toolkit to diagnose microservices |
| Develop locally with cloud connectivity | Develop applications in an on-premises environment and implement the interconnection between on-premises and cloud applications |
Terraform
Terraform is an open-source infrastructure-as-code tool that provisions and manages cloud infrastructure in Alibaba Cloud through declarative configuration files. Define EDAS clusters and application configurations in code, then apply changes safely and repeatably.
Core capabilities:
Create and manage ECS clusters for EDAS
Deploy applications through versioned configuration files
| Task | Reference |
|---|---|
| Understand the integration | Terraform overview |
| Install and configure | Install and configure Terraform |
| Create a cluster and deploy | Use Terraform to create an ECS cluster and deploy an application |
Jenkins
Jenkins is an open-source automation server for continuous integration and delivery. The EDAS plug-in for Jenkins adds deployment steps that package and release applications to EDAS as part of a pipeline job.
Core capabilities:
Build and test application code automatically
Deploy to EDAS through pipeline jobs
Monitor build status, deployment results, and the status of external tasks
| Task | Reference |
|---|---|
| Understand the integration | Jenkins overview |
| Build a deployment job | Use an EDAS plug-in in Jenkins to build a job for application deployment |