标签 AWS 下的文章

美国互联网协会宣布倒闭

由于微软、亚马逊、谷歌、苹果和 Meta 等互联网巨头之间的关系日益紧张,已成立 9 年的美国“互联网协会”(IA)宣布将在今年年底关闭。此前,微软和 Uber 等公司都撤回了资金支持,留下了巨大的资金缺口。微软是美国“互联网协会”的最大贡献者之一,每年支付 80 万美元至 100 万美元的会费。分析人士认为,微软希望与硅谷同行保持距离,以免遭反垄断指控。

老王点评:微软几乎参加了所有主要科技组织,偏偏放弃了这个组织,只是为了保持距离有点说不过去。

AWS 本月第三次出现故障

AWS 今天因停电再次遇到了 问题,Slack、Imgur 和 Epic 商店等服务受到影响。AWS 将这些问题归咎于单个数据中心的停电,影响到 AWS 美国东 1 区的一个可用区。故障发生 12 个小时后,AWS 标明问题已经解决,但这种恢复并不一定能解决所有受影响的服务器的一切问题。这是 AWS 本月以来第三次出现故障,本月早些时候发生的两起故障导致了大量平台和产品瘫痪。

老王点评:虽然 AWS 引领了云计算的发展,并拥有最大的云计算市场份额,但是屡次出现故障已经影响了人们对 AWS 的信心。这是大规模云计算的必然结局么?

开源游戏 SuperTux 历时一年半发布新版本

受《超级马里奥》启发的知名开源视频游戏《SuperTux》发布了 0.6.3,增强了游戏性,引入了游泳、跳墙能力、新的雪砖、一些新的游戏对象等等。它可以被编译成 WebAssembly,这样它就可以在现代网页浏览器中运行了。

老王点评:看起来还不错,可以玩一下试试,这是 Linux 上早期少有的独占游戏。

C# 还有什么是可以开源的?

微软正在将 C# 语言的标准化工作转移到 .NET 基金会的公共资源库中,为正在进行的标准工作提供一个公共空间。C# 6 及以后版本的 ECMA 标准的工作将在 GitHub 上的公共工作空间中进行。从语言创新和功能设计到实现和标准化,一切都将在“开放”中进行,对话也将公开。微软表示,这将使标准化工作更加容易。

这是继 2014 年开源 C# 编译器、将 C# 语言设计放到 GitHub 上之后的开放 C# 的又一举措。

我觉得现在微软对开源、开放的追求已经到了不开放不舒服的阶段。即便是这种“真爱”背后有着完整的商业逻辑和诉求,也很难想象这样的一个软件巨头能改变的如此彻底。dotnet 也许改名做 dotopen 更合适了。

CPU 算法训练深度神经网络可比 GPU 快 15 倍

深度神经网络(DNN)的训练通常是一系列矩阵乘法操作,这是 GPU 非常擅长的工作。Rice 大学的计算机科学家和英特尔的研究人员从 2019 年就开始探讨使用 CPU 训练深度神经网络,他们采取的方法是将 DNN 训练转变成能用哈希表解决的搜索问题,这非常适合 CPU 进行处理,他们的 SLIDE 算法是设计运行在商业 CPU 上的。

他们在 2019 年的研究显示,SLIDE 训练所需时间为 GPU 的 2/7。现在,研究人员利用现代 CPU 的向量化和内存优化加速器改进了 SLIDE 的性能,用 CPU 算法训练深度神经网络比 GPU 快 15 倍。他们的代码发布在 GitHub 上。

除了硬件的提升,在算法和数学上的突破,可能更能取得意想不到的进步。

美国得州男子策划炸毁亚马逊数据中心

美国 FBI 逮捕了一名策划炸毁亚马逊弗吉尼亚州数据中心的得州男子。他试图从卧底 FBI 特工手中购买用于炸毁建筑物的 C4 塑料炸药,他认为炸毁这个亚马逊数据中心将会摧毁七成的互联网。他在和卧底特工接头时得到了哑弹,随即被捕。

这对数据中心的“真•物理攻击”。

随着业务的现代化和规模化,Kubernetes 和其背后的云原生成为如今软件系统的唯一选择。而对于众多的开发者来说, Kubernetes 并不是一个简单的问题,使用 Kubernetes 意味着需要理解 Kubernetes 背后的众多概念,你需要理解 Kubernetes 背后复杂的一套生态。但,对于一个企业来说,业务才是核心,Kubernetes 对于企业来说,更多只是一个基础设施,这个基础设施很重要,不得不有,但又无法产生价值,企业不会投入太多精力

