主流開源開發者工具落地阿里雲,進一步提升開發者體驗

許此一生發表於2018-10-26

在雲端計算大資料時代,企業的不斷上雲,業務的不斷髮展,技術架構的不斷演進,導致資源、應用和資料的管理成本不斷增加,運維難度不斷加大。業務場景的不斷和複雜和變化,不得不引起我們更多的思考:

  • 業務基礎設施架構如此複雜,是否可以實現一鍵搭建?
  • 自定義雲映象,能否實現批量生產?
  • 資料安全,是企業和個人最關心的事兒~ AK,證書,敏感資料如何實現自動加密,獲取,儲存?
  • 不想手動登入機器,如何實現應用開發運維?
  • 機器這麼多,架構這麼複雜,如何快速遷移到阿里雲上?
  • 企業上雲,多家雲資源如何統一管理?

面對這些問題和困擾,如果能借用一種或者多種自動化工具,讓機器來幫我們做一些繁瑣的工作,而我們只需關注一些簡單的配置,那麼將大大提高工作效率。

如何讓機器給我們做事情呢?這就是基礎設施即程式碼(Infrastructure As Code,IaC)。即,將我們的阿里雲資源,雲映象建立過程,應用部署過程以及資料管理流程等,以程式碼的方式定義在模版中,利用開發者工具通過對這些模板的有效管理來實現對阿里雲資源,應用以及資料的有效管理。

目前,阿里雲已經實現了對主流開源管理工具 Terraform、Ansible、Packer、Vault、Bosh等的成功接入和支援,可幫助開發者在自動化運維,多雲管理,雲遷移,資料安全等領域釋放更多生產力,助力雲基礎設施的高效、統一管理。

螢幕快照 2018-10-24 下午6.25.17.png

Terraform,讓資源管理更簡單

Terraform 是一個開源的資源編排工具。利用 Terraform 的語法,將資源以程式碼的形式定義在Terraform模板,然後藉助於阿里雲提供的Terraform Provider 來實現對阿里雲資源,如 ECS instance,VPC,VSwitch,SLB 等的統一建立和管理。

螢幕快照 2018-10-24 下午10.18.34.png

以現有模板 terraform-alicloud-classic-load-balance 為例,將一個經典的負載均衡架構中,所涉及的資源 VPC,VSwitch,ECS Instance,RDS,Security Group,SLB 以及 OSS Bucket 定義在一個統一的模板檔案 main.tf 中,依次執行如下的命令,即可實現對這個系統架構的快速搭建和一鍵釋放。

# 下載模板並進入模板目錄
$ git clone https://github.com/terraform-alicloud-modules/terraform-alicloud-classic-load-balance.git && cd terraform-alicloud-classic-load-balance
# 初始化 Terraform
$ terraform init
# 預覽所要建立的資源
$ terraform plan
# 建立所有資源
$ terraform apply
# 一鍵釋放所有資源
$ terraform destroy

目前,阿里雲 Terraform Provider 已經覆蓋了22個阿里雲的產品,支援100多個resource和datasource,並提供了豐富的 ExamplesModules,持續提升開發者的體驗和效率,釋放更多生產力。

Packer,無需關心如何建立映象

Packer 是一個自動化製作雲映象的開源工具。Packer 的出現使得客戶無需再去關心雲映象建立的詳細過程,無需登入控制檯、登入機器手動製作雲映象,只需關心映象中所要安裝什麼軟體,定製什麼服務,下載什麼應用即可,阿里雲 Packer Builder 一鍵幫你製作屬於自己的雲映象。

螢幕快照 2018-10-24 下午10.21.58.png

以現有 Example Jenkins 為例,利用阿里雲 Packer Builder,一鍵製作 Jenkins 映象:

# 下載Example
$ git clone https://github.com/alibaba/packer-provider.git
# 一鍵製作Jenkins映象
$ packer build examples/alicloud/jenkins/alicloud.json

目前,阿里雲 Packer Builder 已支援製作 14 種作業系統發行版映象的製作,包括我們最長用的 Ubuntu,CentOS,Windows等。

Bosh,簡化平臺架構的部署和管理

Bosh 是一個可以為小型或大型雲軟體實現的釋出,部署和生命週期管理的專案。阿里雲 Bosh CPI 實現了對 Bosh 的支援,進而成功地支援了第一個開源 PaaS 平臺 CloudFoundry 在阿里雲上的落地,幫助更多的企業和開發者實現了使用阿里雲的需求。

螢幕快照 2018-10-21 下午4.11.33.png

目前,我們已經提供了詳細的 CloudFoundry 落地阿里雲的技術方案,歡迎大家參考。

Ansible,自動化管理阿里雲資源

Ansible 是一款自動化部署應用的強大工具,實現了登入機器,上傳/下載應用包,部署應用以及管理應用等一系列流程的自動化。阿里雲在 Ansible 強大的自動化管理能力的基礎上,提供了多個雲資源管理的 Module,如ali_instanceali_vpcali_slb_lb等。藉助這些 Module,使用者可以將對雲資源的管理流程加入到應用部署的管理流程中,從而實現從資源建立到應用部署一鍵式的過程,進一步提升自動化的能力,提升運維效率。

螢幕快照 2018-10-24 下午10.27.21.png

以現有 Example alicliud_ecs_vpc,藉助阿里雲提供的Module,可實現對 ECS instance,VPC,VSwitch,安全組,ECS disk等資源的自動化建立和刪除:

# 下載Example並進入example目錄
$ git clone https://github.com/alibaba/ansible-provider.git && cd ansible-provider/examples/alicloud-ecs-vpc
# 一鍵建立雲資源
$ ansible-playbook alicloud.yml
# 一鍵刪除雲資源
$ ansible-playbook destroy.yml

Vault, 金鑰管理更簡單

Vault 是一個使用者管理金鑰和管理敏感資料的工具。它實現了對 AccessToken,AccessKey,Password,安全證書,金鑰等敏感資料的統一管理和儲存。阿里雲對Vault的接入,提供了 Secrets EngineAuth Method,讓更多的開發者無需再為設定繁瑣的環境變數和靜態金鑰檔案而苦惱,也無需再為丟失金鑰和AK洩漏而擔心,所有的敏感資料都可交由 Vault 來管理,當需要的時候,實時通過 Vault 命令獲取即可,即省事,又安全。

螢幕快照 2018-10-24 下午10.29.06.png


相關文章