请选择 进入手机版 | 继续访问电脑版
Mozilla

火狐社区

登录    注册

QQ互联

Web 开发这十年都发生了怎样的变化?

looger 社区新人 发表于 2019-5-31 10:13:42 火狐社区移动版 | 显示全部楼层 [复制链接]
1 320
亲爱的朋友们,希望你们喜欢我们现在的这个新世界。相比 2007 年,它已经发生了翻天覆地的变化。很高兴看到大家仍然喜欢电脑。我们现在拥有的电脑比十年前多得多,同时这也带来了新的挑战。可穿戴设备、口袋设备、家具智能设备、自动驾驶汽车,它们都是计算机。我们还教会程序玩各种游戏,并打败了人类。当然,或许也只有喝酒这件事是电脑无法与人类匹敌的。
在数据学习阵营,人们最为关注的是机器学习。数据科学家的技术工具箱里有各种各样的工具,从分类到深度学习。他们一般使用 Python,并与开发人员一起将机器学习应用到各个领域。
在数据科学家的帮助下,Web App 可以使用 A/B 测试技术。该技术使用了两个不同版本的服务器为相似的用户提供服务,看看哪个版本能够更快地达成预期目标。
Airbnb、Uber 和 Netflix 等大公司同时运行着成千上万个 A/B 测试,确保能够为他们的用户带来最好的体验。像 Netflix 这样的公司拥有大量的用户,他们需要确保他们的服务无时不刻在运行。所以必须管理好服务器,必要的时候甚至需要新增数百台新服务器。
这在传统的数据中心是很难实现的,Netflix 的工程师使用的是虚拟机。亚马逊于 2006 年推出了 AWS,提供弹性云计算,也就是 EC2,这样人们就可以使用亚马逊数据中心里的虚拟机。
亚马逊已经推出了 80 余种服务,帮助其他公司快速增长。我们称之为“云”,但其实这个名字很难有准确的定义。谷歌和微软也推出了他们各自的云服务,抢夺云服务市场。这些聪明人之间展开竞争,各种疯狂的创新举动开始涌现。
首先,我们开始考虑如何让基础设施看起来更像代码。以前,我们必须先购买新服务器,接进键盘,然后安装各种依赖项。
而现在,我们使用管理配置工具(如 Puppet、Chef 和 Ansible)来实现自动化服务器配置。我们使用编程语言(如 Ruby)编写代码,根据配置来分配服务器。如果需要做出变更,只需要修改配置并更新服务器,最多就使用一下 SSH。
然后容器出现了。EC2 为我们提供了机器分配服务,所以我们的开发环境应该尽量与生产环境保持一致。
刚开始,我们使用 Vagrant 启动虚拟机,后来有了 Linux 容器,最后,Docker 出现了。我们找到了一种可以在 MacBook 上运行 Linux 的方式,而且不需要安装完整的虚拟机。
通过使用 Docker,我们可以创建与生产环境相似的开发环境。开发人员使用 Docker 镜像,将应用部署到容器里。Windows 10 发布会上有很多人在使用 MacBook
云厂商也紧追不舍,直接在他们的云上运行容器,并提供了 Marathon 和 Kubernetes 这样的编配框架。有了这些框架,开发人员就不需要担心应用的伸缩、容错、监控和发现等方面的问题。服务器是可以被收回的,不过这一次我们不再给它们起什么好听的名字了。
开发人员可以创建小型的应用,叫作微服务,这些微服务独立运行。又因为微服务对外部依赖较少,我们开始尝试使用更多新的编程语言来实现微服务,比如 Go 语言和 Java。
我们也可以使用基于 JVM 的 Scala 和 Clojure,以及相关的类库。Airbnb 就使用了多种不同的语言和数据库实现数百个微服务。
因为微服务的出现,我们不得不重新思考编程模型。因为现在我们需要协调更多、更小型的应用。于是,Apache Kafka、Google PubSub 和 RabbitMQ 出现了,它们旨在帮助服务器之间进行更好的交互。Kafka 最初由 LinkedIn 开发,后来开源出来。
越来越多的开发者、软件和创意在涌现,我希望大家仍然对计算机保持兴趣。事实上,我们完全有理由这么做。

Prove_me 社区新人
发表于 2019-6-9 22:20:38 火狐社区移动版 | 显示全部楼层
总结有点乱,不过还是谢谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表