企业应用如何解决Multi-Cloud的基础设施管理及应用部署问题

选择Multi-Cloud的因素

“Multi-Cloud”即企业将多个应用部署在多个云平台上,比如阿里云、AWS、Azure、OpenStack或其他云平台。通过下面的模形我们可以看到企业选择Multi-Cloud的因素及应用部署策略,包括7个主要因素:云计算平台数据中心的访问速度/云服务的性能/可用性、云计算平台的成本、云计算平台的安全性、客户服务质量、本地化、云计算平台的提供商、以及企业自有的数据中心地点。

RightScale的调查数据显示目前有越来越多的企业选择Multi-Cloud模式(2015年58%, 2016年增长到71%)。

挑战

虽然越来越多的企业选择Multi-Cloud模式,但其也有很多挑战,例如各个云服务平台采用不同的技术、不同的用户操作界面、提供不同的云服务、不同的专业术语。即便是相同的服务(如云服务器),由于是来自多家云计算平台,其API的定义不同,SDK也不同,各自提供的小工具也不能适用于其他云平台。同时对于企业的运维人员要求也较高,运维人员要知道怎样构建各个云计算平台的基础设施,以及部署、运维、监控等,以及各个应用对于云计算平台的最佳选择。

基础设施管理及应用部署的解决方案

本文章将讲述针对于Multi-Cloud模式的基础设施管理及应用部署的解决方案。

Terraform 是来自HashiCorp家族的开源工具,通过“ WRITE, PLAN, AND CREATE INFRASTRUCTURE AS CODE”管理多个云计算平台的基础设施,支持阿里云、AWS、Azure、GoogleCloud、DigitalOcean等。他通过一致的模板形态定义基础设施的创建/更新/销毁的全生命周期。下面列举了阿里云和AWS的模板,可以看到模板形态一致,定义resource,填写不同的参数,比如数量、镜像、实例类型,对于Multi-Cloud的多平台基础设施管理将大幅度降低学习成本:

    resource "alicloud_instance" "app" {
        count = 5
        image_id = "ubuntu1404_64_40G_cloudinit_20160727.raw"
        instance_type = "ecs.n1.small"
    }

    resource "aws_instance" "app" {
        count = 5
        ami = "ami-408c7f28"
        instance_type = "t1.micro"
    }

阿里云针对于 Terraform Provider的官方仓库地址:
https://github.com/alibaba/terraform-provider

其中Example包括云服务器ECS、负载均衡SLB、安全组SecurityGroup、专有网络VPC、路由器VSwitch、Nat网关NatGateway的模板,利用这些模板可以做资源的创建/更新/销毁的管理,如创建多台ECS后,再统一修改Tag;或挂载、卸载SLB的后端服务器等等。
Terraform的命令比较简单,最重要的只需要记住4条命令

    terraform get  (获取模板)
    terraform plan  (预览要创建或更新的资源)
    terraform apply  (创建或更新资源)
    terraform destroy  (销毁资源)

运行 terraform apply命令后会在本地生成 terraform.tfstate 文件,此文件做为更新、销毁资源的依据。
同时根据terraform.tfstate文件,由另一个开源工具Terraform-inventory 可直接生成Ansible的Inventory文件,Ansible利用这个Inventory文件将其用playbook编写的应用部署过程部署到相应的云服务中,实现基础资源管理到应用部署的闭环。

某企业的应用采用Terraform+Ansible的架构将其应用从OpenStack迁移至阿里云,只用了1.5天的时间,而使用传统的手工模式需要一周多的时间。

详细操作步骤

