QingStor 对象存储发布新版本 Python SDK

QingStor 对象存储发布了新版本的 Python SDK ,并已开源在 https://github.com/yunify/qingstor-sdk-python 。为说明新版本 Python SDK 和 旧版本 SDK 的区别与联系,本日志将会介绍新版本 Python SDK 的历史背景,变化革新和未来规划。在日志的最后,我们将会展示如何使用新版本的 Python SDK。

历史背景

在 QingStor 对象存储于 2016 年 1 月 6 日 开始公测时, 我们便在 qingcloud-sdk-python 中以 面向对象 形式的接口提供了 QingStor 对象存储的 Python SDK (为行文方便,我们在下文中将此 SDK 称为 旧版 Python SDK )。qingcloud-sdk-python 为 手动实现 的 SDK, 旨在提供 所有青云 QingCloud 服务 的访问。

变化革新

为了加快各语言 SDK 的开发效率,及减小各语言 SDK 的运维成本,我们决定将 SDK 的开 发及后期维护自动化。同时,考虑到移动端用户对空间的敏感,我们决定将 QingStor 对象存储的 SDK 与青云 QingCloud 的其它服务进行分离。

最终,我们于 2016 年 12 月 5 日 发布了 SDK 生成工具 Snips , 及使用 Snips 生成的六种语言 (Go, Ruby, JAVA, Swift, PHP, JS) 的 SDK, 如 qingstor-sdk-go 。

为了统一所有语言 SDK 的生成和维护, 我们于 2017 年 1 月 12 日 发布了 新版 Python SDK qingstor-sdk-python, (为行文方便,我们在下文中将此 SDK 称为 新版 Python SDK )。

  • qingstor-sdk-python 不再与原有的 qingcloud-sdk-python 捆绑,可以灵活地应用于更多场景。
  • qingstor-sdk-python 有着更完善的 API 设计,对开发者屏蔽了底层的细节,开发者无需关注具体的请求拼装,只需要调用对应的接口即可。

未来规划

考虑到所有语言 SDK 使用接口的统一,新版 Python SDK 的接口实现选择了 非面向对象 的形式, 即与 旧版 Python SDK 不兼容。

  • 旧版 Python SDK 除修复 Bug 外,我们将不再维护。
  • 新版 Python SDK 将由 QingStor 直接维护,享受到最及时的新功能增加, BUG 修复和技术支持。

如何使用新版 Python SDK

使用 SDK 之前请先在青云控制台申请 access key 。

准备工作

发起请求前首先建立需要初始化服务:

from qingstor.sdk.service.qingstor import QingStor
from qingstor.sdk.config import Config

config = Config('ACCESS_KEY_ID_EXAMPLE', 'SECRET_ACCESS_KEY_EXAMPLE')
service = QingStor(config)

初始化并创建 Bucket, 需要指定 Bucket 名称和所在 Zone:

bucket = qingstor.Bucket('test-bucket', 'sh1a')
output = bucket.put()

可以使用 dir(output) 的形式来获取全部可用的属性。特别的,output.headers 是一个包含返回中全部 header 的字典;如果请求失败, output.content 将会存储返回的错误信息。

Objects 操作

接下来将会展示创建,下载,删除一个 Object 的全过程:

创建 Object

with open('/tmp/sdk_bin') as f:
output = bucket.put_object(
    'example_key', body=f
)

创建一个 Object 时,允许在body中传入一个 file like 对象,也支持直接传入一个字符串。上传一个比较大的 Object 时,建议使用 file 对象,避免将全部数据一次性读入内存。

下载 Object

output = bucket.get_object('example_key')
with open(local_path, "wb") as f:
    for chunk in output.iter_content():
        f.write(chunk)

下载一个 Object 时,建议使用 output.iter_content() 来获取文件内容。如果访问 output.content ,将会把全部数据一次性读入内存。

删除 Object

output = bucket.delete_object('example_key')

使用中遇到问题请在 项目 Issues 区 或者直接提交工单反馈。

Hadoop/HBase/Spark 入侵事件通告

继前一段时间曝出大规模利用 MongoDB 和 ElasticSearch 配置漏洞进行入侵的事件之后,下一个遭遇黑客锁定的目标将包括 Hadoop , 目前已出现灾情。该入侵会给用户的 Hadoop/HBase/Spark 等以 HDFS 为存储的数据造成安全风险,请可能被此安全隐患影响的用户仔细阅读本文,并做相应的处理。

