中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

基礎(chǔ)架構(gòu)之百變魔方

基礎(chǔ)架構(gòu)之百變魔方

成都創(chuàng)新互聯(lián)公司于2013年成立,先為龍亭等服務(wù)建站,龍亭等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為龍亭企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

轉(zhuǎn)載本文需注明出處:微信公眾號EAWorld,違者必究。

引言:

“基礎(chǔ)架構(gòu)即代碼(Infrastructure-as-Code,IaC)”是一種使用新的技術(shù)來構(gòu)建和管理動態(tài)基礎(chǔ)設(shè)施的方式。它把基礎(chǔ)設(shè)施、工具和服務(wù)以及對基礎(chǔ)設(shè)施的管理本身作為一個軟件系統(tǒng),采納軟件工程實踐以結(jié)構(gòu)化的安全的方式來管理對系統(tǒng)的變更。  

通過第三方調(diào)查報告顯,F(xiàn)orrester咨詢公司在一項針對擁有1000多名員工的企業(yè)的727名云技術(shù)決策者的全球調(diào)查中發(fā)現(xiàn),業(yè)務(wù)優(yōu)先級的轉(zhuǎn)變正在推動企業(yè)采用多云戰(zhàn)略。根據(jù)該研究,絕大多數(shù)的受訪者將其當(dāng)前的云計算策略描述為多云策。

基礎(chǔ)架構(gòu)之百變魔方

根據(jù)該研究,絕大多數(shù)的受訪者將其當(dāng)前的云計算策略描述為多云策略,其性能和創(chuàng)新已超越成本節(jié)約成為了成功的最佳衡量標(biāo)準(zhǔn)。此外,60%的企業(yè)現(xiàn)在正在遷移或已經(jīng)將關(guān)鍵任務(wù)應(yīng)用程序遷移到公有云上。

如今,大多數(shù)企業(yè)都采用多云策略來優(yōu)化性能并實現(xiàn)業(yè)務(wù)目標(biāo)。該研究指出,“沒有一個單一的云平臺可以滿足所有企業(yè)工作負載需求?!币虼?,企業(yè)正在利用多個共有云和私有云來處理不同的應(yīng)用程序工作負載。在將工作負載與云環(huán)境相匹配時,性能是大多數(shù)企業(yè)的首要考慮因素,甚至超過了合規(guī)性與安全性。

接受調(diào)查的IT領(lǐng)導(dǎo)者展示了對多云平臺的各種使用案例,并認為多云策略可以帶來諸多好處,比如改進的IT基礎(chǔ)架構(gòu)管理和靈活性(33%),更好的IT成本管理(33%)以及提高安全性和合規(guī)性(30%)。此外,該研究還發(fā)現(xiàn),在選擇云服務(wù)供應(yīng)商時,企業(yè)更喜歡能提供更深層次幫助和支持的供應(yīng)商。

基礎(chǔ)架構(gòu)之百變魔方

企業(yè)更多采用云服務(wù),讓物理機銷量出現(xiàn)了10年來首次負增長。6月18日,市場研究機構(gòu)IDC公布最新數(shù)據(jù),2019年第一季度中國市場物理機出貨量下跌0.7%,全球市場物理機銷量下跌5.1%。這背后是企業(yè)全面向云轉(zhuǎn)移,新舊IT交替出現(xiàn)拐點,云計算市場持續(xù)強勁增長,平均增幅達40%。云計算還可以幫助企業(yè)大幅削減IT成本,還具有彈性擴容、按需使用、按量付費、成本低等明顯優(yōu)勢,已經(jīng)成為企業(yè)數(shù)字化轉(zhuǎn)型的基礎(chǔ)設(shè)施?;ヂ?lián)網(wǎng)、政府、電信和金融等行業(yè)已經(jīng)把自己遷移至云上,不再獨立采購物理服務(wù)器。

1.我們該如何應(yīng)對多云化的挑戰(zhàn)?

“基礎(chǔ)架構(gòu)即代碼(Infrastructure-as-Code,IaC)”是一種使用新的技術(shù)來構(gòu)建和管理動態(tài)基礎(chǔ)設(shè)施的方式。它把基礎(chǔ)設(shè)施、工具和服務(wù)以及對基礎(chǔ)設(shè)施的管理本身作為一個軟件系統(tǒng),采納軟件工程實踐以結(jié)構(gòu)化的安全的方式來管理對系統(tǒng)的變更。

