繁华无服务器建筑

问与答:Huste Digital Group的媒体公司无服务器架构首席技术官

繁华无服务器建筑

Huste Digital Group是面向千禧一代女性的最大优质出版商,每月吸引超过8000万读者到像BuffelLo.com精英日报.This past March,它的首席技术官和联合创始人泰勒·洛夫在推特上说,公司已经完全采用了无服务器架构."We serve upwards of a billion requests to 80 million people using SSR preact and react per month,"他写道.“我们是一个在规模上蓬勃发展的现代javascript示例。”

我们的工程经理Sara Chips坐下来谈恋爱,作为一系列问答的一部分,讨论跨部门和行业的工程团队如何工作和协作。他们更深入地探讨了他在《无服务器》中的背景,以及为什么《忙碌》完全采用这一点是正确的决定。

Sara Chipps:你认为Serverless为Huste的技术和文化带来了哪些好处?

Tyler Love:我从技术方面开始。I've built automated infrastructure at a few places in the past.那时,we built everything and pushed it out in Chef.这是在Docker甚至是一个可行的解决方案之前,它感到非常痛苦。

但每次我们想改变的时候,或者我们想要一种新的堆栈,我们重复了很多工作。所以我认为它添加到堆栈中的是将基础设施代码从等式中去掉的能力,而不必反复构建相同的东西。We've been able to focus a little more on other challenges.

在文化方面,我觉得这个答案有点含糊不清。我想说,我们只是能够成为拥有更多专注技能的工程师。文化部分与任何无服务器的东西都有点分离。但是我们发现工程师们可以尝试一些新的东西。There's not an old known,既定的做事方式,你不质疑或人们不愿意改变。所以从文化的角度来看,这是有帮助的。

所以你不需要一个DevOps团队?

我们没有DevOps团队。我想有两件事。有更少的DevOps,而且日常维护也更少。但这也意味着我们都接受了一点。我们仍然有代码可以处理从部署到监视的所有事情,and you still have to know how those things work.We're just using cloud tools to do more of it,但是我们仍然需要对它进行配置,控制日志的结束位置以及类似的事情。

So I've seen a spectrum of hiring strategies,你说的话让我想知道你是否需要更丰满的人。或者,你是否考虑到了专业,只是鼓励人们更加了解这部分环境?

从工程师到工程师,这似乎有些不同。我认为最有趣的部分是一些工程师倾向于专注于微观问题,并且工程师们非常简洁地解决这些问题。然后一些工程师喜欢做更彻底的改变。

我一直在考虑全栈前端和后端工程师之间的区别,稍微少一点。But I kind of relate to both of them.It's really fun to just write the simplest solution to something that seems basic,and also to zoom out so you can figure out how to configure something that's super high level.

繁华传媒集团的地产吸引了8000多万游客。当涉及到无服务器的公司时,I bet that your traffic is on the higher side.你会说那是准确的吗?

是啊,我会的。据我所知,we are the highest trafficked user-facing Serverless website.我很确定那是真的。但我敢肯定,有些人在做内部工作,使用无服务器,这远远超出了我们的规模。

Have you run into any challenges because of that,或者你只是惊讶于有更多的人不这么做,因为你不这么做?

It was certainly challenging figuring out the user-facing side at the beginning.如此之多以至于我们承担了一些风险,but discovered it wasn't possible to do a few things.幸运的是,所有这些事情现在似乎都解决了。

但是,我认为亚马逊并没有打算让面向用户的网站通过API网关和lambda提前发布。所以,我们最后会等待他们添加一些特性,然后交叉手指,让他们出现。这是基本的东西,比如在某些条件下处理响应代码,它比你想象的要简单。就像做一个重定向,当他们启动重定向时,你可以连接它,但是你不能通过它应该从你的函数重定向到的URL。所以我们不得不去砍一些像这样的疯狂的东西。

真的,太疯狂了。

我将我们的许多经验与它如何改变DevOps进行了比较。这才是真正改变的。我们仍在用JavaScript编写业务逻辑。另一方面是监测和记录,所以我们不知道我们要在那里做什么。没有什么约定,最佳实践,or any plug-and-play tools.但是所有的日志都出现在某个地方,so we took on a lot of that ourselves.

