主流开源开发者工具落地阿里云,进一步提升开发者体验
在云計(jì)算大數(shù)據(jù)時(shí)代,企業(yè)的不斷上云,業(yè)務(wù)的不斷發(fā)展,技術(shù)架構(gòu)的不斷演進(jìn),導(dǎo)致資源、應(yīng)用和數(shù)據(jù)的管理成本不斷增加,運(yùn)維難度不斷加大。業(yè)務(wù)場(chǎng)景的不斷和復(fù)雜和變化,不得不引起我們更多的思考:
- 業(yè)務(wù)基礎(chǔ)設(shè)施架構(gòu)如此復(fù)雜,是否可以實(shí)現(xiàn)一鍵搭建?
- 自定義云鏡像,能否實(shí)現(xiàn)批量生產(chǎn)?
- 數(shù)據(jù)安全,是企業(yè)和個(gè)人最關(guān)心的事兒~ AK,證書,敏感數(shù)據(jù)如何實(shí)現(xiàn)自動(dòng)加密,獲取,存儲(chǔ)?
- 不想手動(dòng)登錄機(jī)器,如何實(shí)現(xiàn)應(yīng)用開發(fā)運(yùn)維?
- 機(jī)器這么多,架構(gòu)這么復(fù)雜,如何快速遷移到阿里云上?
- 企業(yè)上云,多家云資源如何統(tǒng)一管理?
- ...
面對(duì)這些問(wèn)題和困擾,如果能借用一種或者多種自動(dòng)化工具,讓機(jī)器來(lái)幫我們做一些繁瑣的工作,而我們只需關(guān)注一些簡(jiǎn)單的配置,那么將大大提高工作效率。
如何讓機(jī)器給我們做事情呢?這就是基礎(chǔ)設(shè)施即代碼(Infrastructure As Code,IaC)。即,將我們的阿里云資源,云鏡像建立過(guò)程,應(yīng)用部署過(guò)程以及數(shù)據(jù)管理流程等,以代碼的方式定義在模版中,利用開發(fā)者工具通過(guò)對(duì)這些模板的有效管理來(lái)實(shí)現(xiàn)對(duì)阿里云資源,應(yīng)用以及數(shù)據(jù)的有效管理。
目前,阿里云已經(jīng)實(shí)現(xiàn)了對(duì)主流開源管理工具 Terraform、Ansible、Packer、Vault、Bosh等的成功接入和支持,可幫助開發(fā)者在自動(dòng)化運(yùn)維,多云管理,云遷移,數(shù)據(jù)安全等領(lǐng)域釋放更多生產(chǎn)力,助力云基礎(chǔ)設(shè)施的高效、統(tǒng)一管理。
Terraform,讓資源管理更簡(jiǎn)單
Terraform是一個(gè)開源的資源編排工具。利用 Terraform 的語(yǔ)法,將資源以代碼的形式定義在Terraform模板,然后借助于阿里云提供的Terraform Provider 來(lái)實(shí)現(xiàn)對(duì)阿里云資源,如 ECS instance,VPC,VSwitch,SLB 等的統(tǒng)一創(chuàng)建和管理。
以現(xiàn)有模板 terraform-alicloud-classic-load-balance 為例,將一個(gè)經(jīng)典的負(fù)載均衡架構(gòu)中,所涉及的資源 VPC,VSwitch,ECS Instance,RDS,Security Group,SLB 以及 OSS Bucket 定義在一個(gè)統(tǒng)一的模板文件?main.tf?中,依次運(yùn)行如下的命令,即可實(shí)現(xiàn)對(duì)這個(gè)系統(tǒng)架構(gòu)的快速搭建和一鍵釋放。
# 下載模板并進(jìn)入模板目錄 $ git clone https://github.com/terraform-alicloud-modules/terraform-alicloud-classic-load-balance.git && cd terraform-alicloud-classic-load-balance # 初始化 Terraform $ terraform init # 預(yù)覽所要?jiǎng)?chuàng)建的資源 $ terraform plan # 創(chuàng)建所有資源 $ terraform apply # 一鍵釋放所有資源 $ terraform destroy目前,阿里云 Terraform Provider 已經(jīng)覆蓋了22個(gè)阿里云的產(chǎn)品,支持100多個(gè)resource和datasource,并提供了豐富的 Examples 和 Modules,持續(xù)提升開發(fā)者的體驗(yàn)和效率,釋放更多生產(chǎn)力。
Packer,無(wú)需關(guān)心如何創(chuàng)建鏡像
Packer 是一個(gè)自動(dòng)化制作云鏡像的開源工具。Packer 的出現(xiàn)使得客戶無(wú)需再去關(guān)心云鏡像建立的詳細(xì)過(guò)程,無(wú)需登錄控制臺(tái)、登錄機(jī)器手動(dòng)制作云鏡像,只需關(guān)心鏡像中所要安裝什么軟件,定制什么服務(wù),下載什么應(yīng)用即可,阿里云 Packer Builder 一鍵幫你制作屬于自己的云鏡像。
以現(xiàn)有 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 種操作系統(tǒng)發(fā)行版鏡像的制作,包括我們最長(zhǎng)用的 Ubuntu,CentOS,Windows等。
Bosh,簡(jiǎn)化平臺(tái)架構(gòu)的部署和管理
Bosh 是一個(gè)可以為小型或大型云軟件實(shí)現(xiàn)的發(fā)布,部署和生命周期管理的項(xiàng)目。阿里云 Bosh CPI 實(shí)現(xiàn)了對(duì) Bosh 的支持,進(jìn)而成功地支持了第一個(gè)開源 PaaS 平臺(tái) CloudFoundry 在阿里云上的落地,幫助更多的企業(yè)和開發(fā)者實(shí)現(xiàn)了使用阿里云的需求。
?
目前,我們已經(jīng)提供了詳細(xì)的 CloudFoundry 落地阿里云的技術(shù)方案,歡迎大家參考。
Ansible,自動(dòng)化管理阿里云資源
Ansible 是一款自動(dòng)化部署應(yīng)用的強(qiáng)大工具,實(shí)現(xiàn)了登錄機(jī)器,上傳/下載應(yīng)用包,部署應(yīng)用以及管理應(yīng)用等一系列流程的自動(dòng)化。阿里云在 Ansible 強(qiáng)大的自動(dòng)化管理能力的基礎(chǔ)上,提供了多個(gè)云資源管理的 Module,如ali_instance,ali_vpc,ali_slb_lb等。借助這些 Module,用戶可以將對(duì)云資源的管理流程加入到應(yīng)用部署的管理流程中,從而實(shí)現(xiàn)從資源創(chuàng)建到應(yīng)用部署一鍵式的過(guò)程,進(jìn)一步提升自動(dòng)化的能力,提升運(yùn)維效率。
以現(xiàn)有 Example alicliud_ecs_vpc,借助阿里云提供的Module,可實(shí)現(xiàn)對(duì) ECS instance,VPC,VSwitch,安全組,ECS disk等資源的自動(dòng)化創(chuàng)建和刪除:
# 下載Example并進(jìn)入example目錄 $ git clone https://github.com/alibaba/ansible-provider.git && cd ansible-provider/examples/alicloud-ecs-vpc # 一鍵創(chuàng)建云資源 $ ansible-playbook alicloud.yml # 一鍵刪除云資源 $ ansible-playbook destroy.ymlVault, 密鑰管理更簡(jiǎn)單
Vault 是一個(gè)用戶管理密鑰和管理敏感數(shù)據(jù)的工具。它實(shí)現(xiàn)了對(duì) AccessToken,AccessKey,Password,安全證書,密鑰等敏感數(shù)據(jù)的統(tǒng)一管理和存儲(chǔ)。阿里云對(duì)Vault的接入,提供了 Secrets Engine 和 Auth Method,讓更多的開發(fā)者無(wú)需再為設(shè)置繁瑣的環(huán)境變量和靜態(tài)密鑰文件而苦惱,也無(wú)需再為丟失密鑰和AK泄漏而擔(dān)心,所有的敏感數(shù)據(jù)都可交由 Vault 來(lái)管理,當(dāng)需要的時(shí)候,實(shí)時(shí)通過(guò) Vault 命令獲取即可,即省事,又安全。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的主流开源开发者工具落地阿里云,进一步提升开发者体验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GAN的一些很酷的应用
- 下一篇: CSE:阿里在线应用如何演进成Serve