從開發(fā)的角度看提倡一切皆對象,從操作系統(tǒng)的角度看提倡一切皆文件,那么在多云化的時代我們應(yīng)該提倡把一切資源皆代碼,通過代碼的方式編排和管理我們的基礎(chǔ)資源,這樣才能滿足企業(yè)業(yè)務(wù)快速發(fā)展的需求。

針對一個復(fù)雜的業(yè)務(wù)系統(tǒng)我們?nèi)绾谓柚贫说膬?yōu)勢進行部署?


基礎(chǔ)架構(gòu)之百變魔方

基礎(chǔ)架構(gòu)之百變魔方

傳統(tǒng)手工的部署方式大致要通過以上8個步驟完成一個應(yīng)用的部署,如果我們的公有云環(huán)境是多個,那么就意味著以上步驟要重復(fù)多次,這還僅僅是一個簡單的web環(huán)境,如果我們要部署的是一套業(yè)務(wù)系統(tǒng),涉及多個應(yīng)用系統(tǒng)的創(chuàng)建,我們的基礎(chǔ)平臺交付需要多長時間?顯然通過手工的方式是不現(xiàn)實的。

我們需要通過infrastructure as code的方式來管理我們的基礎(chǔ)架構(gòu),構(gòu)建企業(yè)自己的技術(shù)中臺。

基礎(chǔ)設(shè)施即代碼四項關(guān)鍵原則:

  • 可再生性:環(huán)境中的任何元素可以輕松復(fù)制。

  • 一致性:無論何時,創(chuàng)建的環(huán)境各個元素的配置是完全相同的。

  • 快速反饋:能夠頻繁、容易地進行變更,并快速知道變更是否正確。

  • 可見性:所有對環(huán)境的變更應(yīng)該容易理解、可審計、受版本控制。

基礎(chǔ)設(shè)施即代碼的目標(biāo):

  • 標(biāo)準(zhǔn)化:以代碼來定義環(huán)境,實現(xiàn)開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境的標(biāo)準(zhǔn)化。

  • 自動化:以自動化工具來驅(qū)動代碼準(zhǔn)備環(huán)境。包括創(chuàng)建環(huán)境、更新環(huán)境以及銷毀環(huán)境。

  • 可視化:以監(jiān)控來可視化環(huán)境信息。環(huán)境當(dāng)前狀態(tài)可視、環(huán)境變更歷史可視化、可追溯。

infrastructure as code 的工具有哪些:

  • Microsoft為用戶提供的IaC工具是:Azure Resource Manager。用戶可以通過Azure Resource Manager(ARM)的不同模板,配置出自己的基礎(chǔ)架構(gòu)、并處理各種依賴項??梢栽谀0逯惺褂媚切┮言贘SON中聲明描述了的資源,也可以在同一個ARM模板中聲明多個Azure資源,以構(gòu)建整體性的項目環(huán)境。ARM模板具有冪等性,因此可以無限次數(shù)地重復(fù)使用相同的模板,并獲得相同的結(jié)果。Resource Manager還支持服務(wù)器的實例分組、以及對不同分組的統(tǒng)一管理。

  • CloudFormation是專為那些在AWS云中工作的用戶而設(shè)計的。目前已經(jīng)配置了342種AWS資源類型。允許使用JSON或YAML定制各種模板來構(gòu)建不同復(fù)雜程度的基礎(chǔ)架構(gòu)模型。

  • (CDM)是基于Google云平臺的配置文件(YAML)和模板(JINJA2或PYTHON)的一種自動化執(zhí)行工具。它允許用戶自行定義和同步部署各種系統(tǒng)資源。Google CDM也支持預(yù)覽功能。這意味著:您在不直接提交更改的情況下,便可以直接了解到部署和變更所帶來的影響??梢詭椭脩舯苊獬霈F(xiàn)人為的錯誤,還能夠起到加強與穩(wěn)定整體基礎(chǔ)架構(gòu)的作用。

  • Terraform 是一個IT基礎(chǔ)架構(gòu)自動化編排工具,可以用代碼來管理維護 IT 資源。Terraform的命令行接口 (CLI) 提供一種簡單機制,用于將配置文件部署到任意支持的云上,并對其進行版本控制。通過配置文件可以描述云資源的拓撲基礎(chǔ)架構(gòu)。

