您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > ThoughtWorks 首席咨询师金明《从零设计云平台:挑战与实战心得》
从零开始,构建IT云系统金明@金明Imjin@thoughtworks.com议程•云概述•企业IT中心走向云化•从零开始,构建自己的云•云系统架构•云系统典型技术•云系统高可用性•云系统成功案例1.1历史上的四次IT革命计算机时代PC时代互联网时代云计算时代(物联网)大型机小型机、PC机个人操作系统路由器、搜索引擎IM„2000年前后今后50年代70-90年代IaaS、PaaS、SaaS1.260秒云定义云计算的五个特征1.按需自服务2.随处可访问3.资源池化4.快速弹性5.可衡量服务开发用户(平台即服务)系统人员(基础设施即服务)最终用户(软件即服务)1.3云计算IaaS来源:PCHome2010来源:赛迪顾问2011尽管各咨询机构对国内市场规模的预测不尽相同,但在以下两点,却有一致的看法:-国内云计算市场正处于起步阶段,但技术与资源储备已具备一定的发展基础;-虽然目前国内云计算服务市场总体规模较小,但发展迅猛,年均增长率高达40%~80%2.1企业IT中心走向云化长交付时间冗长、手工的请求周期分布的大量手工操作步骤较多的故障点不灵活的容量、过量供应24/7使用短交付时间自服务门户、快速交付统一界面自动化的步骤整合的资源信息管理按需创建、销毁随开随用降低成本提高效率提升体验2.2企业IT云化的挑战物理层•主机数量很多•主机连接多种存储(DAS、NAS、SAN)等•大量基于物理交换机的vlan和虚拟网络虚拟层•往往使用VMware/Hyper-V虚拟技术•计算资源虚拟化为主,存储虚拟化和网络虚拟化的需求较少应用层•网络IP地址分配缺乏规划,DHCP与静态IP共存•已有的虚拟机镜像已经无人知晓细节•企业IT对于虚拟机有比较高的定制化和安全要求2.3OpenStack架构分析EnterpriseMessageQueuebasedonRabbitMQ(ESB)ObjectStorage“Swift”ImageService“Glance”Compute“Nova”Dashboard“Horizon”KVM,VMware,XenCloudPlatformCeph,GlusterAdvancedCloudandNetworkingservicesaccessingtheNeutronAPIFirewallServiceGatewayServiceNeutronNetworkingFabricRESTAPIPluginsOpenvSwitchNeutronPlugin-insIdentityServices“Keystone”API2.4企业IT云化的方案•无法满足要求•功能太复杂和全面•对于现有IT团队的门槛过高•在资源调度等方面的功能又太简单•开源产品的代码量太大•代码质量很低、坑多•缺乏对vSphere、Hyper-V很好的支持•文档支持不好通用型云计算产品OpenStack、CloudStack等•基于vSphere与Hyper-V提供的API进行封装•API很稳定,文档较丰富•根据企业IT管理流程和资源调度灵活定制•根据实际需要集成第三方系统(认证、监控等)自研IT私有云基于开源产品扩展3.1企业IT私有云的核心需求企业私有云自助式虚拟机控制台负载均衡资源调度虚拟机定制化性能监控与容量预测非功能性需求(高可用性、可扩展性)3.2企业IT虚拟机生命周期3.3企业IT私有云的其他需求•机器定制化•主机名、域名•用户名、密码、密钥对•各种软件初始化配置(Nagios、Puppet、rsync等)•性能监控与容量预测•历史性能数据的可视化•基于历史性能数据对未来容量进行预测(线性回归、时间序列等算法)•用户体验•虚拟机操作耗时长,不能让用户等待•当虚拟机操作完成,用户能够实时收到消息3.4企业IT私有云高可用性物理层虚拟层应用层私有云•RTO99.99%•每年宕机不超过1小时•硬件冗余•主副机•备份与恢复(如2+1、磁盘RAID等)•开启HA模式•由应用层保障资源的稳定性高可用性架构设计4.1云系统功能架构4.2云系统技术架构4.3云系统部署架构5.1虚拟驱动层•提供对底层虚拟平台和虚拟对象的抽象,隔离上层逻辑对象与底层的物理对象•封装不同虚拟平台和云平台的技术细节,提供标准统一的API•没有选择libvirt,因为我们目标同时兼容虚拟化和云平台FogAPIServerHostStorageNetworkvSphereSDKAPIOpenStackAPIAWSEC2API5.2负载均衡资源调度•挑战•某些项目只能使用某些VLAN?•某些主机、存储不希望被使用?•确保资源负载均衡,不至于失衡•调度算法•将某些主机、存储、网络标为“不可用”•基于业务要求分别过滤主机、存储、网络等•根据底层网络连接关系,得到一系列组合•调用资源组合性能评比算法•调用资源组合选择算法资源调度选择算法可用资源最高优先算法资源最少可用优先算法资源性能评比算法基于主机、存储、网络的可用空间0.5*内存+0.3*磁盘+0.2*CPU(系数可调)5.3虚拟机定制化•Post-Scripts•机器启动结束之后执行•造成等待•不同OS需要不同实现•Cloud-Init•通用的虚拟机初始化库•统一的生命周期事件•支持各种定制•支持各种虚拟平台和云Cloud-InitAPIUserHostNetworkScripts5.4性能监控与容量预测•性能数据收集•虚拟化API•Nagios(SNMP+NRPE)•性能数据分析•线性回归算法•时间序列算法•功能•预测什么时候需要添加硬件•及时发现系统异常虚拟主机(vSphere)虚拟机(VM)应用程序(Java等)5.5云平台技术集合6.1高可用性•原则•避免单点•备份与恢复•事件驱动架构•RabbitMQCluster•Master-Slaves•Consumer-Master•Mirroring•MySQLCluster•MySQLReplication•Haproxy+Keepalived(roundrobin做主副均衡)#haproxyconflistenwebfarm10.0.16.222:8555modehttpstatsenablebalanceroundrobinoptionhttpcloseoptionforwardforoptionhttplogoptionhttpchkGET/someService/isAliveserverwebServerA10.0.5.91:8181checkinter5000downinter500#activenodeserverwebServerB10.0.5.92:8181checkinter5000backup#passivenode6.1.1高可用性部署6.2高可用性之监控•每项服务都必须实现health_check的接口,提供自己服务的健康信息•通过Nagios统一监控和展示各项服务的性能情况6.3其他一些建议•DevOps实践•自动化部署(Capistrano)•运维自动化•HealthCheck页面•集中日志处理•Syslog2将日志集中•LogStash日志查询•可视化7.1成功案例•某国际软件公司研发中心•~80vSphereESXi主机•~5T存储(DAS、NAS、OracleSAN)•~200虚拟网络•700+虚拟机(Windows、CentOS、Ubuntu)•在使用ScaleWorks之后,IT效率得到极大提高:•虚拟机创建周期从3天缩短为10分钟•虚拟机模板创建从5天缩短为20分钟•IT团队90%+的工作从手工变成自动化脚本•机器创建、管理全部变成用户自服务8.1关于我们•2014年:云产品总监,推广更敏捷、灵活的云化运维、IT服务•2013年:研究IT服务管理•2012年:担任CDPracticeLead•2010年:“配置即代码”、虚拟化、云8.2关于ScaleWorks一键式企业级IT云服务•自助式机器管理台•一键安装配置软件•智能资源分配策略•性能监控与容量规划•一键创建编辑模板•无缝追踪资源变更•已有虚拟化设施云化•无服务商锁定•最佳智能实践一键式云化企业基础设施@scaleworks|
本文标题:ThoughtWorks 首席咨询师金明《从零设计云平台:挑战与实战心得》
链接地址:https://www.777doc.com/doc-5962301 .html