容易遭受入侵的环境:

用户自建的未配置安全验证的 Hadoop/HBase/Spark 服务,并在公网上开放了三个产品都用到的 HDFS 端口如 50070 和 HBase 的Rest服务端口如 8000。或者通过端口转发,将青云 QingCloud 提供的 Hadoop/HBase/Spark 服务的端口通过路由器、VPC 转发,曝露到公网。

入侵现象:
  • Hadoop/HBase/Spark 数据被清空
  • 留信息勒索比特币
修复办法:
  • 禁止公网开放 Hadoop/HBase/Spark 端口,例如可以在青云 QingCloud 防火墙上禁用 Hadoop/HBase/Spark 的端口,例如 50070 和8000
  • 如果对 Hadoop/HBase/Spark  的端口在路由器、VPC 上进行了端口转发,请删除该转发规则
温馨提示:

青云 QingCloud 提供的 Hadoop/HBase/Spark 服务是运行在私有网络中的,如果用户没有主动设置端口转发将 Hadoop/HBase/Spark  端口在公网曝露,不会受到该安全隐患的影响,请用户放心使用。另外,对于从大数据 Client 客户端主机直接访问 Hadoop/HBase/Spark 集群的用户,也强烈建议将 Client 主机的访问方式由密码改为 SSH Key访问以杜绝其它安全漏洞。

另外,有任何其他问题可以工单与我们联系。

携手中兴软创 青云QingCloud助力传统农业向信息化转型

北京,2017年1月19日——

企业级基础云服务商青云QingCloud(qingcloud.com)日前宣布与中兴软创联合打造江苏农产品电子商务交易中心。该中心将以农产品网络交易平台、农产品信息咨询服务平台以及农产品展示平台为核心,融合线上线下资源,整合物流配送网络,打造一个极具影响力的农产品交易综合性电商平台。借助QingCloud云计算和大数据平台,江苏农产品交易中心不仅能够轻松获得高可扩展的IT资源,还大幅提升了服务器的利用率。

 170119【新闻稿】携手中兴软创 青云QingCloud助力传统农业向信息化转型

近年来,随着农业产业化的发展,优质农产品需要寻求更广阔的市场。传统的农产品销售方式很难在消费者心中建立起安全信誉,也很难确证生态农业基地生产的优质农产品的价值。很多特色农产品局限在产地,无法进入大市场、大流通,致使生产与销售脱节,消费引导生产的功能无法实现,农业结构调整、农民增收困难重重。

江苏农产品电子商务交易中心的建立,能够有效缓解农产品买难、卖难的问题,促进农产品的流通和消费,提高农产品交易效率和效益,推动现代农业的发展。该中心充分利用相关企业在物流、金融、市场等方面的优势,加强合作,实现互利双赢。并通过市场调查,拓宽视野,扩大网上交易的覆盖面,在省内发展市、县交易中心,积极向全国延伸。

为了更好的建设和部署江苏农产品电子商务交易中心,中兴软创选择与青云QingCloud合作建设云计算中心。青云QingCloud能够在通用硬件的基础上部署虚拟化平台、分布式存储、纯软件SDN等系统实现云平台功能,并通过多重实时数据副本,解决物理设备在遭遇故障时业务数据的可靠性,确保上层业务稳定运行。QingCloud云平台内所有资源(计算、存储、网络和安全)无论是创建,还是销毁,都是秒级响应。云平台内所有资源之间都是松耦合关系,完全根据用户需求进行组合,按需加载。

中兴软创CEO鲍钟峻表示,通过与青云QingCloud紧密合作,双方共同为江苏农产品电子商务交易中心搭建数据中心与农产品电子商务交易平台,针对原有IT设备进行统一规划,充分利用现有设备及配件,提高了服务器的利用率。未来,江苏农产品电子商务交易中心将引领我国传统农业向“信息化”、“标准化”、“品牌化”的现代农业转变,还将促进特色农产品走向“高端”发展路线。

青云QingCloud推出SDN网络直通服务 Docker网络能力大幅提升

北京,2017年1月16日——

企业级基础云服务商青云QingCloud(qingcloud.com)日前宣布推出SDN网络直通服务,由IaaS平台网卡管理和Hostnic插件两部分组成。该服务能够使运行在虚拟机上的容器直接使用IaaS平台的SDN能力,从而极大地提升了容器应用的网络性能,并显著降低容器配置与维护的操作难度。