Terraform 支持的服務(wù)商眾多

基礎(chǔ)架構(gòu)之百變魔方

安裝Terraform簡單

Terraform 可以隨意部署在任意的客戶端上,只要可以連通公網(wǎng)即可(Initializing provider plugins and Call Cloud OpenAPI) ,通過http://1t.click/vND下載對應(yīng)平臺的可執(zhí)行二進制包,解壓出來Executable Binary 放指定目錄,配置好相應(yīng)的PATH則可使用terraform 指令。

$ terraform
Usage: terraform [--version] [--help] <command> [args]
Common commands:
    apply              Builds or changes infrastructure
    console            Interactive console for Terraform interpolations
    destroy            Destroy Terraform-managed infrastructure
    fmt                Rewrites config files to canonical format
    get                Download and install modules for the configuration
    graph              Create a visual graph of Terraform resources
    import             Import existing infrastructure into Terraform
    init               Initialize a new or existing Terraform configuration
    output             Read an output from a state file
    plan               Generate and show an execution plan
    providers          Prints a tree of the providers used in the configuration
    push               Upload this Terraform module to Terraform Enterprise to run
    refresh            Update local state file against real resources
    show               Inspect Terraform state or plan
    taint              Manually mark a resource for recreation
    untaint            Manually unmark a resource as tainted
    validate           Validates the Terraform files
    version            Prints the Terraform version
workspace          Workspace management

整個基礎(chǔ)架構(gòu)的建設(shè)只需要terraform init,terraform plan , terraform apply 三步來完成。刪除整個環(huán)境只需要terraform  destroy一步來完成。

基礎(chǔ)架構(gòu)之百變魔方

通過一個main.tf文件(只需要是.tf 文件)定義了ECS(鏡像、實例類型)、VPC(CIDR、VPC Name)、OSS資源(ACL、實例Name)信息,通過Terraform 對資源配置參數(shù)做解析,調(diào)用阿里cloud OpenAPI 進行資源校驗于創(chuàng)建,同時把整個資源創(chuàng)建狀態(tài)化到一個.tf.state文件中,基于該文件則可以得知資源創(chuàng)建的所有信息,包括資源數(shù)量調(diào)整,規(guī)格調(diào)整,實例變更都依賴這種非常重要的文件。

terraform 具體使用案例

通過配置main.tf文件定義各種資源