在这种情况下,选择使用开源社区提供的发行版和各种管理工具,就成为一个并不经济的选项。对于企业来说,找到一个可以以最低心智负担接入的 Kubernetes 服务,才是最佳选择。相比于社区的众多发行版,Amazon EKS 屏蔽了 Kubernetes 底层的基础设施的部分,将 Worker 层面的工作保留给用户,既可以给予用户一定的自由,同时又可以让用户可以无痛的从传统架构切换至云原生架构上。

对于企业而言,Amazon EKS 服务,可能是一个最佳的选择。

做一个敢于承诺 SLA 的 Kubernetes 服务

和很多 Kubernetes 服务/开源软件不同,Amazon 的 EKS 服务主打的是一个高度可用、可扩展且安全的 Kubernetes 服务,并且,EKS 承诺,为客户提供了 99.95% 的可用性,让自己的客户可以安全高效的运转业务。在众多 Kubernetes 服务中,敢于提出向企业承诺可用性保障的 Kubernetes 服务,Amazon 是其中之首。这让 Amazon EKS 脱颖而出。

EKS 工作模式

Amazon EKS 通过托管控制平面节点,尽可能的降低用户在维护整个集群的成本。在使用 Amazon EKS 后,企业只需要维护执行业务所需的 Worker 节点,就可以搞定整个集群的运转。剩下的工作,就交给 AWS 来完成。AWS 为用户提供了一个可以跨多个 AWS 可用区,可扩展且高度可用的控制平面,从而确保无论在什么情况下 Kubernetes API 和 etcd 服务都可以正常运转。从而确保业务的可用性。

不仅如此,Amazon EKS 还通过整合 AWS 的其他业务,诸如 Elastic Load BalancingAWS CloudWatch 等服务,让整个 Kubernetes 集群可以更加动态的完成业务的请求而不会崩溃。

做一个功能强大的 Kubernetes 服务

企业之所以选择 AWS ,很大程度是因为 AWS 为企业提供了足够多的能力支持和足够强大的业务范围,只要你需要,AWS 就可以为你提供相应的服务。

基于用户的需求, AWS 在标准的 Kubernetes 服务的基础之上,引入了对于 AWS 更多能力的支持,包括:

  • 基于 AWS Cloud Map 的服务发现能力
  • 基于 Amazon VPC CNI 的网络能力
  • 基于 AWS IAM 验证器的权限管理能力
  • 基于 Elastic Load Balancing 的负载均衡能力
  • 基于 AWS Fargate 的无服务器计算能力
  • 基于 AWS Outposts 的混合云部署对接能力
  • 给予 AWS CloudTrail 的日志记录能力
  • 给予 AWS CloudWatch 的云监控能力

这些能力源自底层云计算强大实力的能力,非一般的云计算服务商所能比拟的。但,对于企业来说,也正是这些能力,给了企业无限的可能,企业可以放心大胆的拓展自己的业务,而无需担心自己的业务底层出现任何问题,源自于 AWS 多年的云计算研究的底气,非一般的云计算服务商所能比拟的。

做一个开放开源的 Kubernetes 服务

Kubernetes 的强大,源自于其生态链中的各种各样的软件和服务,而一个 Kubernetes 服务想要发挥最强的性能,就离不开和社区的 Kubernetes 服务进行整合,享受到来自社区的种种新能力的接入。

和一般的 Kuberntes 服务相比, Amazon EKS 提供了和上游 Kubernetes 一致的 API,这意味着如果企业希望使用 Kubernetes 生态中的插件或工具,都可以直接无痛接入,从而享受到来自 Kubernetes 社区的赋能。

同时,Amazon EKS 和上游保持一致也使得 Amazon EKS 可以十分轻松的完成 Kubernetes 集群的升级。Amazon EKS 会自动将正在运行的集群更新到最新的 Kubernetes 版本,对于企业来说,无需任何关注,集群就已经完成了整体的升级,让企业的集群可以享受到 Kubernetes 的最新特性。

不仅如此,Amazon EKS 还积极的参与到 Kubernetes SIG 的建设中,并开源出了诸如 CDK8s、FireCracker 这样的项目,来增强 Kubernetes 社区生态,帮助整个 Kubernetes 社区成长。

