V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
geeti
V2EX  ›  程序员

对 serverless 怎么看?想把个人网站换成 lambda + s3 + dynamo + API gateway

  •  
  •   geeti · 2018-04-30 03:05:13 +08:00 · 3481 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位有经验的谈谈? lambda/s3/dynamo/api gateway, 如果流量少,基本都是 free tier
    22 条回复    2018-05-01 12:35:08 +08:00
    msg7086
        1
    msg7086  
       2018-04-30 03:14:06 +08:00   ❤️ 1
    「如果流量少」

    嘻嘻一笑……
    geeti
        2
    geeti  
    OP
       2018-04-30 03:15:09 +08:00   ❤️ 1
    @msg7086 lambda 的免费额度是一个月 100 万的请求,我觉得不少了。我现在几个自己的 alexa skills 加起来一个月也就几千次。
    msg7086
        3
    msg7086  
       2018-04-30 03:19:11 +08:00
    如果你的网站确定不会产生大流量,不会被 DDoS,不会发展壮大,那当然是可以用的。
    否则就会像 GAE 那样,辛辛苦苦写完的程序被绑到服务商身上,难以迁出。
    geeti
        4
    geeti  
    OP
       2018-04-30 03:25:27 +08:00
    @msg7086 api gateway 应该
    @msg7086 ddos 确实是个问题。但如果架在自己主机上,不也是免不了这问题么
    squid157
        5
    squid157  
       2018-04-30 03:33:03 +08:00   ❤️ 1
    @geeti @msg7086 vendor lock-in 确实是个严重的问题
    kslr
        6
    kslr  
       2018-04-30 03:55:12 +08:00 via Android
    一个月几千次 浪费什么时间 做点其他的
    laxenade
        7
    laxenade  
       2018-04-30 04:02:28 +08:00 via Android
    @msg7086 不准确,lambda 和 api gateway 可以用 serverless(一个框架的名字)代替,dynamo 和 s3 确实没什么办法,但好在 dynamo 的 free tier 是 25 个 unit,基本不会超。
    laxenade
        8
    laxenade  
       2018-04-30 04:05:06 +08:00 via Android
    我的整个毕业设计就是跑在 api gateway 和 lambda 上的,我觉得 s3 的 free tier 有可能不够你用,相对于其他的 free tier 来说 s3 的确实比较少。
    geeti
        9
    geeti  
    OP
       2018-04-30 07:41:25 +08:00
    @laxenade s3 也便宜啊,出了 freetier 也没太大开销
    geeti
        10
    geeti  
    OP
       2018-04-30 07:42:47 +08:00
    @kslr 为啥非要这么功利,自己喜欢的事情做着玩不挺好的
    xiaket
        11
    xiaket  
       2018-04-30 08:19:45 +08:00
    如果是博客的话没必要用 lambda,整成纯静态的用 Cloudfront 就行
    dummyuser
        12
    dummyuser  
       2018-04-30 08:33:36 +08:00 via Android
    最近我也在和同学弄 Alexa Skills 啊。想请问楼主目前到底能不能直接通过 Alexa 直接控制手机啊,比如开启手机摄像头拍一张照。
    laxenade
        13
    laxenade  
       2018-04-30 09:30:45 +08:00
    @geeti #9 取决于你怎么用了 你要是把 s3 当 cdn 用就很客观了
    ddou
        14
    ddou  
       2018-04-30 10:12:34 +08:00 via iPhone
    个人站 太折腾
    niubee1
        15
    niubee1  
       2018-04-30 10:25:10 +08:00
    个站用静态的就 OK 了, 那用这么麻烦
    sparanoid
        16
    sparanoid  
    MOD
       2018-04-30 11:23:00 +08:00 via iPhone
    个人静态站的话可以试试 S3 + CloudFront + Lambda 的组合。Lambda 只负责加 HSTS 头。没有什么逻辑。迁移起来不会有问题
    whileFalse
        17
    whileFalse  
       2018-04-30 13:04:57 +08:00
    我觉得这玩意特别好……正在拿他做一些小独立功能的站点。基本除了域名没别的开销了。
    另外就是,cloudformation 的模板好难写。。。
    alphanow
        18
    alphanow  
       2018-04-30 13:26:36 +08:00
    如果会用 Python,可以选择使用 Serverless 框架比如 Chalice,还是比较高效的。
    geeti
        19
    geeti  
    OP
       2018-05-01 00:24:23 +08:00 via iPhone
    @dummyuser 可以是可以,但不是直接控制。
    这跟智能家居一样,让 alexa 打开家里的灯,是通过 skill 来向飞利浦或宜家的服务发送请求,然后他们的服务去控制终端
    geeti
        20
    geeti  
    OP
       2018-05-01 00:26:54 +08:00 via iPhone
    @whileFalse 我们内部都用 yaml 写,我觉得还行,开始麻烦点,但用的东西多了必须要用模板。为保证安全性没几周要 stack rotation
    whileFalse
        21
    whileFalse  
       2018-05-01 09:45:29 +08:00
    @geeti 我是用 yaml 写的,只是对 aws 的业务还不是很熟悉,比如授权 lambda 访问 s3 什么的都写不利索。
    stack rotation 是啥……

    另外我觉得 template.yaml 里面的元素一多就会特别长难以维护,你们会有什么工具来编译 template.yaml 或者把多个组合在一起吗,还是只有一个 template,裸写?
    geeti
        22
    geeti  
    OP
       2018-05-01 12:35:08 +08:00   ❤️ 1
    @whileFalse
    stack rotation 就是新建一个,再把原来的删掉。包括所有的 ec2, sg, vpc, policy, iam role
    我们使用 ruby 结合 yaml,需要重复使用的写成单独部分,然后引用。
    编译的好像是个内部服务,目前还没 aws 还没有做成 public service,估计过一阵子就上线
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2744 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:27 · PVG 23:27 · LAX 08:27 · JFK 11:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.