作者介绍 李力:腾讯云的布道师、CVM技术负责人 腾讯云调度管理系统研发负责人,腾讯云布道师,主要负责腾讯公有云/私有云后台框架的设计、实现及运营,在KVM虚拟化、sdn/vpc、linux container上有多年的实践经验。
本文整理自李力在“第六届 PyCon China 大会”的分享,已获作者授权。
9 月 25 日,第六届 PyCon China 大会在深圳召开。这是这次大会的第二站活动,第一站已在上海成功举办。据官方介绍,PyCon China 过去 5 年已经在北京、上海、广州、珠海、杭州等地举办过十几次大会,影响达数万 Python 开发者。
腾讯是一家大量使用 C++ 的公司,讲者当初也是作为 C++ 程序员进入该公司的。2007 年,开始接触了 Python,很快就将其认定为一门可以”带你装逼带你飞“的语言。出于对 Python 在云计算方面的信心,李力从 2012 年开始在腾讯云推广使用 Python。
推广初期碰到了一定的阻力,这点对于任何想在公司推广新技术的人来说都是无法避免的。针对领导们的担忧,李力强调了在公有云中使用 Python 的诸多优势:
与 Linux 系统天然贴合,系统编程 API 与 glibcc 保持一致,以前的工具箱仍然适用。
是能够运行的伪代码,开发效率得到极大提升。
容易与 C/C++交互,使用 ctypes 可以很方便地调用 C 代码。
更容易保持项目的整洁。
基于这些考虑,腾讯云开始慢慢尝试引入 Python。首先就是改造接入层,使用 Flask + uWSGI + Nginx 改造了旧的 CGI 接口,使得开发工作更加简单,接口更加现代化。
另外,腾讯云还将 Python 用于系统编程,开发了公有云上的宿主机包管理工具。据说这个工具上线几年来运行都没有出什么问题。一般开发者很少有将 Python 用于系统编程的,腾讯云之所以选择 Python,是由于其标准库与 POSIX 规范天然贴合,具备优秀的文本处理和分析能力,而且还有完备的网络功能等原因。
接下来,他还介绍了云调度系统的框架,并分享了在大规模系统中的应用 Python 技术的一些坑。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。