顾宇:构建Serverless 风格微服务实战解析(上)

向作者提问
ThoughtWorks 高级咨询师。专注于DevOps、持续交付,微服务以及全功能产品开发团队的设计、实践、落地以及经验推广。
查看本场Chat

2017年9月20日,周三晚上8点30分。专注于 DevOps、微服务及全功能敏捷产品团队发展,拥有丰富的大型系统实战经验,ThoughtWorks高级咨询师顾宇带来了主题为《Serverless 风格微服务的持续交付(上):架构案例》的交流。以下是主持人哈比整理的问答实录,记录了作者和读者问答的精彩时刻。


内容提要:

  • 遗留代码主要会给其他团队带来什么问题?你是建议项目全部完成后再统一删除遗留代码,还是在做的过程中一点点删除?
  • 运行 AWS Lambda 需要用指定的 API 网关、DynamoDB、S3 等服务,一旦在这之上开发出复杂系统,之后就不大可能更换了。迁移成本很大,你怎么看待这一缺点?
  • 请问目前使用 Serverless 架构的成功案例多不多,你知道的有哪些?
  • AWS Lambda 是亚马逊推出的第一个 FaaS 云服务平台,但后来出现了 Microsoft Azure、Google Cloud Platform、IBM Bluemix/Apache OpenWhisk 等 Severless 架构平台,请问我们现在选择架构平台可以从哪几个方面考虑?
  • Serverless 架构怎么规避数据库连接数的限制?
  • 函数都是无状态的,跟其它函数不能共享,这时怎么使用连接池?如果是容器类实现的架构,底层不是用 JVM,实际上就是拼连接数吗?
  • 客户舍不得删除现有的代码,总觉得有些功能现在不用,将来业务还会有用。如何面对这条朋友圈讨论的「不要留着无用的遗留代码」这一实际问题?
  • 请问 Lambda 和传统的计算平台相比,优势有哪些?
  • 如果无服务器服务终将变成类似存储过程的技术,一个原本挺好的想法可能很快欠下一大堆技术债,你怎么看这个问题?
  • 怎么理解 Severless 意味着不需定时维护,并不代表完全去除服务器这句话?
  • 用权限做好流量导向控制,指的是用同一套环境但不同的数据库吗?
  • 以遗留代码为例,有些问题不是技术问题,但混杂在工作中,导致推进困难。问题其实出在人上面,达成共识很重要。但我不太明白的是,如果自己没有那么大能量去左右他人的想法,该怎么办?
  • 如果有线上用户出现问题,测试想要重现问题的话,可能需要用该线上用户的数据来验证,怎么做才不会影响线上数据?

问:遗留代码主要会给其他团队带来什么问题?你是建议项目全部完成后再统一删除遗留代码,还是在做的过程中一点点删除?

微信扫描登录