做一个不仅仅是 Kubernetes 的 Kubernetes 服务

Kubernetes 是云原生的未来,但对于专心于业务的企业来说,Kubernetes 可能还是太重了。如果你使用了 Amazon EKS ,则可以有一个更加简单的方案,就是在 Amazon EKS 基础之上,运行 AWS Fargate,从而将容器使用的成本进一步降低。

从 EKS 到 Fargate,变化的是提供的服务,不变的是让企业可以更加简单、低成本、无负担的切换到更好的基础设施的心态,也正是这样的心态,让 Amazon EKS 基于 Kubernetes ,但有提供了超出 Kubernetes 的服务。

总结

当你需要一个足够好用、足够安全、足够稳定的 Kubernetes 服务时, Amazon EKS 就会成为一个不错的选择;当你希望用尽可能少的精力去维护基础设施,希望将更多的精力投放在业务的研发上时,Amazon EKS 就会成为一个值得你选择的选项。如果你想要试一试 Kubernetes ,那为什么不从 Amazon EKS 开始呢?

Amazon 已经推出了自己的基于 Linux 的开源操作系统 Bottlerocket(“瓶装火箭”)。但在你兴奋地想要尝试安装和运行它之前,我必须告诉你,它不是常规的如 Ubuntu、Fedora 或 Debian 这样的 Linux 发行版。那它是什么?

Bottlerocket:来自 Amazon 的 Linux 发行版,用于运行容器

如果你不了解 Linux 容器,建议你阅读 Red Hat 的这篇文章

自从首次提出云计算一词以来,IT 行业发生了许多变化。得益于 Amazon AWS、Google、Linode、Digital Ocean 等云服务器提供商,部署 Linux 服务器(通常在虚拟机中运行)只需几秒钟。最重要的是,你可以借助 Docker 和 Kubernetes 之类的工具在这些服务器上以容器形式部署应用和服务。

问题是,当你唯一目的是在 Linux 系统上运行容器时,并不总是需要完整的 Linux 发行版。这就是为什么容器专用 Linux 仅提供必要软件包的原因。这将大大减少操作系统的大小,从而进一步减少部署时间。

Bottlerocket Linux 由 Amazon Web Services(AWS)专门构建,用于在虚拟机或裸机上运行容器。它支持 docker 镜像和其他遵循 OCI 镜像格式的镜像。

Bottlerocket Linux 的特性

这是来自 Amazon 的新 Linux 发行版提供的特性:

没有逐包更新

传统的 Linux 发行版更新过程由更新单个软件包组成。Bottlerocket 改用基于镜像的更新。

由于采用了这种方法,可以避免冲突和破坏,并可以进行快速而完整的回滚(如有必要)。

只读文件系统

Bottlerocket 还使用了只读主文件系统。在启动时通过 dm-verity 检查其完整性。在其他安全措施上,也不建议使用 SSH 访问,并且只能通过管理容器(附加机制)使用。

AWS 已经统治了云世界。

自动更新

你可以使用 Amazon EKS 之类的编排服务来自动执行 Bottlerocket 更新。

Amazon 还声称,与通用 Linux 发行版相比,仅包含运行容器的基本软件可以减少攻击面。

你怎么看?

Amazon 并不是第一个创建“容器专用 Linux” 的公司。我认为 CoreOS 是最早的此类发行版之一。CoreOS 被 Red Hat 收购,Red Hat 又被 IBM 收购。Red Hat 公司最近停用了 CoreOS,并用 Fedora CoreOS 代替了它。

云服务器是一个巨大的行业,它将继续发展壮大。像 Amazon 这样的巨头将竭尽所能与它竞争对手保持一致或领先。我认为,Bottlerocket 是对 IBM Fedora CoreOS(目前)的应答。

尽管 Bottlerocket 仓库可在 GitHub 上找到,但我还没发现就绪的镜像(LCTT 译注:源代码已经提供)。在撰写本文时,它仅可在 AWS 上预览

你对此有何看法?Amazon 会从 Bottlerocket 获得什么?如果你以前使用过 CoreOS 之类的软件,你会切换到 Bottlerocket 么?


