天天看點

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

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

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

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

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

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

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

Terraform,讓資源管理更簡單

Terraform是一個開源的資源編排工具。利用 Terraform 的文法,将資源以代碼的形式定義在Terraform模闆,然後借助于阿裡雲提供的Terraform Provider 來實作對阿裡雲資源,如 ECS instance,VPC,VSwitch,SLB 等的統一建立和管理。

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

以現有模闆 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,并提供了豐富的 Examples 和 Modules,持續提升開發者的體驗和效率,釋放更多生産力。

Packer,無需關心如何建立鏡像

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

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

以現有 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 在阿裡雲上的落地,幫助更多的企業和開發者實作了使用阿裡雲的需求。

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

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

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

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

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

以現有 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 Engine 和 Auth Method,讓更多的開發者無需再為設定繁瑣的環境變量和靜态密鑰檔案而苦惱,也無需再為丢失密鑰和AK洩漏而擔心,所有的敏感資料都可交由 Vault 來管理,當需要的時候,實時通過 Vault 指令擷取即可,即省事,又安全。

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

歡迎各位來體驗我們的相應産品:

開發者中心:

https://developer.aliyun.com/

OpenAPI Explorer:

https://www.aliyun.com/product/openapiexplorer

Cloud Shell:

https://www.aliyun.com/product/cloudshell

錯誤中心:

https://error-center.aliyun.com/

API控制台:

https://developer.console.aliyun.com/

了解更多産品:

https://developer.aliyun.com/active

觀看釋出會現場視訊:

https://yq.aliyun.com/live/564

參與聚能聊暢所欲言:

https://yq.aliyun.com/roundtable/427338

點選了解“阿裡雲新品釋出會頻道”:

https://promotion.aliyun.com/ntms/act/cloud/product.html

繼續閱讀