老铁们,大家好,相信还有很多朋友对于docker要淘汰了和docker国企不让使用的相关问题不太懂,没关系,今天就由我来为大家分享分享docker要淘汰了以及docker国企不让使用的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
windows系统和mac电脑系统相比,差在了那里
你都预设了立场,还要什么答案呢?
我在公司用Windows,在家用MacOS,算是深度用户,简单的说说看法
一、安全。可能很多人觉得Mac更安全,实际上是错觉。我用win从未安装过杀软,也从未中毒(win7.win10)。
二、生产力。专业工具软件支持win的还是最多的,也是优化最好的,很多都不支持Mac。如果是程序员的话,我个人感觉还是win最合适,工具多,操作方便,这点因人而异。做设计的用Mac多些。总的来说win的生产力是最高的。
三、娱乐。这个不用说了,肯定是win。
四、学习曲线。Mac学起来还是用些难度的,如果你只是听歌看电影写文档,当我没说。而win就简单的多了。
五、有些人说winbug多,其实不然,关键性的,影响系统安全和稳定的补丁也不算多。
总结:windows是一款优秀的操作系统,并不比Mac差,而且比Mac更优秀更有潜力。做为实用主义者,我很反感逢人吹Mac秀优越感,电脑是用来工作和娱乐的,不是用来秀优越的。
如何用openstack搭建云平台
阅读本文不是很简单,因为需要知道云计算是什么,什么是私有云,什么是openstack?我们知道openstack可以搭建公有云,私有云。这个显的很神秘。其实本质都是一些操作,如同我们通过使用说明书,能够学会使用一个软件一样。对于私有云在什么情况下使用可以查看私有云场景:为什么需要私有云?我们可以带着下面问题来阅读:1.部署openstack硬件该如何选择?2.如果各个分公司都能够使用私有云,该采用什么网络模式比较好?3.能否总结出该如何搭建私有云?如何建设私有云?
在最开始部署我们的私有云服务时,我常常纠结的两个问题是:需要新的硬件设备吗?旧的硬件怎么办?最后,得出的结论就是在OpenStackAPAC讲的那句话:立足现有装备,打赢未来战争。所以从现有阶段来看,瞬联在私有云硬件成本的投入几乎为零。因为现有的硬件资源完全满足项目需求,我为什么要购置昂贵的硬件设备呢?但并不意味着我们永远不购置新的硬件设备,从一个长远的发展来看,我们的策略是:随着项目逐步迁移到云中,根据实际的需求购买更好的硬件设备,逐步淘汰耗电大,占空间的老旧设备。因为我们毕竟不像那些预算充裕的大公司,可以随意购置新设备。所以我们的解决方案针对的是像我们一样,花自己的钱,又想构建私有云的中小企业。网络规划&高可用
好了,开始说点干货吧。先上一张拓扑图:我们选用的OpenStack网络是传统的VLAN方式,并没有使用Quantum,这是因为在Essex版本时,Quantum还不是正式的模块,所以到了Folsom版本,我们延续了原有的VLAN方式。VLAN方式很好的实现了各个项目之间的隔离,保证了安全性。为了能够让各个分公司都能够使用私有云,我们先划定了一条各个分公司都能够访问的VLAN作为提供公共服务的网段,再划定一条VLAN作为虚拟机内部通讯的网络。同时在相关交换机上预留VLANID800~850,50条VLAN与OpenStack内部VLAN相对应,同一VLAN下虚拟机之间通讯不受影响。通过这些手段,保证了无论我们的计算节点位于哪一层的机房,都可以进行通讯。在图中,最左侧为控制节点,其中OpenStack控制节点和网盘应用形成MySQL集群,用于实时备份数据,任意一台出现问题之后,另外一台可以快速作为对方的备份节点。下面的一台是为了提供自动部署的服务器。中间靠上的两台服务器,分别提供镜像和卷服务,利用GlusterFS形成冗余,并可互为灾备节点。因为GlusterFS并不支持块设备,所以这里用到的Cinder驱动为NFS。中间的服务器代表一个机房中的某几台服务器形成一个Zone,这个Zone专门为CL这个项目组提供虚拟机服务。中间靠下的服务器是SWIFT服务器,作为网盘的后台。最右边的服务器,代表OpenStack控制节点所在机房如何和另外一个机房的服务器连接。那么这几台服务器形成一个独立的区域,为整个瞬联内部提供服务。监控方案采用Nagios,对主机性能及关键进程形成监控,后期准备在已有的NagiosOpenStackPlugin基础上增加一些关键指标的监控。部署
我们当前采用的OpenStack版本为定制版Folsom,底层操作系统为Ubuntu12.0464bitServer版本。操作系统采用kickstart实现推送,本地缓存了所有DEB包,无须网络安装。IT人员只须设定好网络地址,之后由Fabric脚本完成主机名、NTP、Puppet等基础软件的安装。因为是我们定制的版本,所以市面上所有的部署方案基本都是不适用的,我们基于dodai-deploy,开发了可以部署我们自己软件的版本,并且将所有的数据库全部默认使用MySQL(默认的dodai-deploy只有nova是使用MySQL数据库)。我们全新部署一台计算节点的时间,从裸机到能够使用大致为30分钟之内。定制化
还是先上一张图:凡是有蓝色的模块是我们定制过的模块和增加的模块,主要集中在Keystone、Nova、以及Horizon三个模块,在Cinder中增加了关于NFS驱动层的三个方法。Nova是我们最早开始改动的模块,为了实现对于虚拟机申请的控制,我们增加了一张表用于存放用户所有申请及状态。之后增加Flowapi用于实现相应的请求。最后,增加了nova-flow服务用于通知用户虚拟机过期和删除过期的虚拟机。这样配合Horizon的改动,就可以完成了对虚拟机申请流程的控制。可供申请的虚拟机列表
用户申请页面,增加申请天数、区域等信息
在Keystone中,为了实现Zone和项目绑定的目的,我们增加了相关方法,并且增加了一个新的角色ProjectAdmin,用于在某一个项目中,完成用户虚拟机申请的审批工作。因为OpenStack主要是针对公有云的开发,所以暂时没有把这部分代码提交到社区。管理员可以设置Project允许生成虚拟机的区域
Cinder中,因为NFS驱动中,并没有生成卷镜像和从卷镜像生成新镜像的方法,所以这部分代码,正准备提交到社区。网盘应用
网盘应用基于OpenStackSwiftAPI开发的。提供在线文档、图片浏览、群组分享功能,现在支持的格式:DOC/XLS/PPT/PDF/PNG等多种常见的文档和图片格式。我们准备在近期将我们的版本开源,回馈社区。还是图片最容易说明问题,继续上图:用户登陆后的页面,私人空间
8.png(181.4KB,下载次数:0)
下载附件保存到相册
2014-2-1815:33上传
在线浏览功能
虚拟化桌面应用
虚拟化桌面包括VDIBroker以及Visual两个部分,Broker主要负责处理RDP协议解析以及和Visual交互,而Visual则完全负责资源分配。VDI同时支持添加虚拟机和物理机,现阶段暂时需要云管理员对所有可用服务器进行配置,在下一个阶段将根据需求启停虚拟机。如果用户使用的是虚拟机,那么在用户登陆后,自动挂载一块用户硬盘,用户保存在此硬盘的所有资料,在下一次使用VDI服务时仍然存在。还是来看图:架构图
标准的RDP客户端连接
用户选择要使用的资源池,完成连接
结语
在半年的内部运行中,系统非常稳定,随着新功能的不断更新,内部的用户也愿意使用云平台服务。各个项目的负责人也积极的将项目的开发、测试环境放到云中运维,而这也直接帮助他们更好的控制项目进度,缩短准备周期。我们相信随着我们不断的努力,一定能让企业私有云在我们的企业日常生活中发挥越来越重要的作用。对于上面的内容你是否对于私有云搭建,有了一定的认识作者:RaySun前端为什么有人说要关注Serverless
最近给同事也讲了一下,要不部门内部我们自己尝试尝试Serverless?
同事问我收益是啥,我也一时说不上来,后来整理了一下,同步发一下吧。
首先如果在公司内部做serverless的尝试方案:
先搞清楚下面这几个问题:
1,什么是serverless,对于前端和客户端以及运维来说有什么收益。
1.1首先理解serverless,需要先理解以下几个概念:
Serverless的演进和形成主要经历了:1,IaaS(Infrastructure-as-a-Service,提供物理机服务),2,PaaS(Platform-as-a-Service,平台既服务,如阿里云,七牛,甚至我们自己的nvm,sce等),3,CaaS(Container-as-a-Service,容器既服务,类似我们现在内部的dockerk8s服务),4,FaaS(函数既服务,一个容器一个函数,使用时才消耗资源,不含存储,只包含逻辑),5,Baas(backend-as-a-service,后端既服务,提供存储,数据库操作,消息转发,静态服务等云服务功能)。
我们目前整体新浪还处于IaaS,PaaS结合Caas的阶段,我们的服务目前有部署在物理机的,有部署在nvm平台的,有部署在容器cs服务中的。
那么我们现在理解了serverless的演进后,我们可以认为Faas和Baas才是最终serverless的最后形态。
1.2他对于前端和客户端开发人员来说:
1,可以直接使用客户端代码编写后端和前端服务逻辑,利用BaaS提供的云服务,关联到FaaS中,实现对数据的操作,文件的上传,接口的调用,路由的注册等,可以更快速无损的开发app应用和前端应用。
2,面向业务编程,不需要了解复杂的后端服务配置和部署等,只需要编写函数完成API开发即可,加快生产力。
1.3他对于后端人员来说:
1,不需要关注具体服务,只需要关注具体功能。
2,只需要面向API编程,而不是业务编程。
1.4他对于运维人员来说:
1,只需要维护好faas和baas的服务集群即可。
2,更节约成本,而且会比caas和paas更节约服务器资源,因为只有当函数接口被调用时,才会启动容器,执行函数,执行完毕后再释放函数,没有调用则不会有资源浪费。
2,serverless的使用场景:
2.1,首先我们说的主要还是faas和bass的使用场景。
2.1.1纯函数,比如计算,接口调用中转,查询服务,接口拼接,SSR等。
2.1.2由事件触发,比如数据处理,接收数据消费,定时任务,消息转发等。
2.1.3如果有存储逻辑,比如上传图片,裁切,处理音视频等等,可以提供通用的baas服务的sdk或者api来进行处理即可。
2,结合部门自己的业务,我们什么地方可以使用serverless:
2.2.1c端场景需求:我们开发创新产品或者小程序,app,前端网页时可以无需后端开发人员配合支持。
比如我们要开发一个ugc的社区,类似微博,绿洲这种app,我们需要的是注册,登录,feed流,增删改查文章,上传图片,视频等功能。
场景1:那么比如注册,登录统一的api(现在sso服务就可以直接复用,在faas中调用sso服务接口就可以)。
场景2:用户的头像上传,图片,视频上传可以直接调用s3的服务接口或者cdn接口直接用faas包装即可,无需后端配合。
场景3:用户发布文章,删除,修改文章等,需要操作数据库,这里包含了简单的curd的业务逻辑,我们可以直接使用云平台创建好服务器,然后接入baas中的比如mysql的client,直接在faas中编写对应的curd逻辑即可,或者利用一些开源的curd包,aws,阿里云都有类似的功能,在新浪我们可以拆开成faas和baas结合+paas的解决方案。
那么我们开发这么一个ugc社区,当我们拥有了serverless架构服务后,我们完全可以纯前端完成功能。(理想情况)
2.2.2内部b端场景:
场景1:我们要实现一套无纸化办公app或者web系统,比如我们的scheme服务,hybrid后台发布服务中的部分逻辑,比如圈用户,圈版本等接口都可以直接拆分到faas服务中。
场景2:我们经常要分析处理一些数据,定时进行数据计算,我们可以直接在faas中的定时任务完成计算逻辑和消息转发功能。
其中场景2,我们目前需要申请服务器,开发crontab脚本,再申请数据库,进行数据二次处理写入。或者还要在luwak上编写sql,配置任务,但是如果和sql无关的任务则luwak无法满足需求。
3,serverless的实现和开源方案,业界对比:
1,阿里云,腾讯云,头条云,AWS,google的云服务等。
2,开源服务:Openfaas(社区的),KNative(google的),OpenWhisk(IBM,太老了这个多个开源系统拼接),Kubeless,Fission(k8s官方的),Fn(Oracle的,兼容AWS的Lambda函数服务)
建议选openfaas或者kubeless尝试一下,看大家都比较推荐,因为咱们肯定是自建。
总结:其实还不错,如果公司不用,我自己的个人项目还是可以选择试试的。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!