via: https://itsfoss.com/bottlerocket-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你长期使用亚马逊 Web 服务(AWS)中的实例,你可能会遇到下面这个常见的问题,它不是因为技术性的原因导致的,更多的是因为人类追求方便舒适的天性:当你登录一台你最近没有使用的区域的新实例,你最终会创建一个新的 SSH 密钥对,久而久之这最终就会造成个人拥有太多密钥,导致管理起来复杂混乱。

本文将会介绍一种在所有区域中使用你的公钥的方法。最近,一篇 Fedora Magazine 的文章介绍了另一种解决方案。但本文中的解决方案可以进一步的以更简洁和可扩展的方式实现自动化。

假设你有一个 Fedora 30 或 31 系统,其中存储了你的密钥,并且还安装了 Ansible。当这两件事同时满足时,就提供了解决这个问题的办法,甚至它还能做到更多。

使用 Ansible 的 ec2\_key 模块,你可以创建一个简单的 Ansible 剧本来在所有区域中维护你的 SSH 密钥对。如果你需要增加或者删除密钥,在 Ansible 中这就像从文件中添加和删除行一样简单。

设置和运行 Ansible 剧本

如果要使用剧本,首先需要安装 ec2_key 模块的必要依赖项:

$ sudo dnf install python3-boto python3-boto3

该剧本很简单:你只需要像下面的例子一样,修改其中的密钥及其对应的名称。然后,运行该剧本,它会帮你遍历所有列出的公共 AWS 区域。该示例还包括一些你可能要访问的受限区域,只需根据需要来取消对应行的注释,然后,保存文件重新运行剧本即可。

---
- name: Maintain an ssh key pair in ec2
  hosts: localhost
  connection: local
  gather_facts: no
  vars:
    ansible_python_interpreter: python
  tasks:
    - name: Make available your ssh public key in ec2 for new instances
      ec2_key:
        name: "YOUR KEY NAME GOES HERE"
        key_material: 'YOUR KEY GOES HERE'
        state: present
        region: "{{ item }}"
      with_items:
        - us-east-2   #US East (Ohio)
        - us-east-1   #US East (N. Virginia)
        - us-west-1   #US West (N. California)
        - us-west-2   #US West (Oregon)
        - ap-east-1   #Asia Pacific (Hong Kong)
        - ap-south-1   #Asia Pacific (Mumbai)
        - ap-northeast-2  #Asia Pacific (Seoul)
        - ap-southeast-1  #Asia Pacific (Singapore)
        - ap-southeast-2  #Asia Pacific (Sydney)
        - ap-northeast-1  #Asia Pacific (Tokyo)
        - ca-central-1   #Canada (Central)
        - eu-central-1   #EU (Frankfurt)
        - eu-west-1   #EU (Ireland)
        - eu-west-2   #EU (London)
        - eu-west-3   #EU (Paris)
        - eu-north-1   #EU (Stockholm)
        - me-south-1   #Middle East (Bahrain)
        - sa-east-1   #South America (Sao Paulo)
  #      - us-gov-east-1  #AWS GovCloud (US-East)
  #      - us-gov-west-1  #AWS GovCloud (US-West)
  #      - ap-northeast-3 #Asia Pacific (Osaka-Local)
  #      - cn-north-1   #China (Beijing)
  #      - cn-northwest-1 #China (Ningxia)

这个剧本需要通过 API 访问 AWS,为此,请使用环境变量,如下所示:

$ AWS_ACCESS_KEY="aws-access-key-id" AWS_SECRET_KEY="aws-secret-key-id" ansible-playbook ec2-playbook.yml

另一个方式是安装 aws 命令行工具并添加凭据,如以前的一篇 Fedora Magazine 文章所述。如果你在线存储它们,这些参数将不建议插入到剧本中!你可以在 GitHub 中找到本文的剧本代码。

完成该剧本之后,请确认你的密钥在 AWS 控制台上可用。为此,可以做如下操作:

  1. 登录你的 AWS 控制台
  2. 转到 “EC2 > Key Pairs”
  3. 你应该会看到列出的密钥。唯一的限制是你必须使用此方法逐个区域来检查。

另一种方法是在 shell 中使用一个快速命令来为你做这些检查。

首先在剧本上创建一个包含所有区域的变量:

AWS_REGION="us-east-1 us-west-1 us-west-2 ap-east-1 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 eu-north-1 me-south-1 sa-east-1"

然后,执行如下循环,你就可以从 aws 的 API 获得结果:

for each in ${AWS_REGION} ; do aws ec2 describe-key-pairs --key-name <YOUR KEY GOES HERE> ; done