定義認證資源

} # Configure the Alicloud Provider
provider "alicloud" {
  access_key = "${var.access_key}"
  secret_key = "${var.secret_key}"
  region     = "${var.region}"

定義云主機資源

# Create a web server
resource "alicloud_instance" "web" {
  # cn-beijing
  provider          = "alicloud"
  availability_zone = "cn-beijing-a"
  image_id          = "ubuntu_140405_32_40G_cloudinit_20161115.vhd"
  internet_charge_type  = "PayByBandwidth"
  instance_type        = "ecs.n1.medium"
  io_optimized         = "optimized"
  system_disk_category = "cloud_efficiency"
  security_groups      = ["${alicloud_security_group.default.id}"]
  instance_name        = "web"
}

定義安全組資源

# Create security group
resource "alicloud_security_group" "default" {
  name        = "default"
  provider    = "alicloud"
  description = "default"
}
resource "alicloud_security_group_rule" "allow_all_tcp" {
  type              = "ingress"
  ip_protocol       = "tcp"
  nic_type          = "intranet"
  policy            = "accept"
  port_range        = "1/65535"
  priority          = 1
  security_group_id = "${alicloud_security_group.default.id}"
  cidr_ip           = "0.0.0.0/0"
}

定義輸出結(jié)果信息

# Output message
output "ecs instance name" {
  value = "${alicloud_instance.web.instance_name}"
}
output "ecs private ip" {
  value = "${alicloud_instance.web.private_ip}"
}

terraform init 

$ terraform init
Initializing provider plugins...
- Checking for available provider plugins on https://releases.hashicorp.com...
- Downloading plugin for provider "alicloud" (0.1.0)...
The following providers do not have any version constraints in configuration,
so the latest version was installed.
To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.
* provider.alicloud: version = "~> 0.1"
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

執(zhí)行terraform plan,查看資源創(chuàng)建計劃 

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create
Terraform will perform the following actions:
  + alicloud_instance.web
      id:                   <computed>
      allocate_public_ip:   "false"
      availability_zone:    "cn-beijing-a"
      host_name:            <computed>
      image_id:             "ubuntu_140405_32_40G_cloudinit_20161115.vhd"
      instance_name:        "web"
      instance_type:        "ecs.n1.medium"
      internet_charge_type: "PayByBandwidth"
      io_optimized:         "optimized"
      private_ip:           <computed>
      public_ip:            <computed>
      security_groups.#:    <computed>
      status:               <computed>
      subnet_id:            <computed>
      system_disk_category: "cloud_efficiency"
      system_disk_size:     <computed>
  + alicloud_security_group.default
      id:                   <computed>
      description:          "default"
      name:                 "default"
Plan: 2 to add, 0 to change, 0 to destroy.

執(zhí)行terraform apply,在云端創(chuàng)建資源

$ terraform apply
alicloud_security_group.default: Creating...
  description: "" => "default"
  name:        "" => "default"
alicloud_security_group.default: Creation complete after 1s (ID: sg-2zec9v8aq2hgb244qrqf)
alicloud_instance.web: Creating...
  allocate_public_ip:         "" => "false"
  availability_zone:          "" => "cn-beijing-a"
  host_name:                  "" => "<computed>"
  image_id:                   "" => "ubuntu_140405_32_40G_cloudinit_20161115.vhd"
  instance_name:              "" => "web"
  instance_type:              "" => "ecs.n1.medium"
  internet_charge_type:       "" => "PayByBandwidth"
  io_optimized:               "" => "optimized"
  private_ip:                 "" => "<computed>"
  public_ip:                  "" => "<computed>"
  security_groups.#:          "" => "1"
  security_groups.2344301974: "" => "sg-2zec9v8aq2hgb244qrqf"
  status:                     "" => "<computed>"
  subnet_id:                  "" => "<computed>"
  system_disk_category:       "" => "cloud_efficiency"
  system_disk_size:           "" => "<computed>"
alicloud_instance.web: Still creating... (10s elapsed)
alicloud_instance.web: Still creating... (20s elapsed)
alicloud_instance.web: Creation complete after 51s (ID: i-2zedvfowy4m39sg1xdig)
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
Outputs:
ecs instance name = web
ecs private ip = 10.31.28.93
2.IaC結(jié)合共有云的使用

基礎(chǔ)架構(gòu)之百變魔方

  1. 我們可以將我們的應(yīng)用系統(tǒng)通過Packer打包成鏡像存儲到公有云。

  2. 結(jié)合Terraform 在公有云部署云主機時拉取自定義鏡像文件生成云主機,并對公有云的資源進行統(tǒng)一的配置和管理。

  3. 通過結(jié)合Ansible對公有云的應(yīng)用進行統(tǒng)一的維護和管理。

3.IaC在DevOps中的運用

基礎(chǔ)架構(gòu)之百變魔方

我們在整個軟件開發(fā)生命周期的過程中,其中基礎(chǔ)環(huán)境的制備是非常重要的一環(huán),也是從開發(fā)到測試再到生產(chǎn)部署最靠近底層的一環(huán),我們可以借助IaC既能滿足基礎(chǔ)架構(gòu)的快速部署,又能靈活的使用私有云或公有云資源,充分利用公有云的優(yōu)勢為企業(yè)服務(wù),同時降低企業(yè)成本投入,做到真正的按需付費。

4.基礎(chǔ)平臺代碼化的優(yōu)勢
  • 將基礎(chǔ)結(jié)構(gòu)部署到多個云

Terraform適用于多云方案,將相類似的基礎(chǔ)結(jié)構(gòu)部署到阿里云、其他云提供商或者本地數(shù)據(jù)中心。開發(fā)人員能夠使用相同的工具和相似的配置文件同時管理不同云提供商的資源。

  • 自動化管理基礎(chǔ)結(jié)構(gòu)

Terraform能夠創(chuàng)建配置文件的模板,以可重復(fù)、可預(yù)測的方式定義、預(yù)配和配置ECS資源,減少因人為因素導(dǎo)致的部署和管理錯誤。能夠多次部署同一模板,創(chuàng)建相同的開發(fā)、測試和生產(chǎn)環(huán)境。

  • 基礎(chǔ)架構(gòu)即代碼(Infrastructure as Code)

可以用代碼來管理維護資源。允許保存基礎(chǔ)設(shè)施狀態(tài),從而使您能夠跟蹤對系統(tǒng)(基礎(chǔ)設(shè)施即代碼)中不同組件所做的更改,并與其他人共享這些配置 。

  • 降低開發(fā)成本

可以通過按需創(chuàng)建開發(fā)和部署環(huán)境來降低成本,讓企業(yè)真正做到按需付費。

資料來源:Forrester調(diào)查報告、財經(jīng)網(wǎng)、云有料、博客園、阿里云

精選提問:

問1:Terraform能完成不同公有云間的遷移嗎?

答:terraform只做環(huán)境管理,不做數(shù)據(jù)遷移。

問2:有沒有不同公有云遷移的工具推薦?

答:目前各公有云有本地數(shù)據(jù)中心向公有云遷移到工具,各公有云之間遷移暫時沒有。

問3:能說下Terraform 和 Terragrunt 的區(qū)別嗎?

答:terragrunt 是一家咨詢公司寫的軟件在terraform外邊wrap了一層。

問4:Terraform 的status狀態(tài)怎么來管理的?

答:狀態(tài)文件可以存在一個文件里,這個文件可以是本地,也可以是遠程的共享存儲上。terraform主持workspaces,各團隊可以維護自己的狀態(tài)文件。

問5:ansible也可以做基礎(chǔ)設(shè)施管理,terraform和它對比的優(yōu)勢在哪里?

答:terraform在對接各云供應(yīng)商已有成熟的接口,在社區(qū)也有成熟的模塊,在使用上可以標(biāo)準(zhǔn)化,也可以降低管理和使用的復(fù)雜度。

關(guān)于EAWorld:微服務(wù),DevOps,數(shù)據(jù)治理,移動架構(gòu)原創(chuàng)技術(shù)分享。

網(wǎng)站名稱:基礎(chǔ)架構(gòu)之百變魔方
鏈接分享:http://m.2m8n56k.cn/article36/iesdsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站導(dǎo)航、網(wǎng)站排名營銷型網(wǎng)站建設(shè)、企業(yè)建站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
主站蜘蛛池模板: 国产一区亚洲欧美成人 | 国产日产欧产精品精品推荐小说 | 亚洲高清色 | 成人国产三级在线播放 | 久久国产美女免费观看精品 | 在线播放亚洲视频 | 亚洲在线网 | 喷潮白浆直流在线播放 | 香蕉视频国产精品 | 女人张开腿让男人桶免费最新 | 国产专区一区 | 日韩a无吗一区二区三区 | 亚洲天堂一区在线 | 欧美一级手机免费观看片 | 国产成人狂喷潮在线观看2345 | 色妇女影院 | 欧美另类激情 | 黄色网址免费在线 | 亚洲一区视频在线 | 国产精品视频久 | 国产精品成人久久久久久久 | 久久国产精品久久久久久久久久 | 99久久精品毛片免费播放 | 日本亚欧乱色视频在线网站 | 91精品欧美一区二区三区 | 亚洲美女在线观看亚洲美女 | 99热精品在线观看 | 综合欧美一区二区三区 | www.九九| 免费无遮挡毛片 | 国产成人精品精品欧美 | 久久99亚洲精品久久久久网站 | 亚洲女人被黑人猛躁进女人 | 国产精品国产精品国产三级普 | 波多野结衣视频在线 | 亚洲精品影院久久久久久 | 美国免费高清一级毛片 | 美国一级欧美三级 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 高清欧美不卡一区二区三区 | 成人国产精品视频 |