写点什么

纽约公共图书馆的云旅程

  • 2019 年 10 月 11 日
  • 本文字数:3817 字

    阅读完需:约 13 分钟

纽约公共图书馆的云旅程

“图书馆是思想的产房,是历史苏醒的地方。”-Norman Cousins


几年前,我有幸与 Jay Haque 见面,那是他已经开始领导纽约公共图书馆的 (NYPL) 云旅程。我在 Dow Jones 正在经历类似的旅程,所以我们有机会分享我们的故事。几周前,我高兴地看到 Jay 对我的一篇文章进行了评论,在更多地了解了一些他在 NYPL 的旅程的进展之后,我觉得他对最佳实践的看法可以让更广阔的市场受益。原来我并不孤单,今天 Jay 和他的团队成为了 2016 AWS City on a Cloud 创新挑战赛的获胜者。谢谢你,Jay,我期待着与您的见面,也希望看到 NYPL 继续变革为客户提供技术的方式!


(像这个故事一样基于真实经验的故事往往是最有价值的,我愿意介绍更多这种类型的文章。如果您有想要分享的故事,让我们来谈谈如何发布在我的博客上!)


-Stephen


orbans@amazon.com


@stephenorban


当 Stephen 邀请我就我的培育出色的云中心的经验写点文字时,我再次拜读了他的“企业云旅程的 7 个最佳实践”这篇文章,发现我所在公司的经验与这些实践是一致的。


纽约公共图书馆的旅程直接证明了扩展的概念。大型团队或大型项目不必开始企业云旅程,您可以从小范围的集中工作开始,在建立您的实践并为扩展做准备的过程中加以调整。通过无比强烈的愿景和“空中掩护”带来的大量自上而下的支持与财政支援是任何技术专家梦寐以求的,但我们知道这种情况很少发生。如果没有这样的条件,可以从某个小地方开始,无论有多小。


我们的旅程从一个简单的想法开始:在云中构建一个配置管理平台,以证明我们的主要网站的重新设计和我们著名的 Digital Collections 网站的发布会从中获得巨大的好处。我们很快意识到云 (具体的说是 AWS) 通过提高自动化水平加快了项目完成速度,通过合理调整大小降低了成本,提供了冗余,并支持其他方法因受制于成本而无法实施的无缝扩展功能。我们的旅程低调地起步,但取得的成功却十分惊人;我们世界一流的开发、产品、项目和开发运营团队使用 AWS 为我们赢得了 2016 AWS City on a Cloud 创新挑战赛最佳实践类别优胜者的荣誉。


我们与 AWS 合作伙伴 Control Group 合作制定了一项计划,该计划不仅为 Web 资产提供了必要的基础设施,还提供了一个配置管理平台,这将加快未来项目的速度。这里的核心理念是,虽然 Web 资产总有一天会停用,但管理平台将根据需求扩展并将无数站点的基础设施构建过程自动化。通过不到 50% 的团队时间分配,项目将在不超过 12 周的时间内完成。


为了最清楚地说明我们的项目与 Stephen 的七个最佳实践如何保持一致,我将采用相同格式呈现我的经验。(如果您还没有阅读这篇文章,我非常建议您转到此处进行阅读。)


1. 提供高管支持

自上而下的高管支持将为您的计划提供目标和重要地位。至于扩展,从您可以获得的开始,即使只是一位高管或一个项目。在不断获胜之路上注重获得更多高管支持。这将帮助您获得系统性的支持。


我们最初讨论旅程时,图书馆有两个正在进行的主要 SaaS 项目、一位新任命的首席技术官、有限的人力资源且面临潜在的预算缩减。可想而知,启动大规模、集中式云计划的需求很低。


但我们知道,我们必须从某个地方开始,否则就有落后于行业趋势的风险。我们的首席技术官支持在云中构建一个配置管理系统,作为一个可以快速完成的低风险、低资源利用率的项目。一旦该项目体现了云的价值,首席技术官和其他高管的兴趣就会显著增加,成为支持剩余的云旅程的基础。


为了获取对项目的必要支持,我专注于以下五个因素:


利用现有项目。我们将该配置管理平台定位为一种用来加快未来高优先级项目速度的手段。通过构建提议的平台,我们会加快需要基础设施的未来项目的执行速度。


从小处着手。这使剩下的三个因素起到对我们有益的作用:


最大程度地提高成功的可能性并降低风险。项目小到以至于几乎不可能失败。万一真的失败了,成本和业务影响也很低。


快速执行。拖延的小项目会成为麻烦事。重点是立即展现出成果并逐步向更大的项目过渡。


讨论可扩展性。虽然项目很小,但我们重点强调了它的不同组件如何扩展以实现未来的成功。


2. 教育员工

技术人员一直在不停学习 — 这是很自然的。在扩展方面,应关注用于学习的力量或可用时间。然后,激励您的团队,并提供任何您可以提供的资源。集中精力学习能提供最大即时回报的核心元素。对我们来说,安排、配置管理和代码是重中之重,因此我们集中精力首先学习这些元素。


