这是Evernote如何将3个PB的数据传达给Google的云
Evernote去年决定它希望远离运行自己的数据中心并开始使用公共云来运营其流行的便携式服务。星期三,它宣布狮子的工作份额已经完成,为最后的用户附件保存。
该公司签署了与谷歌合作,作为迁徙过程的一部分,Tech Titan派遣了一支工程师团队(在一个案例中,携带甜甜圈)结束,以确保该过程取得成功。
Evernote希望利用云来帮助根据机器学习的特点,以便它已经开发。它还希望利用不必运行数据中心的灵活性。
该举动是公司将工作量远离数据中心的更广泛趋势的一部分,他们越来越多地使用公共云提供商。虽然过渡需要大量的工作和适应,但Evernote记入谷歌以帮助迁移。
为什么要搬到云端?
绝对有很多工作要做。 Evernote的后卫是在假设其应用程序将在公司的双加州数据中心运行,而不是在公共云上运行。那么为什么要完成所有工作?
此举背后的许多关键驱动因素将熟悉云奉献者。Evernote员工不得不花时间维护公司的数据中心,做更换硬盘驱动器,移动电缆和评估新的基础架构选项的东西。
据该公司业务副总裁Ben McCormack表示,虽然这些功能是保持Evernote Service的整体健康和表现的关键,但他们没有向客户提供额外的价值。
“我们对与团队的行为团队的团队进行了非常现实,我们无法竞争云提供商在供应中获取的成熟程度,在管理系统,ET克特拉,”McCormack说。“我们总是会追赶,这只是一个疯狂的情况。“
McCormack表示,当Evernote员工考虑刷新数据中心,他们遇到的关键问题是他们不知道他们在五年内需要在数据中心中所需的内容。
Evernote有几个公共云提供商可以选择,包括亚马逊Web服务和微软Azure,这是公共云市场的更大的参与者。但麦考克表示,公司目前的重点与谷歌的专业领域之间的相似性对选择很重要。Evernote拥有大量的非结构化数据,公司希望通过机器学习做更多。
“你在一起加上这两个,谷歌是那个空间的领导者,”麦卡克说。“如此有效地,我会说,我们正在制定战略决定,并进行战略赌注,即今天对Evernote的重要领域以及我们认为将来重要的领域是谷歌擅长的相同领域。”
机器学习是谷歌平台的Evernote CTO Anirban Kundu的亮点,他表示,Google帮助提供的更高级别的服务为新的和改进的功能提供基础。Evernote一直在推向一套基于机器学习的新功能,以及Google服务,如其云机器学习API帮助。
虽然成本通常被吹捧为云迁移的好处,但McCormack表示,它不是Evernote迁移的主要驾驶员。虽然公司将储蓄脱离举动,但他表示,成本不是转型的限制。
Chreg Chiemingo的技术团队,该公司的沟通高级总监GREG Chiemingo的技术团队,在AWS或Azure等其他提供商上使用谷歌的决定是由Evernote的推动。他在一封电子邮件中表示,在加入Evernote之前在谷歌大约十年的谷歌中首席执行官Chris O'Neill,进来在决定之后有助于谈判。
它是怎么发生的
一旦Evernote于10月份与谷歌签订合同,那么时钟就会勾选。麦考克斯说,该公司希望在新的一年之前完成迁移,当用户希望在轨道锤上的服务与一系列的活动中的服务。
在年初开始之前,Evernote需要迁移50亿笔记和50亿附件。由于元数据,如缩略图的图像,如这些附件所包含,McCormack表示,该公司必须迁移120亿附件文件。不仅如此,而且团队不能丢失它的任何大约3个卑鄙的数据。哦,是的,并且需要熬夜的Evernote服务。
McCormack表示,一个Evernote团队的初步考虑因素是弄清楚其应用程序的核心部分可以完全抬起并转移到谷歌的云中,以及需要以某种方式修改哪些组件作为过渡的一部分。
转型的一部分涉及重新加工,即Evernote服务处理网络。它以前使用UDP组播来处理其一部分其图像识别工作流,这在公司自己的数据中心中工作得很好,在那里它可以控制所涉及的网络路由器。
但谷歌的云中没有这种技术没有。Kundu表示,Evernote必须重新制作其应用程序,以使用基于队列的模型,利用Google的云Pub / sub服务。
Evernote无法迁移所有用户数据,然后将交换机从其本地服务器从其上俯冲到谷歌的云。相反,该公司必须将其后端应用程序重新搜索阶段迁移,其中一些数据存储在不同的地方。
好消息是转换不需要更改客户端。Kundu说,这是Evernote迁移成功的关键,因为所有的服务用户都及时升级他们的软件。
Evernote与Google工程师的参与者对麦考克的令人愉快的惊喜。该团队全天候提供全天候处理Evernote的疑虑,谷歌还将其工程师团队送到Evernote的设施,以帮助迁移。
这些谷歌员工遍及帮助解决任何技术挑战,这些挑战正在随时随地。这类工程师到工程师参与是谷歌所说的是其服务方法的重要组成部分。
对于迁移的一个特别重要的部分,谷歌的工程师在周日来临,携带甜甜圈,以供全部出席。然而,麦考克的不仅仅是,他对工程师的协作精神印象深刻。
“我们有时间......我们已经使用了与谷歌云存储的方式与谷歌云存储联系,我们有[谷歌]工程师,他们正在审查该代码,给出反馈,真正觉得你很少见的合作伙伴关系,”麦考克斯说。“谷歌希望看到我们成功,并且愿意帮助我们帮助我们到达那里的界限。”
最终,整个迁移花费大约70天,从签订合同签署到最终完成。根据麦克文克的说法,迁徙的主要部分在12月的大约10天的课程中发生。
得到教训
如果有一件事Kundu和McCormack是晶莹剔透的,那就是即使是最好的计划也需要一个愿意将飞行调整到新环境的团队。Evernote的迁移是一个采取某些步骤的过程,评估发生的事情,并根据他们在做出广泛的测试和模拟后响应他们呈现的情况来修改公司的方法。
此外,他们还指出,一旦将所有字节加载到云中,迁移上的工作不会停止。即使在经过广泛的测试,Evernote团队遇到了在谷歌环境中使用的新约束,一旦它被生产在生产中,并轰炸了来自Live Evernote用户的活动。
例如,Google使用实时迁移技术将虚拟机从一个主机移动到另一个主机,以便应用修补程序并解决硬件问题。虽然这种情况令人难以置信地迅速,但是在完全负载下的Evernote服务会有一些问题,需要(仍然需要)优化。
kundu说,在将切换到GCP的切换之前,Evernote已经测试过实时迁移,但这还不够。
Kundu表示,当申请投入生产时,用户行为和负载可能与测试条件不同。“这就是你必须准备好处理那些边缘案件的地方,并且必须意识到迁移发生或完成的那一天不是你所做的那一天。你可能会在一个月或其他什么中看到这个问题。“
在麦卡网的意见中,另一个关键课程是云准备处理任何类型的工作量。Evernote每年大约大约一次评估迁移,它只是大约13个月前,该公司感到自信,云过渡将是成功的。
“云已经达到了成熟度水平和一系列功能,这意味着你不太可能在云中运行,”麦卡世说。
这并不是说它不需要努力。虽然云确实为Evernote提供了福利,但是该公司不会从运行自己的数据中心,他们仍然不得不控制他们的环境,并且愿意失去一些遥测,他们习惯了私人数据中心。
Evernote的工程师也做了很多关于自动转换的工作。将用户从服务的本地基础架构转移到Google云存储器的附件由一对定制的自动化系统处理。该公司使用了傀儡和Assible用于迁移持有用户注意数据的数百个碎片。
迁移的直接好处
Evernote对谷歌云迁移的关键好处之一是公司提供减少延迟和改进其国际客户的连接一致性。Evernote的后端现在没有以地理上分布的方式运行,但谷歌全球网络投资立即提供了改进。
“我们已经看到了在应用程序的某些地区的页面加载时间在申请的某些部分中减少了很大,”麦考克斯说。“我不会说它到处都是,但我们开始看到谷歌力量的好处和谷歌在全球纤维网络上的交通方面得到了贡献。”
目前,该公司仍在将其上次用户附件迁移到GCP的过程中。然而,当完成这一点时,该公司将能够告诉其用户,由于Google云的功能,他们在服务中的所有数据都在休息时加密。
从Evernote的角度来看,该公司的工程师增加了自由,以使用云服务完成工作。而不是必须处理物理基础架构来激发新功能,而是开发人员现在在使用新服务以进行开发功能时,现在有一个整个选项。
“基本上,任何存在的GCP功能,它们都被允许访问,播放 - 在预算的限制范围内,显然是 - 并且能够建立反对。”
此外,当备份,中断和故障转移时,云提供了公司的额外灵活性和安心。
接下来是什么?
该公司寻求进一步的,该公司有兴趣利用谷歌现有的一些现有的服务。Evernote正在调查它如何使用Google Cloud函数,这让开发人员编写代码片段,然后响应事件触发器运行。
Evernote也是Alpha测试一些谷歌云平台服务,尚未发布或透露给公众。Kundu不会提供有关这些服务的任何细节。
在类似的静脉中,Kundu还不会详细介绍未来的Evernote功能。然而,他说,由于迁移而导致的新功能有“几个”。