在QingCloud的用户中,有很多对云计算有着深刻理解、非常了解和认同我们的技术理念的资深专家,阮志敏便是其中之一。我们推荐他的文章基于以下原因:
FIT2CLOUD所倡导的IaaS+DevOps的开发模式对IaaS用户有着非常实用的意义,今后大家在使用IaaS服务的时候可以考虑一种更加便于应用部署和管理的新可能。
可靠和强大的Cloud DevOps Platform可以为开发者提供高效的应用部署及管理工具,也是云计算生态丰富和健全的重要一环,经过多次交流,我们认为FIT2CLOUD的技术相当扎实,服务也比较成熟。
一直以来,QingCloud都在积极倡导通过开放的IaaS平台支撑和支持云计算生态的丰富和完善,包括FIT2CLOUD在内的Cloud DevOps Platforms是我们非常欢迎和支持的成功实践。
阮志敏先生及团队基于QingCloud的公有云平台进行深度的产品开发和测试,对QingCloud的服务及理念有着非常深刻的认知,相信他的观点会引起大家的很多共鸣。
闲话少叙,请阅读正文。
FIT2CLOUD是一个建立在IaaS之上的云管理及DevOps协作平台,帮助企业提高云成熟度,实现云资源创建自动化、服务器自动化、混合云管理、应用部署升级自动化和持续交付。基于FIT2CLOUD,企业可以实现应用全生命周期的自动化管理,打通从代码到服务的转化通道,实现云应用的持续交付和自动化运维。
今天,我们发布FIT2CLOUD for 青云QingCloud,青云是我们继亚马逊AWS和阿里云之后,第三个支持的公有云。我们的在线服务提供免费套餐,用户可以免费管理10个以内的虚机,欢迎大家评测。
在这里,我们想给大家分享FIT2CLOUD for 青云背后的一些故事,及FIT2CLOUD可以帮助青云用户做些什么。
一、我们为什么选择青云QingCloud?
在FIT2CLOUD for 青云QingCloud发布之前,我们已经支持了亚马逊AWS和阿里云这两个公有云。其中,亚马逊AWS是全世界最大的公有云提供商,而阿里云则是中国最大的公有云提供商。由于AWS在中国的区域仍然未全面开放商用,所以我们想再支持一个国内云以便让用户有更多选择。
我们把目光锁定在青云QingCloud上,因为青云的API和计费方式都符合条件。最初,我们对青云QingCloud还是有疑虑的,一个20人左右的团队能够做好并运营好公有云服务吗? 但是,经过近三个月的开发和测试,我们发现,青云虽然在服务种类和规模上不如亚马逊AWS和阿里云,但是其理念、产品功能、服务质量(稳定性、性能、技术响应速度)远远超出了我们的预期。FIT2CLOUD for 青云QingCloud的开发也得以顺利完成。
二、我们对青云的三个体会
1) API齐全
用户在青云管理控制台上面能做的工作,也都可以通过调用青云API来完成。青云遵循的理念是:API是云服务产品的交付形态。青云是先开发的API,再基于API做了自己的管理控制台。这对生态圈合作伙伴非常重要。FIT2CLOUD这种第三方云管理工具完全依赖于API,如果API不齐全,我们无法实现全栈自动化,无法实现对应用全生命周期的自动化管理。
我们的后端开发语言是Java,但是青云暂时只提供Python SDK包。所以,我们只能自己用Java封装了青云所有的API。我们也遵循开放的理念,将我们封装的Java库开源了,希望对青云用户和开发者有帮助。项目在GitHub上面的地址是:https://github.com/fit2cloud/qingcloud-api-java-wrapper
2) 秒级计费可以大大降低开发和测试费用
对于生产系统,按秒计费或者是按小时计费可能对总费用影响不大。但是,我们现在的经验是,在开发和测试过程中,青云的秒级计费确实能为用户节省很多费用。我们在两个月的开发过程中,需要不断的创建、释放资源(虚机、硬盘、公网IP、路由器、负载均衡器等等),总共花费不到100块钱。我们累计创建的虚机超过2000台,如下图所示。
3) 私有网络(VPC)是青云的最大特色
青云支持基础网络和私有网络两种方式。私有网络实现了基于L2层的隔离,大大提高了安全性。这体现了青云对企业用户需求的把握比较到位。从技术层面,青云的私有网络有两个特点:
相比于AWS VPC,青云的术语少很多,实现的更为简洁。
基于SDN实现了私有网络,资源响应速度比较快。
对于用户来说,私有网络更为安全,但是使用门槛也比基础网络高。FIT2CLOUD也在如何降低青云私有网络的使用门槛上做了很多工作,下面会详细介绍。
三、FIT2CLOUD可以帮助青云用户做什么?
1) 在分钟级完成应用在青云上面的部署
青云的管理控制台是以资源所在区域和类别这两个维度来管理的。FIT2CLOUD是从应用角度来管理资源。基于FIT2CLOUD,用户可以实现以下几个层次的自动化,实现应用的快速部署:
一键创建应用系统所需的各种资源(Template Provision)。在FIT2CLOUD中,一个应用系统对应于一个集群,一个集群包括若干个虚机组。比如一个电商系统集群包括web虚机组,database虚机组,cache虚机组,suggestion虚机组等。用户可以定义每个虚机组下的虚机数量,大小,数据盘大小等。
虚机的自动安装和配置(Server Automation)。在FIT2CLOUD中,我们给虚机定义了一些事件,比如initialize, install, start, reboot等,用户可以为这些事件编写处理脚本。
代码部署(Application Automation)。用户可以编写代码部署脚本,这些脚本将在虚机启动和配置完毕后执行。另外,用户也可以通过执行脚本来部署代码。
2) 降低青云私有网络的使用门槛
FIT2CLOUD既支持青云网络也支持青云私有网络,如下图所示。
a)基础网络模式下,FIT2CLOUD将为集群中的每个虚机都分配一个公网IP,用户需要在虚机组上面设置安全组规则。
b)私有网络模式下,FIT2CLOUD实现了业务流和管理流的分离,是青云推荐的最佳实践之一。
通过路由器上绑定的公网IP,所有虚机都可以通过路由器共享对外网的访问。
用户需要通过SSH登录管理虚机,是通过路由器的端口映射功能来实现的。
如果要虚机要对外开放业务,可以在虚机组上面设置负载均衡器。
使用FIT2CLOUD,您只需要在创建集群时选择使用私有网络即可。FIT2CLOUD会自动创建私有网络,路由器,公有IP,并配置连接,设置路由转发和负载均衡,不需要任何手工操作。
3) 自动化运维
FIT2CLOUD还提供了很多功能和工具帮助用户实现自动化运维,比如:
自动伸缩功能(auto-scaling)。FIT2CLOUD支持基于时间的伸缩和基于监控数据的监控。监控数据由FIT2CLOUD Agent采集。
执行脚本功能。用户可以同时在一个或者多个虚机上执行脚本。比如前阵子发生的openssl漏洞,用户可以快速地在所有虚机上运行yum update openssl脚本来修复。
统一监控和告警。FIT2CLOUD提供基础的告警服务,当虚机的CPU/Disk/RAM使用率超过一定数值,系统将会告警。
附:作者简介
阮志敏是FIT2CLOUD联合创始人及CEO,AWS认证解决方案架构师(专业级别)。曾在中国惠普和三星研究院担任云计算解决方案架构师和研发经理,长期专注于如何使用云服务进行业务创新,在部署和管理跨公有云、私有云的大型商业应用上有超过3年的经验。现在与几位同伴一起创建了FIT2CLOUD,一个建立在IaaS之上的云管理及DevOps工具,为云基础设施和应用提供配置、监控、自动化和管理服务。