在配置管理平台项目的开始阶段,团队充分意识到了我们的宏伟目标。启动我们的第一个 AWS 项目之前的几周排满了有关该服务的讨论:我们可能在何处如何利用它、合作伙伴演示,以及有关其他组织正在进行的工作的学习。这建立了兴奋感和强烈的学习意愿。随着项目的开始,通过在我们的 PMO 实践中对资源时间的分配和首席技术官层级的支持获得了足够的“空中掩护”。最后,在没有 AWS 提供的课程的情况下,我们参加了合作伙伴提供的研讨会。


3. 打造试验文化

在利用合作伙伴帮助启动旅程的过程中,我们专注于打造试验文化。


合作伙伴在实施前很好地展示了技术理念,为系统工程团队提供了充足的时间来探索技术并在我们的 AWS 沙盒环境中进行测试。沙盒提供了一个灵活的环境,可让系统工程师快速地构建和拆解堆栈,并对复杂问题的各种解决方案进行试验。我们通过各种方法探索了 Web 基础设施的实例化,这些方法包括使用 AMI、使用 Puppet 的完整安排,以及从外部存储库或 S3 同步代码。这种级别的试验以及与合作伙伴的深入讨论提供了一个论坛,将我们的理念与日益涌现的最佳实践进行融合,确保我们有效地权衡各种竞争技术。


在我们旅程的早期播种的试验文化现已生根发芽。我们鼓励不同专业的支持工程师和开发人员对云的各个方面进行试验。在为期一天的内部黑客马拉松上,我们利用 Elastic Transcoder 设计并酝酿出一个媒体转码管道。如果没有 AWS,我们不可能实现这种级别的试验自治,AWS 为组织提供了无需大量资金投入便可以进行试验的手段。


4. 吸引合作伙伴

如果没有控制组,我们不可能取得如此快的


进展。在扩展方面,人员扩充为我们的小型系统工程团队注入了经过证实的 AWS 专业知识。控制组为客户提供了既有的最佳实践,用于将在云中进行系统构建和部署的过程自动化,他们在自己的软件开发操作中也使用这些最佳实践。他们作为服务提供商和作为用户获得的有关 AWS 的实践经验大幅缩短了我们的学习曲线,从而帮助加快了我们的旅程。


旅程早期阶段的合作伙伴参与为教育我们的团队、内部试验和最佳实践在我们工作中的应用提供了支持。这种密切关系带来了持续的成功。


5. 创建云卓越中心

随着我们最初的 AWS 项目接近完成,我们会专注于“下一步工作”这个元素。在扩展方面,我们专注于进一步扩大工作。这需要大量支持。


开发和系统工程团队讨论了如何在 AWS 上构建未来的项目。这让我们开始理解角色将如何改变、我们将如何合作和意识到这种工作方式将对总体速度产生多大影响。在我们将主要网站迁移到 AWS 以及随后独立处理在该平台上发布备受期待的 Digital Collections 网站的工作的过程中,我们保留了合作伙伴支持。Digital Collections 网站很大且很复杂,足以真正检验我们在云中运营的能力。我们的系统工程和开发团队在发布之前的几个月已经积累了足够的专业知识,而且控制组可随时在一旁提供帮助,这让我们对自己为高要求的网站设计出正确的解决方案的能力充满了信心。


我们仍在非常努力地实践 CCoE,甚至在实践开发运营的概念。我们正在了解竞争力要素有哪些,并提出有关如何平衡这些竞争力要素的难题。例如,我们想要速度,但不想牺牲系统的完整性。我们想要标准化,但不想要太大的开销。这些问题均从优化的角度提出:我们已将交付基础设施的速度从数月缩短到了仅仅几天,然而我们仍在不停地询问“如何才能做得更快、更好?”


6. 实施混合架构

这对纽约公共图书馆来说必不可少,因为我们有一个必须继续运营的重要的本地基础设施。我们的主要重点是在 AWS 中构建新产品并将这些站点 (轻松地) 迁移到平台上。组织对于将既有内容迁移到云的需求正在增长;然而,执行迁移所需的资源有时可以更好地利用到推进新产品上。在扩展方面,我们必须明智地挑选我们的迁移目标,并考虑针对既有系统的各种选项。迁移是一个选项,弃用是另一个选项。同时,我们积极地支持混合架构。


7. 实施云优先策略

我们已经做到了一部分。我们在 AWS 上构建以 Web 为中心的系统的工作很出色,而这些系统几乎都是在云中构建的。事实上,我们在本地部署新的 Web 解决方案一定有迫不得已的技术原因。我们仍然需要学习如何在云中部署其他类型的业务应用程序,甚至在这些情况下,我们通常也会问 SaaS 产品是否是可行的选择。旅程中获得的成功为云优先策略铺平了道路;成本和效率方面的好处说明了一切并让人意识到云优先是最佳策略。


总结


Stephen 和我第一次见面分享我们的故事时,NYPL 刚刚开始其云旅程。自那时以来,我们取得了长足的进步,成功模式比当时更为清晰。Stephen 通过七个最佳实践对此所做的精湛阐述对任何组织的旅程的任何阶段都有好处。我希望这篇文章对正在考虑如何以及从何处开始旅程的人有帮助。我很愿意听你们讲自己的故事,并将你们的故事添加到成功案例集合库,每一个故事都是一个学习的机会。