请记住,要执行上述操作,你需要安装 aws 命令行。


via: https://fedoramagazine.org/using-ansible-to-organize-your-ssh-keys-in-aws/

作者:Daniel Leite de Abreu 选题:lujun9972 译者:hj24 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

onnx-open-source-ai-platform

AWS 最近成为了加入深度学习社区的 开放神经网络交换 Open Neural Network Exchange (ONNX)协作的技术公司,最近在 无障碍和可互操作 frictionless and interoperable 的环境中推出了高级人工智能。由 Facebook 和微软领头了该协作。

作为该合作的一部分,AWS 开源其深度学习框架 Python 软件包 ONNX-MXNet,该框架提供了跨多种语言的编程接口(API),包括 Python、Scala 和开源统计软件 R。

AWS 深度学习工程经理 Hagay Lupesko 和软件开发人员 Roshani Nagmote 上周在一篇帖子中写道,ONNX 格式将帮助开发人员构建和训练其它框架的模型,包括 PyTorch、Microsoft Cognitive Toolkit 或 Caffe2。它可以让开发人员将这些模型导入 MXNet,并运行它们进行推理。

对开发者的帮助

今年夏天,Facebook 和微软推出了 ONNX,以支持共享模式的互操作性,来促进 AI 的发展。微软提交了其 Cognitive Toolkit、Caffe2 和 PyTorch 来支持 ONNX。

微软表示:Cognitive Toolkit 和其他框架使开发人员更容易构建和运行计算图以表达神经网络。

ONNX 代码和文档的初始版本已经放到了 Github。

AWS 和微软上个月宣布了在 Apache MXNet 上的一个新 Gluon 接口计划,该计划允许开发人员构建和训练深度学习模型。

Tractica 的研究总监 Aditya Kaul 观察到:“Gluon 是他们试图与 Google 的 Tensorflow 竞争的合作伙伴关系的延伸”。

他告诉 LinuxInsider,“谷歌在这点上的疏忽是非常明显的,但也说明了他们在市场上的主导地位。”

Kaul 说:“甚至 Tensorflow 也是开源的,所以开源在这里并不是什么大事,但这归结到底是其他生态系统联手与谷歌竞争。”

根据 AWS 的说法,本月早些时候,Apache MXNet 社区推出了 MXNet 的 0.12 版本,它扩展了 Gluon 的功能,以便进行新的尖端研究。它的新功能之一是变分 dropout,它允许开发人员使用 dropout 技术来缓解递归神经网络中的过拟合。

AWS 指出:卷积 RNN、LSTM 网络和门控循环单元(GRU)允许使用基于时间的序列和空间维度对数据集进行建模。

框架中立方式

Tirias Research 的首席分析师 Paul Teich 说:“这看起来像是一个提供推理的好方法,而不管是什么框架生成的模型。”

他告诉 LinuxInsider:“这基本上是一种框架中立的推理方式。”

Teich 指出,像 AWS、微软等云提供商在客户的压力下可以在一个网络上进行训练,同时提供另一个网络,以推进人工智能。

他说:“我认为这是这些供应商检查互操作性的一种基本方式。”

Tractica 的 Kaul 指出:“框架互操作性是一件好事,这会帮助开发人员确保他们建立在 MXNet 或 Caffe 或 CNTK 上的模型可以互操作。”

至于这种互操作性如何适用于现实世界,Teich 指出,诸如自然语言翻译或语音识别等技术将要求将 Alexa 的语音识别技术打包并交付给另一个开发人员的嵌入式环境。

感谢开源

ThinkStrategies 的总经理 Jeff Kaplan 表示:“尽管存在竞争差异,但这些公司都认识到他们在开源运动所带来的软件开发进步方面所取得的巨大成功。”

他告诉 LinuxInsider:“开放式神经网络交换(ONNX)致力于在人工智能方面产生类似的优势和创新。”

越来越多的大型科技公司已经宣布使用开源技术来加快 AI 协作开发的计划,以便创建更加统一的开发和研究平台。

AT&T 几周前宣布了与 TechMahindra 和 Linux 基金会合作推出 Acumos 项目的计划。该平台旨在开拓电信、媒体和技术方面的合作。


via: https://www.linuxinsider.com/story/AWS-to-Help-Build-ONNX-Open-Source-AI-Platform-84971.html

作者:David Jones 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出