sdn_passthrough

SDN网络直通服务

在青云QingCloud推出SDN 网络直通服务之前,传统的Docker部署方案存在两大弊端:一是严重的网络性能损耗。传统的基于虚拟主机的Docker部署方案,需要采用Overlay或者Bridge网络插件实现虚拟主机内部的虚拟网络,多次虚拟化对性能带来了重重损耗。经测试,在云平台上直接使用Docker Overlay会损失近75%的性能。

二是配置复杂度高。主流的Docker管理平台需要对IP地址做转换,以提供业务对内网和外网的地址。本身Docker实现这些功能就会比较复杂,如果Docker运行在云平台上,还需要对云平台的IP再做一层地址转换,会带来额外的复杂度。

为了彻底解决传统Docker的部署问题,青云QingCloud推出SDN网络直通服务,将虚拟机上的(多块)虚拟网卡直接与Docker主机挂载,跳过虚拟主机本身的网络结构。SDN网络直通服务包括两个组件:IaaS平台网卡管理和Hostnic插件。IaaS平台网卡管理提供网卡接口,让虚拟主机能够挂载多个网卡,这些网卡可以属于相同或者不同的网络,每个网卡能够管理自己的私网IP、公网IP、负载均衡器和防火墙等功能。

Hostnic插件是青云QingCloud开发的Docker网络插件。在启动Docker实例时,可以挂载虚拟主机上的网卡,并配置IP地址和路由。启动之后,Docker实例就加入了QingCloud SDN 提供的网络,能够使用QingCloud所有的网络功能。目前,Hostnic 插件已在 Github 上开源(https://github.com/yunify/docker-plugin-hostnic)。

青云QingCloud SDN网络直通服务有如下亮点:

  • 极大提升Docker的网络性能:运行在虚拟主机上的Docker可直接使用QingCloud云平台的 SDN能力,避免两层网络重叠带来的数据包容量损耗;每一台Docker主机均可独享一个网卡的转发能力,并使用IaaS平台所有网络功能。
  • 大幅简化Docker的系统配置:只需通过创建网卡、使用Hostnic插件将网卡逐一与Docker主机挂载,便可以完成对Docker的网络配置;支持Docker主机独立挂载EIP,独立配置防火墙策略(SG),以及挂载为负载均衡 (LB)后端。

青云QingCloud CTO甘泉(Reno Gan)表示,作为QingCloud SDN 2.0的重要组件,SDN网络直通服务能够帮助Docker用户及服务商大幅提升Docker性能及网络配置易用性,将QingCloud SDN的所有能力开放给用户和合作伙伴。未来,SDN网络直通服务还将支持LXC、Kubernetes、Mesos等容器技术。

SDN网络直通的所有组件及功能均不计费,该服务目前已在北京3区和上海1区上线。更多详情:qingcloud.com/sdn_passthrough

SDN 网络直通服务上线

sdn_passthrough

极大提升 Docker 的网络性能

运行在虚拟机(VM)上的 Docker 可直接使用云平台的 SDN,避免两层网络的重叠带来的数据包容量损耗;

每一台 Docker Instance 均可独享一个网卡的转发能力,并使用 IaaS 平台所有网络功能。

大幅简化 Docker 的系统配置

只需通过创建网卡、使用「Hostnic」插件将网卡逐一与 Docker Instance 挂载,便可以完成对 Docker 网络的配置;

支持 Docker Instance 独立挂载 EIP,独立配置防火墙策略(SG),及挂载为负载均衡 (LB)后端。

传统 Docker 部署方案的问题

1.严重的网络性能损耗

传统的基于 VM 的 Docker 部署方案,需要采用 Overlay 或 Bridge 网络插件实现 VM 内部的虚拟网络,多次虚拟化对性能带来了重重损耗。经测试,在云平台上直接使用 Docker Overlay 会损失近 3/4 的性能。

2.配置复杂度高

主流的 Docker 管理平台需要对 IP 地址做转换,以提供业务对内网和外网的地址。本身 Docker 实现这些功能就比较复杂,而在此基础上,Docker 如果运行在云平台上则还需要对云平台的 IP 再做一层地址转换,会带来额外的复杂度。

上述问题的根源在于,云平台和 Docker 平台都有自己的 SDN 实现,功能重合,使用时需要嵌套。

SDN 网络直通解决方案的优势

SDN 网络直通功能使 Docker 可直接使用 IaaS 平台的 SDN,代替其自身的网络功能,从而达到提高性能和简化使用的目地。SDN直通包含两个方面:

1.IaaS 平台网卡管理

提供网卡接口,让虚拟主机能够挂载多个网卡,这些网卡可以属于相同或者不同的网络。每个网卡能够管理自己的私网 IP、公网 IP、负载均衡器和防火墙等功能。

2.Hostnic 插件

Hostnic 是青云开发的 Docker 网络插件。在启动 Docker 实例的时候,可以挂载虚拟主机上的网卡, 并配置 IP 地址和路由。启动之后, Docker 实例就加入了云平台 SDN 提供的网络,能够使用云平台所有的网络功能。

7 步简单操作即可赋予 Docker 应用强大的网络功能

  1. 网络规划:对于一套基于 Docker 的业务系统,有两个网络需求:A. 管理网络, 用于部署和管理云主机;B. 用户网络,用于运行基于 Docker 的业务。
  2. 启动虚拟主机,并安装 Docker。
  3. 创建网卡, 并挂载到虚拟主机上。
  4. 启用并配置 Hostnic 插件,启动 Docker 实例。
  5. 添加 Docker 实例为负载均衡器后端。
  6. 绑定防火墙。
  7. 给网卡绑定公网 IP。

* SDN 网络直通所有组件及功能均不计费。

更多详情请参看《SDN 网络直通》用户指南。

Elasticsearch 入侵事件通告

Elasticsearch 入侵事件通告

继前一段时间曝出大规模利用 MongoDB 配置漏洞进行入侵的事件之后,又曝出大规模利用 Elasticsearch 配置漏洞进行入侵的事件。会给用户的 Elasticsearch 数据造成安全风险,请可能被漏洞影响的用户仔细阅读本文,并做相应的处理。

容易遭受入侵的环境:
用户自建的未配置安全验证的 Elasticsearch 服务,并在公网上开放了 Elasticsearch 端口,例如 9200。或者通过端口转发,将青云提供的 Elasticsearch 服务的端口通过路由器、VPC转发,曝露到公网。

入侵现象:
  • Elasticsearch 数据被清空
  • 留信息勒索比特币
修复办法:
  • 禁止公网开放 Elasticsearch 端口,例如可以在青云防火墙上禁用 Elasticsearch 的端口,例如 9200
  • 如果对 Elasitcsearch 的端口在路由器、VPC 上进行了端口转发,请删除该转发规则
温馨提示:
青云提供的 Elasticsearch 服务是运行在私有网络中的,如果用户没有主动设置端口转发将 Elasticsearch 端口在公网曝露,不会受到该漏洞的影响,请用户放心使用。
另外,有任何其他问题可以工单与我们联系。

青云QingCloud推出可配置副本策略 性价比大幅提升

 北京,2017年1月9日——

企业级基础云服务商青云QingCloud(qingcloud.com)日前推出可配置副本策略,用户的主机或者硬盘可以根据需求,灵活地选择同数据中心多副本或者单副本策略。用户通过配置合适的副本策略,不仅能够降低总体使用成本,还能够提升I/O性能,性价比获得大幅提升。

 可配置副本

可配置副本策略(主机、硬盘)

在推出可配置副本策略之前,青云QingCloud默认采用同数据中心多副本策略,即数据存储时,会产生多份实时副本,并存放于同一数据中心的不同物理节点。通过多副本保护机制,数据将拥有冗余副本,当数据所存放的物理节点宕机时,能够通过其他物理节点的副本对数据进行实时恢复,确保数据存储的高可靠性,以及相关服务的高可用性。

而同数据中心单副本策略,即数据存放时,只会产生1份副本,没有冗余副本进行保护。对于一些自身拥有副本保护机制的集群应用,如Hadoop,在主机层面开放单副本策略,将避免两层副本机制的重叠。从而在确保数据安全的前提下,降低副本的总数量,不但提升了应用的运行效率,同时也对总体使用成本进行了优化。同时,采用单副本策略的主机和硬盘避免了网络同步产生的I/O开销,因此I/O性能也会有所提升。

用户在选择同数据中心单副本策略后,主机在关机状态下的使用费用降低20%,硬盘费用亦降低20%。同时,在主机或者硬盘创建之后,用户可以随时调整副本策略。更改策略时,主机或硬盘的运行状态均不会发生中断。目前,该功能已在上海1区正式开放。

可配置副本策略功能上线

为了让用户获得更好的使用体验,同时降低用户使用成本,青云QingCloud 推出了可配置副本策略。该策略支持用户的主机或者硬盘可以根据需求,灵活地选择同数据中心多副本或者单副本。

创建主机创建硬盘

用户通过配置合适的副本策略,不仅能够降低总体使用成本(用户在选择同数据中心单副本策略后,主机在关机状态下的使用费用降低 20%,硬盘费用亦降低 20%),还能够提升 I/O 性能,性价比获得大幅提升。

在推出可配置副本策略之前,青云QingCloud 默认采用同数据中心多副本策略,即数据存储时,会产生多份实时副本,并存放于同一数据中心的不同物理节点。

通过多副本保护机制,数据将拥有冗余副本,当数据所存放的物理节点宕机时,能够通过其他物理节点的副本对数据进行实时恢复,确保数据存储的高可靠性,以及相关服务的高可用性。

而同数据中心单副本策略,即数据存放时,只会保存原数据,即只有 1 份副本,没有冗余副本进行保护。

对于一些自身拥有副本保护机制的集群应用,如 Hadoop,在主机层面开放单副本策略,将避免两层副本机制的重叠。从而在确保数据安全的前提下,降低副本的总数量,不但提升了应用的运行效率,同时也对总体使用成本进行了优化。同时,采用单副本策略的主机和硬盘避免了网络同步产生的 I/O 开销,因此 I/O 性能也会有所提升。

在主机或者硬盘创建之后,用户可以随时调整副本策略,每个资源每天最多更改 2 次。更改策略时,主机或硬盘的运行状态均不会发生中断。

instancesvolume

目前,该功能已在上海 1 区正式开放,欢迎大家体验。

MongoDB 入侵事件通告

近日曝出大规模利用 MongoDB 配置漏洞进行入侵的事件,会给用户的 MongoDB 数据造成安全风险,请可能被漏洞影响的用户仔细阅读本文,并做相应的处理。

容易遭受入侵的环境:

用户自建的运行了未配置身份验证的 MongoDB 服务,并在公网上开放了 MongoDB 端口,例如 27017

入侵现象:

  • MongoDB 数据被清空
  • MongoDB 运行缓慢

修复办法:

  • 增加 MongoDB 密码验证,参考: https://docs.mongodb.com/manual/tutorial/enable-authentication/
  • 禁止公网开放 MongoDB 端口,例如可以在青云防火墙上禁用 MongoDB 的端口,例如 27017

温馨提示:

青云提供的 MongoDB 服务是运行在私有网络中的,并且已经考虑了安全加固措施,同时配置了身份验证,不会受到该漏洞的影响,请用户放心使用。

另外,有任何其他问题可以工单与我们联系。

青云QingCloud受邀参加“思科2017财年大中华区合作伙伴峰会”

广州,2016年1月4日——

近日,青云QingCloud作为独家金融云平台解决方案提供商,受邀出席思科在广州举行的“2017财年大中华区合作伙伴峰会”。

此次峰会以“Full Speed 全速前进”为主题,旨在搭建一个合作伙伴与思科及大中华区的合作伙伴高管们进行对话的行业平台,共同探讨渠道战略,把握技术动向,进而实现对整个行业的深度认知和全局把控。

思科会议1青云QingCloud以其提供的优质的云计算服务,赢得了超过65,000家企业客户的信任。其中,在银行、保险、证券等金融行业的优势尤为突出,先后为中国银行、招商银行、北京农商行、泰康保险、阳光保险、91金融等多家企业提供金融云解决方案。

在本次会议上,青云QingCloud以银行业为例,详细阐述了QingCloud资源池化技术、分布式技术、自动调度技术、智能运维技术、应用编排部署和开放API这六大关键技术要素如何协助银行业完成业务模式创新、服务模式创新和运营模式创新。

思科会议2

 青云QingCloud展区

会后,思科负责人表示,作为国内优秀的云服务提供商,思科非常希望与青云QingCloud保持友好合作关系,携手为中国广大用户及合作伙伴提供安全可靠的云服务。