作者简介:


Jay Haque


开发运营和企业计算总监 | 纽约公共图书馆 | 关注 NYPL:NYPL 存档


jayhaque@nypl.org | 关注我:@jayhaque


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-york-public-librarys-cloud-journey/


2019 年 10 月 11 日 13:49355
用户头像

发布了 1515 篇内容, 共 57.7 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

京东T9纯手打688页神笔记,SSM框架整合Redis搭建高效互联网应用

tony带水

Java 编程 程序员 Java工程师 秋招

800页神仙MySQL文档+140道高频面试题,面试不再怕被问MySQL

tony带水

Java 编程 程序员 Java工程师 秋招

京东首席系统架构师教你如何搭建高可用高并发系统架构

tony带水

Java 编程 程序员 Java工程师 秋招

吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

tony带水

Java 编程 程序员 Java工程师 秋招

京东Java高开岗三面算法+数据库+设计模式,复习1个月成功拿offer

Java-fenn

Java 程序员 面试 java面试 Java面试题

实战 | 电商业务的性能测试(一): 必备基础知识

霍格沃兹测试开发学社

面经分享:美团面试也太难了!4面美团终成Offer

tony带水

Java 编程 程序员 Java工程师 秋招

创建自定义 Spring Cloud Gateway 过滤器 - spring.io

欧子说Java

Java spring 程序员 SpringCloud Java技术提升

开源一夏 | count(列名)、 count(常量)、 count(*)区别

六月的雨在infoQ

开源 count MySQL 数据库 MySQL InnoDB 8月月更

发布三小时,标星11K!这份霸榜GitHub的图解网络笔记到底有多强?

Java魔鬼筋肉人

Java 面经 Java工程师 秋招 内推

太厉害了!分享一份京东T9大牛私藏文档:从NIO一直学到Netty

tony带水

Java 编程 程序员 Java工程师 秋招

BaaS助力区块链技术开启下一轮应用热潮

旺链科技

区块链 产业区块链 企业号九月金秋榜 BaaS平台

阿里大牛最新公开压轴的“Redis深度笔记”,GitHub已标星81.6K

Java魔鬼筋肉人

Java 面经 Java工程师 秋招 内推

【TypeScript】深入学习TypeScript模块

海底烧烤店ai

typescript 8月月更

MyBatis快速上手与知识点总结

欧子说Java

Java 程序员 后端 mybatis Java技术提升

太牛了!腾讯T9耗时69天整理出最全架构师进阶核心知识点笔记

tony带水

Java 编程 程序员 Java工程师 秋招

独角兽资深架构师用7大部分13章节,彻底讲透SpringBoot生态体系

Java海

Java 程序员 面试 大厂实践 spring-boot

电商出海,独立站小程序化能更好的连接人和应用

Speedoooo

小程序 移动开发 DTC 独立站 移动框架

对象准备入手前端开发,我连夜给ta准备了这篇git指南之终极奥义

ike潮

GitHub Git Submodule git fetch 企业号九月金秋榜 git命令

【高并发】亿级流量场景下如何为HTTP接口限流?看完我懂了!!

冰河

并发编程 多线程 高并发 协程 异步编程

敲开大厂大门!1213页LeetCode算法刷题神册(全彩),GitHub万星仅是开始,搞定算法,面试官随便问!

Java技术识堂

Java 面经 Java工程师 秋招

【TypeScript】深入学习TypeScript枚举

海底烧烤店ai

typescript 8月月更

微服务网关鉴权:gateway使用、网关限流使用、用户密码加密、JWT鉴权

不想秃头

Java 程序员 微服务 网关

阿里P9核心人员纯敲出一份Java架构师面试题,助我拿下字节、蚂蚁、滴滴三家offer

Java面试突击

Java 数据库 开源 程序员 面试

前后端数据接口协作提效实践

百度Geek说

Java 数据 企业号九月金秋榜

GitHub标星90K,这份持续霸榜的Leetcode刷题手册到底有多强?

Java魔鬼筋肉人

Java 面经 Java工程师 秋招 内推

五份阿里手册,Java 开发 + 性能调优 + 算法 + 面试手册 + 项目实战,直击秋招跳槽人痛点,一

Java-fenn

Java 程序员 面试 java面试 Java面试题

清华大牛终于把「图解计算机网络、操作系统」学习笔记总结出来了

Java魔鬼筋肉人

Java 面经 Java工程师 秋招 内推

阿里技术四面 + 交叉面 +HR 面成功拿到 offer,谁说双非本科进不了大厂?

Java-fenn

Java 程序员 面试 秋招 Java面试题

阿里P8耗时一个月肝出这份26W字Java面试手册,在Github标星30K+

Java魔鬼筋肉人

Java 面经 Java工程师 秋招 内推

分享一份美团T9大牛总结的神仙微服务架构设计模式PDF

tony带水

Java 编程 程序员 Java工程师 秋招

纽约公共图书馆的云旅程_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章