That wound up being a really nice solution.默认情况下,我们在Amazon上的所有日志都会转到CloudWatch。我们只是拥有一个与我们的应用程序完全隔离的功能,这个功能可以将它推广到我们选择的任何服务中。所以我们只需要看一下SDK,or whatever the API is that we want to send the logs to.我们想知道是要取样还是把它们全部送到那里,我们只需要写下什么最终成为一个采用任何监控工具的函数。

当我们开始的时候,that solution was scary and challenging.我们想,“我们如何看到堆栈跟踪?”最后我们得到了一些比我们开始时好一点的东西。

That's neat.你把日志放在同一个地方吗?

当我们移到无服务器的地方时,我们从地面开始建造所有的东西。我们有CloudWatch分析,我们画出你想看到的基本图形,它取代了CPU和内存利用率。

现在我们对执行时间感兴趣,监测冷启动,以及它们的影响。我们收养了斯卡利,如果我们真的需要全面的技术搜索,我们的大部分日志都会放在哪里。有一百万种监控产品。

我没听说过斯盖尔。

它很容易被采用。We also have Sentry,这是应用程序崩溃的另一个原因。这就是我们的堆栈跟踪500个错误的地方。所以在这两个工具之间,我们能够从日志记录和监控中得到我们想要的所有东西。我们能够轻松地重现生产和开发中发生的错误和问题,以便修复它们。我们也可以说,"If I write this log statement and the application here,我知道如何用它建立一个图表,或者看看音量,或者只是看看生产中发生了什么。”

你看到尽头了吗?你面前有什么话要说吗?“我们再也不能这样运作了吗?”或者你是在一个你对基础设施的设置感到满意的地方?

我对它的设置非常满意。我认为我们下一个要考虑的扩展问题是在未来一两年的某个时候对数据存储进行分区,这就揭开了一系列新的问题。Serverless已经把它从等式中去掉了。

I'll be honest,不过。对于我们的具体工作量,我们是一个阅读量很大的网站。我们仍然为数据做大量的写操作,但我们不必互相衡量。

这是有道理的。

现在我们的数据集越来越大,因此,我们的伸缩性问题从来没有特别具有挑战性,当它只服务于用户生成的HTTP请求时。

我想说起来很有趣,不过。A decade ago,thinking about the amount of traffic we have would've been terrifying to most people.现在,我认为任何一个相对称职的工程师团队都不可能用各种不同的技术来解决这个问题。

这很好地过渡到剩下的一个问题。是什么让你很紧张,让你晚上睡不着?

This is the fun part of what I get to do.What keeps me up at night is always making sure there are engaging,为工程师工作提供有趣的项目。So,knowing what we need as a business,然后将其融入到工程挑战和问题中,这些挑战和问题将真正吸引工程师。我认为你需要了解这个问题的背景,以及解决这个问题需要什么样的工程技能。

I think that's an important part of the culture that I am trying to build on the team here.我们是一个相对较小的工程团队,所以15到20个人都很忙,感觉他们在学习什么,同时也很难产生业务影响。

我想因为我们选择的技术,你有实验的自由。然后,那些卑鄙或重复的东西,我们已经用我们选择的技术堆栈解决了问题。所以我认为graphql和serverless已经做到了,所以您没有配置Web服务器来以某种方式执行不同的操作。它使我们专注于业务逻辑和您为销售而编写的实际代码,这很有趣。

学习如何Stack Overflow可以帮助各种规模的工程团队(从10到10000)提高生产力。

为了清晰起见,本次采访已进行了编辑和浓缩。

作者

Stack Overflow for Enterprise
企业的堆栈溢出是私有的,为组织的问题和答案提供安全的家。使您的团队能够在不中断其工作流程的情况下找到和共享信息。

标签

相关文章

Comments

  1. 很好的面试。

留下答复

您的电子邮件地址将不会发布。已标记必需字段*

此网站使用Akismet来减少垃圾邮件。了解如何处理评论数据.