对于个人职业发展规划,我始终认为,首先一定不能浮躁,时代和技术变化确实都很快,但解决问题的基本技能才是技术人员的根本;其次需要多交流,包括和同事和老板的交流,才能更好地发挥自己的聪明才智。
CSDN:如何看待加入七牛的工作的挑战?
肖勤:从公司层面说,存储服务基础很好,但其他方面的积累相对要少,还需要继续学习和积累。与此相对应,于我个人而言,背景知识也还有很多需要学习的地方。应对的办法,我认为是多读代码,读书,通过项目试验,以及尖端技术在实践中的使用来获得进步。
CSDN:您擅长Ruby on Rails,七牛云存储其实用Go,您如何看待不同的语言和框架的选择?
肖勤:我个人对开发工具没有特定的偏好,相信实用至上,不会参与语言的争论。语言、框架都是工具性的东西,都是为产品研发服务的,应当由项目决定。Ruby on Rails是不错的工具,七牛云存储用的Go语言,前端以AngularJS为主,也都非常成熟。七牛公司内部已经有很多的积累,所以也没必要再造车轮。
CSDN:另外作为以前的云服务使用者,现在的云服务提供者,您感觉有哪些不同?
肖勤:云的基础服务的发展成熟,能够为企业尤其是创业者提供很更好的机会。借助云服务提供者做出的服务分担一些事情,企业和创业者就可以有更多的精力投入到自己的核心价值上去,商业上创业成功的可能性会更大。但这需要云产品符合业务运营的逻辑。
作为云服务提供者,我需要保证构建的功能是用户真正需求的。而有了云服务使用者的经历,我能够更好地理解为什么用户会关心某些功能,哪些功能做得还不够好。这对云服务质量的提升很有帮助。
CSDN:您今天谈到的微服务架构是否代表云服务的成熟?用户如何确定在哪种情况下需要使用微服务架构,哪种情况下不能使用微服务架构?
肖勤:对于做好事情、维护好产品而言,微服务架构不是唯一的方向,但是它是一个比较靠谱的思路和方向。如果你把所有的东西放到一起,都自己来做,势必需要很多资源来维护它,如果拆分开,把一些基础服务部件交给做基础服务的人来做,成本通常会比自己做的要低得多。要利用好云计算资源,服务就是拆分越细越好。
对于创业团队来说,我个人认为,不必刻意去追求微服务。尤其在创业初期,首先需要把产品做出来,等到方向得到验证,服务越来越复杂,团队越来越庞大之后,再适当放慢脚步,考虑团队架构、产品架构的调整,如何能够用同样的资源做更多的事情。
CSDN:能否介绍微服务架构目前在七牛发挥的作用?
肖勤:微服务架构在七牛现在已经是一个潜移默化的影响。微服务架构不仅仅是描述技术架构,同样也是描述团队架构。就像一种服务的精神,你要注意构建、运营和管理这个服务,这样一种精神在团队中是非常有益的,每个人对自己的职责都能够更加清晰地认识,从而发挥主观能动性,包括运营、后期的改进,能够自发地去提升,团队的管理就会更加轻松,效率也会更高。
CSDN:拆分服务迁移到微服务架构,有没有通用的步骤?
肖勤:首先,企业要有一致的想法,认同微服务架构带来的好处。
其次,这个过程要循序渐进,不能操之过急。不一定是方向的问题,而是执行过程的问题。先挑选边缘的服务、基础性的服务、可替代性强的服务,它们用基础云服务替代,而不是自己维护,或者把多项业务的共通部分拆出来,用少数人来维护,看看这样做是否真的有好处,切实解决问题,节约资源,在有好处驱动的情况下,再决定推进架构变革。如果架构比较特殊,不适合微服务,通过边缘服务的尝试,可以及时发现问题。
CSDN:对于微服务带来的复杂性,包括不同服务之间的联系和依赖关系等等,用户还有哪些需要特别注意的地方?
肖勤:服务的分拆肯定会让结构更加复杂,但微服务在理念描述上已经意识到,从服务架构着眼,设计上考虑了部署的问题,运营在架构中的优先级也是排在第一位的,而以往在设计模式、软件架构基本不会考虑到部署、运营的问题,。所以,如果要支持微服务架构,必须有一套行之有效的运营、部署的工具和方式,这也是容器相关技术和容器云现在备受关注的一个原因。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-7792-2.html
干嘛不和叙利亚比啊
省下的钱足够养得起军队了