mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-30 02:40:11 +08:00
Merge branch 'LCTT/master'
This commit is contained in:
commit
bde45514b6
@ -1,66 +1,59 @@
|
||||
|
||||
Openstack 30个经典面试问题和解答
|
||||
30 个 Openstack 经典面试问题和解答
|
||||
======
|
||||
|
||||
现在,大多数公司都试图将它们的 IT 基础设施和 Telco Infra 迁移到私有云,即OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。
|
||||
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。
|
||||
|
||||

|
||||
|
||||
### Q:1 说一下 OpenStack 及其主要组件?
|
||||
|
||||
Ans: OpenStack 是一系列开源软件,这些软件组成了一个云提供软件,也就是 OpenStack,被称为开源软件或项目栈。
|
||||
答: OpenStack 是一系列开源软件,这些软件组成了一个云供给软件,也就是 OpenStack,意即开源软件或项目栈。
|
||||
|
||||
下面是 OpenStack 的主要关键组件:
|
||||
|
||||
* **Nova** – 用于计算级别管理虚拟机,并在计算或管理程序级别执行其他计算任务。
|
||||
* **Nova** – 用于在计算级别管理虚拟机,并在计算或管理程序级别执行其他计算任务。
|
||||
* **Neutron** – 为虚拟机、计算和控制节点提供网络功能。
|
||||
* **Keystone** – 为所有云用户和 OpenStack 云服务提供身份认证服务。换句话说,我们可以说 Keystone 是一个提供给云用户和云服务访问权限的方法。
|
||||
* **Horizon** – 用于提供图形用户界面。使用图形化管理界面可以很轻松地完成各种日常操作任务。
|
||||
* **Cinder** – 用于提供块存储功能。通常来说 OpenStack 的 Cinder 中集成了 Chef 和 ScaleIO 来共同为计算和控制节点提供块存储服务。
|
||||
* **Swift** – 用于提供对象存储功能。通常来说,Glance 管理的镜像是存储在对象存储空间的。扩展存储就像 ScaleIO 也可以提供对象存储,可以很容易的集成 Glance 服务。
|
||||
* **Swift** – 用于提供对象存储功能。通常来说,Glance 管理的镜像是存储在对象存储空间的。像 ScaleIO 这样的外部存储也可以提供对象存储,可以很容易的集成 Glance 服务。
|
||||
* **Glance** – 用于提供镜像服务。使用 Glance 的管理平台来上传和下载云镜像。
|
||||
* **Heat** – 用于提供编排服务或功能。使用 Heat 管理平台可以轻松地将虚拟机作为堆栈,并且根据需要可以将虚拟机扩展或收缩。
|
||||
* **Ceilometer** – 用于提供计量与监控功能。
|
||||
|
||||
|
||||
|
||||
### Q:2 什么服务通常在控制节点上运行?
|
||||
|
||||
Ans: 以下服务通常在控制节点上运行:
|
||||
答: 以下服务通常在控制节点上运行:
|
||||
|
||||
* 认证服务 ( KeyStone)
|
||||
* 镜像服务 ( Glance)
|
||||
* Nova 服务比如 Nova API, Nova Scheduler 和 Nova DB
|
||||
* 认证服务(KeyStone)
|
||||
* 镜像服务(Glance)
|
||||
* Nova 服务比如 Nova API、Nova Scheduler 和 Nova DB
|
||||
* 块存储和对象存储服务
|
||||
* Ceilometer 服务
|
||||
* MariaDB / MySQL 和 RabbitMQ 服务
|
||||
* 网络(Neutron)和网络代理的管理服务
|
||||
* 编排服务 (Heat)
|
||||
|
||||
|
||||
* 编排服务(Heat)
|
||||
|
||||
### Q:3 什么服务通常在计算节点上运行?
|
||||
|
||||
Ans: 以下服务通常在计算节点运行:
|
||||
答: 以下服务通常在计算节点运行:
|
||||
|
||||
* Nova 计算
|
||||
* 网络服务,比如 OVS
|
||||
|
||||
|
||||
|
||||
### Q:4 计算节点上虚拟机的默认地址是什么?
|
||||
|
||||
Ans: 虚拟机存储在计算节点的 “ **/var/lib/nova/instances** ”
|
||||
答: 虚拟机存储在计算节点的 `/var/lib/nova/instances`。
|
||||
|
||||
### Q:5 Glance 镜像的默认地址是什么?
|
||||
|
||||
Ans: 因为Glance 服务运行在控制节点上,所以 Glance 镜像都被存储在控制节点的“ **/var/lib/glance/images** ”文件夹下。
|
||||
答: 因为 Glance 服务运行在控制节点上,所以 Glance 镜像都被存储在控制节点的 `/var/lib/glance/images` 文件夹下。
|
||||
|
||||
想了解更多请访问 : [**在 OpenStack 中如何使用命令行创建和删除虚拟机**][1]
|
||||
想了解更多请访问:[在 OpenStack 中如何使用命令行创建和删除虚拟机][1]
|
||||
|
||||
### Q:6 说一下如何使用命令行启动一个虚拟机?
|
||||
|
||||
Ans: 我们可以使用如下 OpenStack 命令来启动一个新的虚拟机:
|
||||
答: 我们可以使用如下 OpenStack 命令来启动一个新的虚拟机:
|
||||
|
||||
```
|
||||
# openstack server create --flavor {flavor-name} --image {Image-Name-Or-Image-ID} --nic net-id={Network-ID} --security-group {Security_Group_ID} –key-name {Keypair-Name} <VM_Name>
|
||||
@ -68,7 +61,7 @@ Ans: 我们可以使用如下 OpenStack 命令来启动一个新的虚拟机:
|
||||
|
||||
### Q:7 如何在 OpenStack 中显示用户的网络命名空间列表?
|
||||
|
||||
Ans: 可以使用 “ip net ns” 命令来列出用户的网络命名空间。
|
||||
答: 可以使用 `ip net ns` 命令来列出用户的网络命名空间。
|
||||
|
||||
```
|
||||
~# ip netns list
|
||||
@ -79,9 +72,9 @@ vrouter
|
||||
|
||||
### Q:8 如何在 OpenStack 中执行网络命名空间内的命令?
|
||||
|
||||
Ans: 假设我们想在 “qdhcp-a51635b1-d023-419a-93b5-39de47755d2d” 网络命名空间中执行 “ifconfig” 命令,我们可以执行如下命令。
|
||||
答: 假设我们想在 `qdhcp-a51635b1-d023-419a-93b5-39de47755d2d` 网络命名空间中执行 `ifconfig` 命令,我们可以执行如下命令。
|
||||
|
||||
命令格式 : ip netns exec {network-space} <command>
|
||||
命令格式 : `ip netns exec {network-space} <command>`:
|
||||
|
||||
```
|
||||
~# ip netns exec qdhcp-a51635b1-d023-419a-93b5-39de47755d2d "ifconfig"
|
||||
@ -89,7 +82,7 @@ Ans: 假设我们想在 “qdhcp-a51635b1-d023-419a-93b5-39de47755d2d” 网络
|
||||
|
||||
### Q:9 在 Glance 服务中如何使用命令行上传和下载镜像?
|
||||
|
||||
Ans: Glance 服务中云镜像上传可以使用如下 OpenStack 命令:
|
||||
答: Glance 服务中云镜像上传可以使用如下 OpenStack 命令:
|
||||
|
||||
```
|
||||
~# openstack image create --disk-format qcow2 --container-format bare --public --file {Name-Cloud-Image}.qcow2 <Cloud-Image-Name>
|
||||
@ -103,7 +96,7 @@ Ans: Glance 服务中云镜像上传可以使用如下 OpenStack 命令:
|
||||
|
||||
### Q:10 OpenStack 如何将虚拟机从错误状态转换为活动状态?
|
||||
|
||||
Ans: 在某些情况下虚拟机可能会进入错误状态,可以使用如下命令将错误状态转换为活动状态:
|
||||
答: 在某些情况下虚拟机可能会进入错误状态,可以使用如下命令将错误状态转换为活动状态:
|
||||
|
||||
```
|
||||
~# nova reset-state --active {Instance_id}
|
||||
@ -111,7 +104,7 @@ Ans: 在某些情况下虚拟机可能会进入错误状态,可以使用如下
|
||||
|
||||
### Q:11 如何使用命令行来获取可使用的浮动 IP 列表?
|
||||
|
||||
Ans: 可使用如下命令来显示可用浮动 IP 列表:
|
||||
答: 可使用如下命令来显示可用浮动 IP 列表:
|
||||
|
||||
```
|
||||
~]# openstack ip floating list | grep None | head -10
|
||||
@ -119,7 +112,7 @@ Ans: 可使用如下命令来显示可用浮动 IP 列表:
|
||||
|
||||
### Q:12 如何在特定可用区域中或在计算主机上配置虚拟机?
|
||||
|
||||
Ans: 假设我们想在 compute-02 中的可用区 NonProduction 上配置虚拟机,可以使用如下命令:
|
||||
答: 假设我们想在 compute-02 中的可用区 NonProduction 上配置虚拟机,可以使用如下命令:
|
||||
|
||||
```
|
||||
~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=e0be93b8-728b-4d4d-a272-7d672b2560a6 --security-group NonProd_SG --key-name linuxtec --availability-zone NonProduction:compute-02 nonprod_testvm
|
||||
@ -127,17 +120,17 @@ Ans: 假设我们想在 compute-02 中的可用区 NonProduction 上配置虚拟
|
||||
|
||||
### Q:13 如何在特定计算节点上获取配置的虚拟机列表?
|
||||
|
||||
Ans: 假设我们想要获取在 compute-0-19 中配置的虚拟机列表,可以使用如下命令:
|
||||
答: 假设我们想要获取在 compute-0-19 中配置的虚拟机列表,可以使用如下命令:
|
||||
|
||||
命令格式: openstack server list –all-projects –long -c Name -c Host | grep -i {Compute-Node-Name}
|
||||
命令格式: `openstack server list –all-projects –long -c Name -c Host | grep -i {Compute-Node-Name}`:
|
||||
|
||||
```
|
||||
~# openstack server list --all-projects --long -c Name -c Host | grep -i compute-0-19
|
||||
```
|
||||
|
||||
### Q:14 如何使用命令行查看 OpenStack 实例的打印信息?
|
||||
### Q:14 如何使用命令行查看 OpenStack 实例的控制台日志?
|
||||
|
||||
Ans: 使用如下命令可查看实例的命令行打印信息:
|
||||
答: 使用如下命令可查看实例的控制台日志。
|
||||
|
||||
首先获取实例的 ID,然后使用如下命令:
|
||||
|
||||
@ -147,7 +140,7 @@ Ans: 使用如下命令可查看实例的命令行打印信息:
|
||||
|
||||
### Q:15 如何获取 OpenStack 实例的控制台的 URL 地址?
|
||||
|
||||
Ans: 可以使用以下 OpenStack 命令从命令行检索实例的控制台 URL 地址:
|
||||
答: 可以使用以下 OpenStack 命令从命令行检索实例的控制台 URL 地址:
|
||||
|
||||
```
|
||||
~# openstack console url show {Instance-id}
|
||||
@ -155,28 +148,23 @@ Ans: 可以使用以下 OpenStack 命令从命令行检索实例的控制台 URL
|
||||
|
||||
### Q:16 如何使用命令行创建可启动的 cinder / block 存储卷?
|
||||
|
||||
Ans: 假设创建一个 8GB 可启动存储卷,可参考如下步骤:
|
||||
答: 假设创建一个 8GB 可启动存储卷,可参考如下步骤:
|
||||
|
||||
* 使用如下命令获取镜像列表
|
||||
|
||||
|
||||
|
||||
```
|
||||
```
|
||||
~# openstack image list | grep -i cirros
|
||||
| 89254d46-a54b-4bc8-8e4d-658287c7ee92 | cirros | active |
|
||||
```
|
||||
|
||||
* 使用 cirros 镜像创建 8GB 的可启动存储卷
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
~# cinder create --image-id 89254d46-a54b-4bc8-8e4d-658287c7ee92 --display-name cirros-bootable-vol 8
|
||||
```
|
||||
|
||||
### Q:17 如何列出所有在你的 OpenStack 中创建的项目或用户?
|
||||
|
||||
Ans: 可以使用如下命令来检索所有项目和用户:
|
||||
答: 可以使用如下命令来检索所有项目和用户:
|
||||
|
||||
```
|
||||
~# openstack project list --long
|
||||
@ -184,14 +172,12 @@ Ans: 可以使用如下命令来检索所有项目和用户:
|
||||
|
||||
### Q:18 如何显示 OpenStack 服务端点列表?
|
||||
|
||||
Ans: OpenStack 服务端点被分为 3 类:
|
||||
答: OpenStack 服务端点被分为 3 类:
|
||||
|
||||
* 公共端点
|
||||
* 内部端点
|
||||
* 管理端点
|
||||
|
||||
|
||||
|
||||
使用如下 OpenStack 命令来查看各种 OpenStack 服务端点:
|
||||
|
||||
```
|
||||
@ -204,23 +190,21 @@ Ans: OpenStack 服务端点被分为 3 类:
|
||||
~# openstack catalog show keystone
|
||||
```
|
||||
|
||||
想了解更多请访问 : [**OpenStack 中的实例创建流程**][2]
|
||||
想了解更多请访问:[OpenStack 中的实例创建流程][2]。
|
||||
|
||||
### Q:19 在控制节点上你应该按照什么步骤来重启 nova 服务?
|
||||
|
||||
Ans: 应该按照如下步骤来重启 OpenStack 控制节点的 nova 服务:
|
||||
|
||||
* service nova-api restart
|
||||
* service nova-cert restart
|
||||
* service nova-conductor restart
|
||||
* service nova-consoleauth restart
|
||||
* service nova-scheduler restart
|
||||
|
||||
答: 应该按照如下步骤来重启 OpenStack 控制节点的 nova 服务:
|
||||
|
||||
* `service nova-api restart`
|
||||
* `service nova-cert restart`
|
||||
* `service nova-conductor restart`
|
||||
* `service nova-consoleauth restart`
|
||||
* `service nova-scheduler restart`
|
||||
|
||||
### Q:20 假如计算节点上为数据流量配置了一些 DPDK 端口,你如何检查 DPDK 端口的状态呢?
|
||||
|
||||
Ans: 因为我们使用 openvSwitch (OVS) 来配置 DPDK 端口,因此可以使用如下命令来检查端口的状态:
|
||||
答: 因为我们使用 openvSwitch (OVS) 来配置 DPDK 端口,因此可以使用如下命令来检查端口的状态:
|
||||
|
||||
```
|
||||
root@compute-0-15:~# ovs-appctl bond/show | grep dpdk
|
||||
@ -231,9 +215,9 @@ root@compute-0-15:~#
|
||||
root@compute-0-15:~# dpdk-devbind.py --status
|
||||
```
|
||||
|
||||
### Q:21 How to add new rules to the existing SG(Security Group) from command line in openstack?如何使用命令行在 OpenStack 中向存在的安全组 SG(Security Group)中添加新规则?
|
||||
### Q:21 如何使用命令行在 OpenStack 中向存在的安全组 SG(安全组)中添加新规则?
|
||||
|
||||
Ans: 可以使用 neutron 命令向 OpenStack 已存在的安全组中添加新规则:
|
||||
答: 可以使用 `neutron` 命令向 OpenStack 已存在的安全组中添加新规则:
|
||||
|
||||
```
|
||||
~# neutron security-group-rule-create --protocol <tcp or udp> --port-range-min <port-number> --port-range-max <port-number> --direction <ingress or egress> --remote-ip-prefix <IP-address-or-range> Security-Group-Name
|
||||
@ -241,37 +225,37 @@ Ans: 可以使用 neutron 命令向 OpenStack 已存在的安全组中添加新
|
||||
|
||||
### Q:22 如何查看控制节点和计算节点的 OVS 桥配置?
|
||||
|
||||
Ans: 控制节点和计算节点的 OVS 桥配置可使用以下命令来查看:
|
||||
答: 控制节点和计算节点的 OVS 桥配置可使用以下命令来查看:
|
||||
|
||||
```
|
||||
~]# ovs-vsctl show
|
||||
```
|
||||
|
||||
### Q:23 计算节点上的集成桥(br-int)的作用是什么?
|
||||
### Q:23 计算节点上的集成桥(br-int)的作用是什么?
|
||||
|
||||
Ans: 集成桥(br-int)对来自和运行在计算节点上的实例的流量执行 VLAN 标记和取消标记。
|
||||
答: 集成桥(br-int)对来自和运行在计算节点上的实例的流量执行 VLAN 标记和取消标记。
|
||||
|
||||
数据包从实例的 n/w 接口发出使用虚拟接口 qvo 通过 linux 桥(qbr)。qvb接口是用来连接 Linux 桥的,qvo 接口是用来连接集成桥(br-int)的。集成桥上的 qvo 端口有一个内部 VLAN 标签,这个标签是用于当数据包到达集成桥的时候贴到数据包头部的。
|
||||
数据包从实例的 n/w 接口发出使用虚拟接口 qvo 通过 Linux 桥(qbr)。qvb 接口是用来连接 Linux 桥的,qvo 接口是用来连接集成桥的。集成桥上的 qvo 端口有一个内部 VLAN 标签,这个标签是用于当数据包到达集成桥的时候贴到数据包头部的。
|
||||
|
||||
### Q:24 隧道桥(br-tun)在计算节点上的作用是什么?
|
||||
|
||||
Ans: 隧道网桥(br-tun)根据 OpenFlow 规则将 VLAN 标记的流量从集成网桥转换为隧道 ID。
|
||||
答: 隧道桥(br-tun)根据 OpenFlow 规则将 VLAN 标记的流量从集成网桥转换为隧道 ID。
|
||||
|
||||
br-tun(tunnel bridge,即隧道桥)允许不同网络的实例彼此进行通信。隧道有利于封装在非安全网络上传输的流量,br-tun 支持两层网络,即 GRE 和 VXLAN。
|
||||
隧道桥允许不同网络的实例彼此进行通信。隧道有利于封装在非安全网络上传输的流量,它支持两层网络,即 GRE 和 VXLAN。
|
||||
|
||||
### Q:25 外部 OVS 桥(br-ex)的作用是什么?
|
||||
|
||||
Ans: 顾名思义,此网桥转发来往网络的流量,以允许外部访问实例。br-ex 连接物理接口比如 eth2,这样用户网络的浮动 IP 数据从物理网络接收并路由到用户网络端口。
|
||||
答: 顾名思义,此网桥转发来往网络的流量,以允许外部访问实例。br-ex 连接物理接口比如 eth2,这样用户网络的浮动 IP 数据从物理网络接收并路由到用户网络端口。
|
||||
|
||||
### Q:26 OpenStack 网络中 OpenFlow 规则的作用是什么?
|
||||
|
||||
Ans: OpenFlow 规则是一种机制,这种机制定义了一个数据包如何从源到达目的地。OpenFlow 规则存储在 flow 表中。flow 表是 OpenFlow 交换机的一部分。
|
||||
答: OpenFlow 规则是一种机制,这种机制定义了一个数据包如何从源到达目的地。OpenFlow 规则存储在 flow 表中。flow 表是 OpenFlow 交换机的一部分。
|
||||
|
||||
当一个数据包到达交换机就会被第一个 flow 表检查,如果不匹配 flow 表中的任何入口,那这个数据包就会被丢弃或者转发到其他 flow 表中。
|
||||
|
||||
### Q:27 怎样查看 OpenFlow 交换机的信息(比如端口、表编号、缓存编号等)?
|
||||
|
||||
Ans: 假如我们要显示 OpenFlow 交换机的信息(br-int),需要执行如下命令:
|
||||
答: 假如我们要显示 OpenFlow 交换机的信息(br-int),需要执行如下命令:
|
||||
|
||||
```
|
||||
root@compute-0-15# ovs-ofctl show br-int
|
||||
@ -293,9 +277,9 @@ actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_d
|
||||
|
||||
### Q:28 如何显示交换机中的所有 flow 的入口?
|
||||
|
||||
Ans: 可以使用命令 ‘ **ovs-ofctl dump-flows** ‘ 来查看交换机的 flow 入口
|
||||
答: 可以使用命令 `ovs-ofctl dump-flows` 来查看交换机的 flow 入口。
|
||||
|
||||
假设我们想显示 OVS 集成桥(br-int)的所有 flow 入口,可以使用如下命令:
|
||||
假设我们想显示 OVS 集成桥(br-int)的所有 flow 入口,可以使用如下命令:
|
||||
|
||||
```
|
||||
[root@compute01 ~]# ovs-ofctl dump-flows br-int
|
||||
@ -303,7 +287,7 @@ Ans: 可以使用命令 ‘ **ovs-ofctl dump-flows** ‘ 来查看交换机的 f
|
||||
|
||||
### Q:29 什么是 Neutron 代理?如何显示所有 Neutron 代理?
|
||||
|
||||
Ans: OpenStack Neutron 服务器充当中心控制器,实际网络配置是在计算节点或者网络节点上执行的。Neutron 代理是计算节点或者网络节点上进行配置更新的软件实体。Neutron 代理通过 Neuron 服务和消息队列来和中心 Neutron 服务通信。
|
||||
答: OpenStack Neutron 服务器充当中心控制器,实际网络配置是在计算节点或者网络节点上执行的。Neutron 代理是计算节点或者网络节点上进行配置更新的软件实体。Neutron 代理通过 Neuron 服务和消息队列来和中心 Neutron 服务通信。
|
||||
|
||||
可通过如下命令查看 Neutron 代理列表:
|
||||
|
||||
@ -313,14 +297,12 @@ Ans: OpenStack Neutron 服务器充当中心控制器,实际网络配置是
|
||||
|
||||
### Q:30 CPU Pinning 是什么?
|
||||
|
||||
Ans: CPU Pinning 是指为某个虚拟机保留物理核心。它也称为 CPU 隔离或处理器关联。有两个目的:
|
||||
答: CPU Pinning 是指为某个虚拟机保留物理核心。它也称为 CPU 隔离或处理器关联。有两个目的:
|
||||
|
||||
* 它确保虚拟机只能在专用核心上运行
|
||||
* 它还确保公共主机进程不在这些核心上运行
|
||||
|
||||
|
||||
|
||||
我们也可以认为 Pinning 是物理核心到一个用户虚拟 CPU(vCPU) 的一对一映射。
|
||||
我们也可以认为 Pinning 是物理核心到一个用户虚拟 CPU(vCPU)的一对一映射。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -329,7 +311,7 @@ via: https://www.linuxtechi.com/openstack-interview-questions-answers/
|
||||
作者:[Pradeep Kumar][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[ScarboroughCoral](https://github.com/ScarboroughCoral)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,116 +0,0 @@
|
||||
translating by valoniakim
|
||||
|
||||
What NASA Has Been Doing About Open Science
|
||||
======
|
||||
![][1]
|
||||
|
||||
We have recently started a new [Science category][2] on It’s FOSS. We covered [how open source approach is impacting Science][3] in the last article. In this open science article, we discuss [NASA][4]‘s actively growing efforts that involve their dynamic role in boosting scientific research by encouraging open source practices.
|
||||
|
||||
### How NASA is using Open Source approach to improve science
|
||||
|
||||
It was a great [initiative][5] by NASA that they made their entire research library freely available on the public domain.
|
||||
|
||||
Yes! Entire research library for everyone to access and get benefit from it in their research.
|
||||
|
||||
Their open science resources can now be mainly classified into these three categories as follows:
|
||||
|
||||
* Open Source NASA
|
||||
* Open API
|
||||
* Open Data
|
||||
|
||||
|
||||
|
||||
#### 1\. Open Source NASA
|
||||
|
||||
Here’s an interesting interview of [Chris Wanstrath][6], co-founder and CEO of [GitHub][7], about how it all began to form many years ago:
|
||||
|
||||
Uniquely named “[code.nasa.gov][8]“, NASA now has precisely 365 scientific software available as [open source via GitHub][9] as of the time of this post. So if you are a developer who loves coding, you can study each one of them every day for a year’s time!
|
||||
|
||||
Even if you are not a developer, you can still browse through the fantastic collection of open source packages enlisted on the portal!
|
||||
|
||||
One of the interesting open source packages listed here is the source code of [Apollo 11][10]‘s guidance computer. The Apollo 11 spaceflight took [the first two humans to the Moon][11], namely, [Neil Armstrong][12] and [Edwin Aldrin][13] ! If you want to know more about Edwin Aldrin, you might want to pay a visit [here][14].
|
||||
|
||||
##### Licenses being used by NASA’s Open Source Initiative:
|
||||
|
||||
Here are the different [open source licenses][15] categorized as under:
|
||||
|
||||
#### 2\. Open API
|
||||
|
||||
An Open [Application Programming Interface][16] or API plays a significant role in practicing Open Science. Just like [The Open Source Initiative][17], there is also one for API, called [The Open API Initiative][18]. Here is a simple illustration of how an API bridges an application with its developer:
|
||||
|
||||
![][19]
|
||||
|
||||
Do check out the link in the caption in the image above. The API has been explained in a straightforward manner. It concludes with five exciting takeaways in the end.
|
||||
|
||||
![][20]
|
||||
|
||||
Makes one wonder how different [an open vs a proprietary API][21] would be.
|
||||
|
||||
![][22]
|
||||
|
||||
Targeted towards application developers, [NASA’s open API][23] is an initiative to significantly improve the accessibility of data that could also contain image content. The site has a live editor, allowing you check out the [API][16] behind [Astronomy Picture of the Day (APOD)][24].
|
||||
|
||||
#### 3\. Open Data
|
||||
|
||||
![][25]
|
||||
|
||||
In [our first science article][3], we shared with you the various open data models of three countries mentioned under the “Open Science” section, namely, France, India and the U.S. NASA also has a similar approach towards the same idea. This is a very important ideology that is being adopted by [many countries][26].
|
||||
|
||||
[NASA’s Open Data Portal][27] focuses on openness by having an ever-growing catalog of data, available for anyone to access freely. The inclusion of datasets within this collection is an essential and radical step towards the development of research of any kind. NASA have even taken a fantastic initiative to ask for dataset suggestions for submission on their portal and that’s really very innovative, considering the growing trends of [data science][28], [AI and deep learning][29].
|
||||
|
||||
The following video shows students and scientists coming up with their own definitions of Data Science based on their personal experience and research. That is really encouraging! [Dr. Murtaza Haider][30], Ted Rogers School of Management, Ryerson University, mentions the difference Open Source is making in the field of Data Science before the video ends. He explains in very simple terms, how development models transitioned from a closed source approach to an open one. The vision has proved to be sufficiently true enough in today’s time.
|
||||
|
||||
![][31]
|
||||
|
||||
Now anyone can suggest a dataset of any kind on NASA. Coming back to the video above, NASA’s initiative can be related so much with submitting datasets and working on analyzing them for better Data Science!
|
||||
|
||||
![][32]
|
||||
|
||||
You just need to signup for free. This initiative will have a very positive effect in the future, considering open discussions on the public forum and the significance of datasets in every type of analytical field that could exist. Statistical studies will also significantly improve for sure. We will talk about these concepts in detail in a future article and also about their relativeness to an open source model.
|
||||
|
||||
So thus concludes an exploration into NASA’s open science model. See you soon in another open science article!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/nasa-open-science/
|
||||
|
||||
作者:[Avimanyu Bandyopadhyay][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/avimanyu/
|
||||
[1]:https://itsfoss.com/wp-content/uploads/2018/03/tux-in-space.jpg
|
||||
[2]:https://itsfoss.com/category/science/
|
||||
[3]:https://itsfoss.com/open-source-impact-on-science/
|
||||
[4]:https://www.nasa.gov/
|
||||
[5]:https://futurism.com/free-science-nasa-just-opened-its-entire-research-library-to-the-public/
|
||||
[6]:http://chriswanstrath.com/
|
||||
[7]:https://github.com/
|
||||
[8]:http://code.nasa.gov
|
||||
[9]:https://github.com/open-source
|
||||
[10]:https://www.nasa.gov/mission_pages/apollo/missions/apollo11.html
|
||||
[11]:https://www.space.com/16758-apollo-11-first-moon-landing.html
|
||||
[12]:https://www.jsc.nasa.gov/Bios/htmlbios/armstrong-na.html
|
||||
[13]:https://www.jsc.nasa.gov/Bios/htmlbios/aldrin-b.html
|
||||
[14]:https://buzzaldrin.com/the-man/
|
||||
[15]:https://itsfoss.com/open-source-licenses-explained/
|
||||
[16]:https://en.wikipedia.org/wiki/Application_programming_interface
|
||||
[17]:https://opensource.org/
|
||||
[18]:https://www.openapis.org/
|
||||
[19]:https://itsfoss.com/wp-content/uploads/2018/03/api-bridge.jpeg
|
||||
[20]:https://itsfoss.com/wp-content/uploads/2018/03/open-api-diagram.jpg
|
||||
[21]:http://www.apiacademy.co/resources/api-strategy-lesson-201-private-apis-vs-open-apis/
|
||||
[22]:https://itsfoss.com/wp-content/uploads/2018/03/nasa-open-api-live-example.jpg
|
||||
[23]:https://api.nasa.gov/
|
||||
[24]:https://apod.nasa.gov/apod/astropix.html
|
||||
[25]:https://itsfoss.com/wp-content/uploads/2018/03/nasa-open-data-portal.jpg
|
||||
[26]:https://www.xbrl.org/the-standard/why/ten-countries-with-open-data/
|
||||
[27]:https://data.nasa.gov/
|
||||
[28]:https://en.wikipedia.org/wiki/Data_science
|
||||
[29]:https://www.kdnuggets.com/2017/07/ai-deep-learning-explained-simply.html
|
||||
[30]:https://www.ryerson.ca/tedrogersschool/bm/programs/real-estate-management/murtaza-haider/
|
||||
[31]:https://itsfoss.com/wp-content/uploads/2018/03/suggest-dataset-nasa-1.jpg
|
||||
[32]:https://itsfoss.com/wp-content/uploads/2018/03/suggest-dataset-nasa-2-1.jpg
|
@ -0,0 +1,114 @@
|
||||
当 NASA 开始应用开放科学
|
||||
======
|
||||
![][1]
|
||||
|
||||
最近我们刚为 NASA 在它的自由开源软件上新开放了[科学][2]板块。其中发表的最新一篇文章名为:[开源手段是怎样影响科学的][3]。在这篇文章中我们主要讨论的是 [NASA][4] 在鼓励使用开源工具之后,是怎样在大量的科研机构潮流中保持自身的动态角色,实现快速发展的。
|
||||
|
||||
### NASA 是怎样使用开源手段促进科学研究的
|
||||
|
||||
NASA 将他们的整个研究库对整个公共域开放,这是一项[壮举][5]。
|
||||
|
||||
没错!每个人都能访问他们的研究库,并能从他们的研究中获益。
|
||||
|
||||
他们现已开放的资料可以大致分为一下三类:
|
||||
|
||||
* 开放的 NASA 资源
|
||||
* 开放的应用程序编程接口
|
||||
* 开放的资料
|
||||
|
||||
|
||||
|
||||
#### 1\.开放的 NASA 资源
|
||||
|
||||
采访 [GitHub][7] 的联合创始人之一和执行总裁 [Chris Wanstrath][6] 时,他向我们介绍道,一切都是从很多年前开始的。
|
||||
|
||||
NASA 的账号叫做 “[code.nasa.gov][8]“, 截至现在为止,NASA 已经[通过 GitHub 开放][9]了365个科学软件,对于一位热爱程序的开发者来说,即使一天研究一个软件,想把NASA的这些软件全部研究过来也要整整一年的时间。
|
||||
|
||||
即使你不是一位开发者,你也可以在入口网站浏览这些壮观软件合集的统计列表。
|
||||
|
||||
其中就有[阿波罗11号][10]的制导计算机的源代码。阿波罗11号空间飞行器[首次将两名人类带上月球][11],分别是 [Neil Armstrong][12] 和 [Edwin Aldrin][13] 。如果你对 Edwin Aldrin 感兴趣,可以点击[这里][14]了解更多。
|
||||
|
||||
##### NASA 开源代码促进会使用的开源代码许可:
|
||||
|
||||
这里有几种[开源代码许可][15],其分类如下:
|
||||
|
||||
#### 2\.开放的应用程序编程接口(API)
|
||||
|
||||
开放的[应用程序设计接口][16]或者应用程序编程接口在推行开源技术中起到了很大作用。与[开源代码促进会][17]类似,开放的应用程序编程接口有它们的[开放平台促进会][18]。下面这张示意图可以告诉你 API 是怎样将应用程序和它的开发者连接起来的。
|
||||
|
||||
![][19]
|
||||
|
||||
记得点击图片上面的链接看看。链接内的文章使用了简单易懂的方法解读 API ,文末将 API 总结为五种架构。
|
||||
|
||||
![][20]
|
||||
|
||||
这让人忍不住想象由专有 API 变成开放 API 会有多么大的不同。
|
||||
|
||||
![][22]
|
||||
|
||||
[NASA 的开放 API][23] 主要针对应用程序开发者,大大提高了包括图片内容在内的数据可及性,这是前所未有的。网站设有活动编辑器,为需要查阅[每日天文一图][24]板块 [API][16] 的用户们授权。
|
||||
|
||||
#### 3\.开放的资料
|
||||
|
||||
![][25]
|
||||
|
||||
在[我们发布的第一篇科学文章][3]中,我们介绍了“开放科学”板块下提到的三个国家——法国,印度和美国的多种开放资料形式。NASA 有着类似的想法和行为。这种意识形态已经被[多个国家][26]所接受。
|
||||
|
||||
[NASA 的开放数据门户][27]致力于不断扩大的可供大众使用的开放数据目录。这个数据集的内容对于任何研究活动来说都是必要且重要的。NASA 还在他们的门户网站上征集各方的数据,以一同收录在他们的数据库中。这一行为不仅是领先的,创新的,还顺应了[数据科学][28]和 [AI 深度学习][29]的趋势。
|
||||
|
||||
下面的视频讲的是学者和学生们是怎样通过大量研究得出对数据科学的定义的。这个过程十分的激动人心。瑞尔森大学罗杰斯商学院的 [Murtaza Haider 教授][30]在视频中提到了开源的出现对数据科学的改变,尤其让是旧有的封闭发展模式逐渐变得开放。而这也确实成为了现实。
|
||||
|
||||
![][31]
|
||||
|
||||
现在任何人都能在 NASA 上提交数据。正如视频中所说, NASA 的领先方案很大程度上与征集和分析优化数据有关。
|
||||
|
||||
![][32]
|
||||
|
||||
你只需要进行免费注册。考虑到论坛上的公开讨论走向和在任何统计分析环境下都能运行的数据集,这个方案在未来会有非常积极的影响,对数据的统计分析当然也会大幅进展。在之后的文章中我们还会具体讨论这些细节,还有他们和开源模式之间的相关性。
|
||||
|
||||
以上就是对 NASA 开放科学模式的一些探索成就,希望您能继续关注我们接下来的相关文章!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/nasa-open-science/
|
||||
|
||||
作者:[Avimanyu Bandyopadhyay][a]
|
||||
译者:[Valoniakim](https://github.com/Valoniakim)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
选题:[lujun9972](https://github.com/lujun9972)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/avimanyu/
|
||||
[1]:https://itsfoss.com/wp-content/uploads/2018/03/tux-in-space.jpg
|
||||
[2]:https://itsfoss.com/category/science/
|
||||
[3]:https://itsfoss.com/open-source-impact-on-science/
|
||||
[4]:https://www.nasa.gov/
|
||||
[5]:https://futurism.com/free-science-nasa-just-opened-its-entire-research-library-to-the-public/
|
||||
[6]:http://chriswanstrath.com/
|
||||
[7]:https://github.com/
|
||||
[8]:http://code.nasa.gov
|
||||
[9]:https://github.com/open-source
|
||||
[10]:https://www.nasa.gov/mission_pages/apollo/missions/apollo11.html
|
||||
[11]:https://www.space.com/16758-apollo-11-first-moon-landing.html
|
||||
[12]:https://www.jsc.nasa.gov/Bios/htmlbios/armstrong-na.html
|
||||
[13]:https://www.jsc.nasa.gov/Bios/htmlbios/aldrin-b.html
|
||||
[14]:https://buzzaldrin.com/the-man/
|
||||
[15]:https://itsfoss.com/open-source-licenses-explained/
|
||||
[16]:https://en.wikipedia.org/wiki/Application_programming_interface
|
||||
[17]:https://opensource.org/
|
||||
[18]:https://www.openapis.org/
|
||||
[19]:https://itsfoss.com/wp-content/uploads/2018/03/api-bridge.jpeg
|
||||
[20]:https://itsfoss.com/wp-content/uploads/2018/03/open-api-diagram.jpg
|
||||
[21]:http://www.apiacademy.co/resources/api-strategy-lesson-201-private-apis-vs-open-apis/
|
||||
[22]:https://itsfoss.com/wp-content/uploads/2018/03/nasa-open-api-live-example.jpg
|
||||
[23]:https://api.nasa.gov/
|
||||
[24]:https://apod.nasa.gov/apod/astropix.html
|
||||
[25]:https://itsfoss.com/wp-content/uploads/2018/03/nasa-open-data-portal.jpg
|
||||
[26]:https://www.xbrl.org/the-standard/why/ten-countries-with-open-data/
|
||||
[27]:https://data.nasa.gov/
|
||||
[28]:https://en.wikipedia.org/wiki/Data_science
|
||||
[29]:https://www.kdnuggets.com/2017/07/ai-deep-learning-explained-simply.html
|
||||
[30]:https://www.ryerson.ca/tedrogersschool/bm/programs/real-estate-management/murtaza-haider/
|
||||
[31]:https://itsfoss.com/wp-content/uploads/2018/03/suggest-dataset-nasa-1.jpg
|
||||
[32]:https://itsfoss.com/wp-content/uploads/2018/03/suggest-dataset-nasa-2-1.jpg
|
Loading…
Reference in New Issue
Block a user