下面以创建云服务器ECS及磁盘,更新其数量,然后部署Nginx为例详细讲解操作过程。

  1. 下载Terraform
  2. 设置环境变量时,需要指向terraform所在的父目录,如:terraform的路径是"~/work/terraform_0.7.10",则指定环境变量时设定为export PATH=$PATH:~/work/terraform_0.7.10
  3. 下载terraform-alicloud-provider, 并将其放置与第2步中terraform相同的目录下,如"~/work/terraform_0.7.10"
  4. 安装terraform-inventory,运行命令“brew install terraform-inventory”,详细的说明请参见https://github.com/adammck/terraform-inventory
  5. 编写云服务器ECS的模板
        module "alicloud-ecs" {
          source = "github.com/alibaba/terraform-provider/terraform/examples/alicloud-ecs"
          count = "1"
          count_format = "%03d"
          role = "worker"   //这个作用是打标签,此ECS的Tag值将是role:worker
          datacenter = "beijing"
          ecs_type = "ecs.n1.small"
          ecs_password = "alicloudTest1"
          availability_zones = "cn-beijing-b"
          security_group_id = "*" //这里输入SecurityGroupId
        }
    
  6. 依次运行命令(注意一定要先修改security_group_id参数的值,指向真实的id):
        terraform get   //第一次连接时会有些慢
        terraform plan   //按照提示输入您的AK信息
        terraform apply  //按照提示输入您的AK信息
    
  7. 此时登录ECS控制台可以看到创建的云服务器。
  8. 修改第5步中的模板”count”参数,将其修改为2,再次运行:
        terraform plan  //可以看到变更的资源,即新增加一台ECS以及磁盘
        terraform apply
    
  9. 此时登录ECS控制台可以看到又创建一台云服务器
  10. 编写Ansible的playbook安装nginx,playbook如下:
        - hosts: instance
          tasks:
          - name: Install Nginx
            apt: pkg=nginx state=installed update_cache=true
            notify:
              - Start Nginx
    
          handlers:
              - name: Start Nginx
                service: name=nginx state=started
    
  11. 执行命令:
    ansible-playbook -i `which terraform-inventory` playbook.yml -u root -k -c paramiko -vvv
    
  12. nginx即安装在以上2台ECS上,可以ssh登录ECS云服务器查看或修改nginx的配置。
  13. 如果想释放两台ECS及磁盘,执行 terraform destroy即可

至此创建ECS云服务器、修改数量、安装Nginx完成。通过Terraform+Ansible的方式可以把基础资源的管理和应用部署分开,Terraform的模板依照一致的模板形态实现对Multi-Cloud的基础设施管理,Ansible的playbook可以被重复执行将应用部署在不同的云平台上。

阿里云会持续提供更多的与流行开源工具的集成为企业的云上部署及运维提供便利。

反馈

本文讲述了基础设施管理及搭建Nginx应用的实践,关于更多的应用场景下Terraform的最佳实践我们会持续发布。大家有问题也可以在github https://github.com/alibaba/terraform-provider的Issue中提问。

时间: 2024-08-31 10:33:37

企业应用如何解决Multi-Cloud的基础设施管理及应用部署问题的相关文章

马云演讲全文:要成为伟大的企业,就要解决伟大的问题

伴随阿里巴巴超越亚马逊,市值突破4700亿美元,2017年的云栖大会也在杭州正式开幕.雷锋网了解到,此次云栖大会最为重磅的消息,无疑是阿里成立了全球研究院,取名为达摩院(DAMO).但最令人期待的,还是马云的演讲. 在演讲中,雷锋网认为马云主要讲了三件事: 第一件,阿里巴巴18周年,为什么此前不成立研究院? 第二件,为什么现在是合适的机会,正式成立达摩院? 第三件,达摩院在未来如何发展? 对于第一件事,马云表示,在过去的18年中,阿里巴巴每天都过得非常艰难,一直想着如何活下去的问题.尤其是前10

企业站群解决和提高网站收录的最快方法

最近这段时间由于工作比较忙的原因,阿郎SEO优化负责和管理的网站比较多,无法做到对每一个网站的事无巨细的运营维护和管理检查,而一个日益凸出的问题也摆在我面前--网站的收录量一直保持在相对的收录数量却迟迟不见网站收录数量的增长,这让我不得不去认真思考和寻找解决网站收录提升的方法.阿郎SEO优化索性就和大家一起来聊聊企业群站是如何解决网站的收录问题,希望对各位网站运营或者SEO优化人员会有所帮助,希望能帮助大家解决企业网站的收录量提升. 众所周知,网站的内容被搜索引擎收录的数量越多,网站从搜索引擎那

普元软件与阿里云推出企业云平台“EOS-Cloud”解决方案

摘要: 普元软件日前与阿里云联合推出企业云平台EOS-Cloud解决方案. EOS Cloud平台结合了普元EOS Platform V7以及阿里云ACE平台两方产品的技术,中小型企业可以由原先使用开源平台的非云开发, 普元软件日前与阿里云联合推出企业云平台"EOS-Cloud"解决方案. "EOS –Cloud"平台结合了普元EOS Platform V7以及阿里云ACE平台两方产品的技术,中小型企业可以由原先使用开源平台的"非云开发",实现向

普元软件日前与阿里云联合推出企业云平台EOS-Cloud解决方案

普元软件日前与阿里云联合推出企业云平台"EOS-Cloud"解决方案. "EOS –Cloud"平台结合了普元EOS Platform V7以及阿里云ACE平台两方产品的技术,中小型企业可以由原先使用开源平台的"非云开发",实现向"云开发"的转面,提升企业自身的创新能力和运营效益. 普元CTO焦烈焱对搜狐IT称,"EOS-Cloud"是一套面向中小企业的PaaS平台,旨在让应用开发变得更轻松.目前中小企业由

想要更好的云基础设施管理!你检查IT工具集了吗?

在云迁移为企业带来的诸多变化中,IT团队必须对现有的基础设施管理工具进行长时间的严格审查. 云迁移给企业IT团队带来了很大的变化,从他们如何监控成本到如何组织员工.但是最大的变化,也是挑战之一,就是对基础设施管理工具集上的发展需求. 云基础架构的转变不仅需要重新检查现有的系统管理工具,而且这些工具将会因为私有,公有或混合云而有所不同.包括决定是否使用云供应商的本地工具或第三方系统,并且这样的选择很快变得复杂起来. 私有云基础设施管理从传统系统中扩展而来 在各种云计算模式中,私有云最有可能与企业的

《云计算:原理与范式》一1.5 云基础设施管理

1.5 云基础设施管理 在构建云基础设施时,IaaS供应商面临的一个关键挑战是从整体上管理物理资源和虚拟资源,即服务器.存储.网络[43].必须快速和动态地为应用提供资源的方式进行资源的编排[7].负责此业务流程的软件工具称为虚拟基础设施管理器(Virtual Infrastructure Manager,VIM)[7].这种类型的软件与传统的操作系统类似,不过它并不与单独的计算机打交道,而是聚合了多台计算机资源,为用户和应用提供了一个统一视图.术语"云操作系统"也涉及了VIM[43]

开源PaaS平台Cloud Foundry在阿里云上部署实战

Cloud Foundry介绍 Cloud Foundry是业界第一个开源的PaaS,号称工业界唯一的云应用平台. 本文重点讲述Cloud Foundry在阿里云上的部署方案,对于Cloud Foundry介绍的部分简单略过. Cloud Foundry解决了什么问题? 关键词:PaaS.开源 Cloud Foundry是一种平台即服务(PaaS),兼容多种基础设施云,提供多种开发框架和应用服务.目前开源支持部署Cloud Foundry的基础设施云包括AWS.Azure.OpenStack等等

提高数据中心可见性的自动化基础设施管理(AIM)

如今,数据中心管理者一直致力于采用新的应用程序和网络技术,而这通常意味着部署新的光纤和设备.随着新的光纤接口部署,提高连接速度,将会增加复杂性:一些设备适用于双工光纤,而并行光纤连接更适合于其他类型的网络设备.因此,跟踪和管理大量和各种各样的光纤连接,以确保工作有效地进行,没有代价高昂贵的应用程序中断的风险,这变得越来越困难. 自动化基础设施管理(AIM)系统提供了支持快速迁移到更高速度的关键性,以及现代数据中心网络的结构特性的可视性,其中一切都与其他所有功能相结合,具有不断变化的双工连接和并行

数据中心基础设施管理软件降低IT部署成本

降低能耗和运营成本 随着http://www.aliyun.com/zixun/aggregation/10148.html">企业运营支出的飞速上涨,企业高层管理人员已将数据中心视为一条同时节省资本支出和运营支出的可行途径.这其中的秘诀在于数据中心基础设施管理(DCIM)软件.先进的DCIM工具能够延长现有数据中心物理基础设施的寿命,简化规划与运营流程.降低机构与IT的能耗,并支持主动监控,从而降低成本.确保企业正常运行. 例如,施耐德电气StruxureWare数据中心运营管理作为一个