海派开源潮流社区

一起参与开源.共同打造海派开源潮流社区(Kernel/Fedora/CentOS/Perl/Drupal)

Perl Catalyst和云计算
in

Perl Catalyst and Cloud Computing
Perl Catalyst和云计算
翻译者:17LAMP。NET Bob

Eight years ago I was sitting in a focus group sponsored by IBM, who was interested in seeing the reaction to a potential product offering they called, "Utility Computing".  The pitch was a solution to a classic problem faced by all administrators of IT infrastructure, which is to find the correct mix of anticipating growth versus making good use of existing equipment when planning hardware procurement.  In the classic data center model, a company would manage expensive stacks of hardware, much of which would be underutilized due to the fact it costs less to have extra equipment than to run the risk of not being able to scale.  However, few companies have the unlimited budget required to plan for every possible IT contingency.  IBM's basic idea was that your computing resources could be provided to you from an external utility service, in the same way as electricity and water, and if you needed more you could simply, "turn the tap".  This could save a company a lot of money, since you'd only pay for what you used.  Additionally, you'd reduce the risk associated with failing to plan correctly for increases in a company's IT requirements.

八年前我坐在一个由IBM发起的专题小组中,他们很有兴趣看到称为“效用计算”的潜在产品所引起的反响。pitch是所有IT基础构架管理员长期面对的一个经典问题的解决方案,这是在硬件采购时充分利用现有设备,找到预期增长的正确组合。在标准的数据中心模式中,公司将负责管理昂贵的成堆硬件,其中大量的资源未被充分利用,这使得拥有额外的设备在运行风险上的成本更少。然而,极少公司为每一次IT意外事故计划了无限的预算资金。IBM最根本理念就是你所需的计算资源由外部程序服务来提供给你,如同电流和水的方式,如果你需要更多那么只要简单的“打开龙头”就可以了。这可以为企业节省很多资金,因为你只需要支付你使用的那部分就可以了。另外,还可以节省公司IT需求增长中计划错误所带来的风险。

The concept of Utility Computing was well received by our group.  Most of us could see the benefits.  Objections included some fear over allowing important company assets, such as proprietary information stored in our data warehouses, to reside outside company walls on the equipment of a third party, possible even on hardware shared by competitors.  For some of us in regulated industries there were legal concerns about data security.  In the end, the consensus around the table was that such a service could find a home in our respective infrastructures, but it wouldn't replace them.

效用计算的概念被我们很好的接受了。我们中的大多数人看到了它的好处。而反对它的声音包括超过容许的重要公司的资产,比如保存在我们数据仓库里的私人信息,把公司的壁垒建立在第三方的设备上,甚至可能跟竞争对手共享相同的硬件。对于我们有些管理企业的人在数据安全上有着法律意识的关注。最终协商一致认为,这种服务可以在我们各自的基础设施建立一个家园,但不能取代它们本身。

The Utility Computing concept IBM showed me was primarily targeted at large companies who were trying to reduce the risk and costs associated with maintaining large data centers.  In contrast, Cloud Computing services, such as Amazon's EC2 (http://aws.amazon.com/ec2), are accessible even to small companies or individuals operating on a shoestring budget.  Anyone can create an account from their web browser.  This opens up all sorts of possibilities.  It can allow a startup to scale quickly without having to incur the expense of purchasing or leasing expensive equipment.  It can also allow an established company to purchase extra computing power when they need a place to experiment but don't have available internal resources.  Lastly, the availability of prebuilt 'images' for most Cloud Computing providers can allow you to very quickly roll out a new service to your clients, as long as a server image for your need exists.

IBM的效用计算概念显示的主要目标群体是希望能减少在维护大型数据中心相应风险和花费的大公司。相比,云计算服务,如Amazon的EC2(http://aws.amazon.com/ec2),甚至是可以被小成本预算的小公司和个人所接受的。任何人都可以通过他们的网络浏览器创建一个帐号。这就打开了所有的可能性。它可以快速开启和形成规模,而不必承担购买或租赁昂贵设备的开支。它也可以使一个已经建立服务的公司购买更多的计算能力,当他们需要试验的空间而又没有足够可用内部资源的时候。最后可用的预编译好的镜像可以使大多数云计算服务提供商让你非常迅速的为你的客户推出一项新的服务,只要你需要的服务镜像是存在的。

Recently I had the change to speak with Frank Speiser, who is leading several Cloud Computing projects that should be of interest to the Perl Community and to Catalyst developers in particular.

最近我有一次和Frank Speiser交谈的机会,他主导了一些云计算的项目,这些项目可能使Perl社区尤其是Catalyst的开发者们感兴趣。

Q. What is Cloud Computing and why is it important to Perl?

问:什么是云计算以及它为什么对Perl很重要?
 
Cloud computing is on-demand, virtualized computing. You don't need to own the hardware, or even see it, in order to run your software.
云计算是一种按需求的虚拟化计算。你不需要拥有硬件,甚至看不到硬件,然而能运行你的软件。
 
Most cloud computing providers offer the ability to pay-as-you-go, and to buy computing power as you need it. In many cases, you configure a "machine image", which is a base OS install plus all of the stuff you'd like to run on it, and then you’d freeze it to use when you spawn up an instance of that machine image.

大多数的云计算供应商可以提供预会费的形式,购买你需要的计算能力。在很多情形下,你装配一个“机器镜像”,这是一个基本的操作系统再加上所有你需要的运行在它上面的东西,然后你就可以把它固定下来使用,把它孵化到你的机器镜像上。
 
This is the natural outgrowth of "commodity computing". As a software owner, or software builder, you really care about access to computing power, and that is scalable and available. Cloud computing solves a lot of problems that have been a real issue for growing businesses or businesses with peak load times. You used to have to plan to carry enough hardware to cover your peak, plus some additional room for insurance. Now, you just have to be able to balance and scale your application if you have thought about architecting in such a way as to allow your app to scale horizontally.

这是“商品化计算”的自然结果。作为软件拥有者,或者软件建立者,你实际上只需要关注使用的计算能效,并且这些都是可计量和有效的。云计算为业务增长和高峰负荷业务解决了很多的问题。过去你必须计划足够的硬件来保障峰值,和一些保险起见的附加空间。现在,只需要平衡和衡量的你的应用程序,如果你构想过允许你的程序扩充规模的设计方式。
 
If you properly design your applications so that you can scale them by balancing / routing requests, you can build machine images or application profiles of what you need, and as demand for them increases, you can scale horizontally. There are Facebook-app-specific cloud computing instances out there, as those apps are self-contained in scope by nature, and it lends itself very well to provisioning only when demand warrants it, but large organizations can take advantage of this type of thing too. For instance, why would you run a machine that costs $3-8 per hour with power and maintenance factored in, when you can run a machine for 1/10 to 1/20th of that -- so long as the stability for such a thing has been demonstrated? If there's a way to mitigate that risk, it's almost your duty as an IT Manager to make sure thos cost savings are realized. There are companies like GoGrid, Joyent, Amazon and Terremark all operating in this space, in slightly different ways. The opportunity to cut your costs is out there, though.

如果你真的开始这样设计你的程序,那么你就可以用平衡请求和路由选择请求的方式来衡量它们,你可以建立你需要的机器镜像或程序轮廓,而当它们的需求增加时,你可以扩充规模。比如Facebook的程序云计算,那些应用程序的性能在一定范围内是完备的,只有当请求批准的时候它才能很好的供应本身的需求,但是大型机构也可以利用这种类型。例如,为什么你要运行一个花费每小时3-8美元电费和维护费的机器,尤其是当你可以只需要消耗十分之一到二十分之一费用的时候——尤其是那种方式的稳定性已经被证实的情况下?如果有一种方法可以缓解这种风险,这几乎是作为IT管理员的责任来保障节省那些花费。一些公司比如 GoGrid,Joyent, Amazon 和 Terremark 都是以些微差异的运行在这个平台上。然而,还是有机会节省你的开销。
 
Q. What Cloud Computing related projects exist for Perl developers?

问:云计算和哪些Perl开发的项目有关系?
 
Currently, there are only two Perl projects relating specifically to cloud computing of which I am aware. There's Jeff Kim's great work on Net::Amazon::EC2 (http://search.cpan.org/dist/Net-Amazon-EC2), which allows for the management of Amazon's virtualized services through a Perl API, and then there's the Net::Cloud (link forthcoming) project. I registered that namespace about two years ago, but back then there was only really one viable cloud computing option, and it was a closed Beta, which I was fortunate enough to get into with a recommendation from Ruv Cohen over at Enomaly (a provider of cloud management software).  The project is due for its initial release on CPAN within the next few weeks. I'm working to roll in as many initial cloud provider services as has been feasible. Some of my work extends Jeff Kim’s Net::Amazon::EC2 modules and I have to give him a lot of credit because he was the first one to do a lot of this stuff, so when I needed to settle on a standard, I went with what Jeff had done.

目前,据我知道的只有两个Perl项目明确与云计算有关。一个是Jeff Kim在 Net::Amazon::EC2 (http://search.cpan.org/dist/Net-Amazon-EC2)上的出色工作,它允许Amazon的虚拟化服务可以通过一个Perl程序接口的管理,所以有了Net::Clound(链接即将来临)项目。我在两年前注册了那个命名空间,但它只有一个可以用的云计算选项,并且还是封闭的Beta测试版,但是我足够幸运的在Enomaly(一个云管理软件提供商)上通过Ruv Cohen的邀请进入了。这个项目在CPAN上的最初发布后的几个星期内即会到期。我尽可能的投入更多为初级云提供者服务。我的一些工作扩展了Jeff Kim的 Net::Amazon::EC2的模块,并且我给了他很多信任,因为是他最先做了很多这方面的工作。所以当我需要弄清一些标准的时候,我得去匹配一下Jeff做过了什么。

Q. What is the best way for a Perl programmer to get started developing for the Cloud?

问:一个Perl程序员着手云开发的最好方式是什么?
 
There's already a big resurgence in Perl around the Catalyst (http://www.catalystframework.org/ ) MVC framework, headed up by Matt Trout, and Moose (http://search.cpan.org/dist/Moose) by Stevan Little. I think people should give those a look, because it gets them developing with a proper design pattern that is well suited for projects that organizations want completed RIGHT NOW. To that end, I went and set up two machine images over at Amazon's EC2 that have everything you need to get up and running with an MVC framework, in the time it takes you to register an account and read through the instructions.

在以Matt Trout和Stevan Little的Moose (http://search.cpan.org/dist/Moose)为首的Ctalyst MVC 构架的周边已经有一个Perl的重大再现。我相信人们会看看这些,因为它使他们有合适设计模式来适应各团体目前想要完成的项目。为此,我在Amazon的EC2上安装了两个机器镜像,这使你们需要的东西可以实现和运行在MVC 架构上,届时你可以注册一个帐号和通过指令来阅读。
 
The machine ids at Amazon are:

这些在Amazon上的机器id是:
 
ami-bdbe5ad4    developer-tools/Debian-Etch_Catalyst_DBIC_TT.manifest.xml
ami-9fbe5af6    developer-tools/Fedora8-Catalyst_DBIC_TT.manifest.xml
 
You have one instance with Debian (Etch) and one with Fedora8. Take yer pick. The Debian instance includes svk and git, but aside from that, there’s pretty similar in terms of what you can do. I set them up in such a way that if you actually do something that gains traction, there’s source control there for you to call in the cavalry. Just remember to save your work somewhere, because if a cloud instance is terminated for any reason, you lose your unsaved work.

你可以看到一个用Debian(Etch)和一个Fedora8的例子。Debian中包含了svk和git,但是除此之外,你所能做的事情是非常相似的。我建立了这种方式的镜像,如果实际上你做了一些获得利益牵引的事情,在你请求支援的时候就有了源头的控制。只需要在一些地方记得保存你的工作,因为如果你的云场因某些原因突然终止了,你将会丢失没有保存的工作。
 
The effort to get up and running ON the cloud is minimal -- and it should be. Architecture and scaling, which has been like a black art for years, shouldn't be so difficult. There's plenty of room to be clever, so smart folks will always be employed in this field. There are better problems to solve. Porting existing apps and building Perl (http://www.perl.org/ ) extensions to make that possible are a great way to get paid while you use cloud services. There’s also a real need and opportunity for Perl development in many organizations to simplify architectural designs that grew out of dive-from-the-hand-grenade necessities of scaling to meet demand. In this economy, saving people money is not going to go out of style.

建立和运行在云上所需求的努力是非常微小——然而必须的。构架和访问多年以来它已经像一个黑色艺术,但应该不会那么困难。这里有充足的空间来发挥才智,所以聪明的人将永远受雇于这个领域。还有一些更好的问题需要解决。当你使用云服务的时候,移植已有的应用程序并且建立Perl扩展来实现它是一个很好的获取收入的方式。并且很多组织机构也确实对Perl开发有需要和机会来简化构架设计,简化构架与轰炸式的访问需求相适应来满足需要。在今天的经济状况中,节省人力和资金是不失作风的一种方法。
 
I remember the first time I saw Brad Fitzpatrick's slides on how he grew LiveJournal (http://www.livejournal.com/), and I remember thinking, "Wow, that is briliant, but it is also crazy." He has a slide in there specifically intended for people not to faint, because that's how complicated it grew to be, managing all those devices. I mean, all that hardware was just amazing… AND IT WORKED! The fact that LiveJournal and Danga produced all that great stuff is a testament to the folks that worked there, and they were doing their thing well in advance of this whole emergence of cloud computing.  But the fact is, Brad Fitzpatrick and his team isn't available everywhere, and the risk associated with trying to duplicate that would prohibit most places (in fact all but a few) from ever replicating that success.

我记得第一次看到Brad Fitzpatrick介绍他过去如何发展LiveJournal(http://www.livejournal.com/)的幻灯片,并且我还记得当时的想法“哇,那真是杰出,但它也很疯狂。”他的幻灯片特意针对那些人们,让他们不要犹豫,因为这是它发展和管理设备的困难程度。我的意思是,所有那些硬件都只是令人惊异的……,然而它运行起来了!LiveJournal和Danga做出的所有那些伟大东西的现实,是对那些为整个云计算出现作着准备工作的人们所下达的一份遗嘱。然而事实是,Brad Fitzpatrick和他的小组并不是在任何地方都有效,并且试图复制这个工作的风险将使大多数地主(事实上除少数之外几乎所有)永远被禁止去成功的复制它。

Nowadays, you have cloud computing, Hadoop filesystem (http://hadoop.apache.org/), perlbal (http://danga.com/perlbal/) and memcached (http://www.danga.com/memcached/) (thanks Danga!), and either squid or commercial reverse proxy systems. A lot of these can both be moved to the cloud and be made more service-like. This is right up Perl’s alley.  The more you can decouple the service from the hardware, the better off you’ll be in your organization. Unless your organization makes its money by selling hardware solutions coupled with software. In which case, grab a life raft now.

今天,你拥有云计算、Hadoop文件系统 (http://hadoop.apache.org/)、perlbal(http://danga.com/perlbal/)和memcached(http://www.danga.com/memcached/)(感谢Danga!),和squid或者商业反射代理系统。这些很多都可以转移到云上并且制作出更多的服务。这正好是Perl的胡同。你能从硬件中分离出越多的服务,你就越能从你的组织中脱离出来。除非你的组织是配上软件来出售硬件的解决方案。在这种情况下,现在先抢到救生筏吧。

Having these images are a big time saver for people wanting to get started using Perl and Catalyst.  Catalyst can take some time to install, particularly if you are limited to an older version of Perl.  Here's a recent article with a step by step plan to getting started with EC2: http://www.onlamp.com/pub/a/onlamp/2008/05/13/creating-applications-with-amazon-ec2-and-s3.html

这些图片可以为希望开始使用Perl和Catalyst的人节省大量的时间。Catalyst需要花费一些时间来安装,尤其当你被限制在旧版本的Perl上。这里还有一篇最近的文章是关于如何逐步用EC2开始设计的: http://www.onlamp.com/pub/a/onlamp/2008/05/13/creating-applications-with-amazon-ec2-and-s3.html

Additionally, look to the future to see documentation about how to get started with the Catalyst EC2 images integrated into the core Catalyst manual.  Or see the online documentation at Amazon: http://aws.amazon.com/ec2

另外,展望将来可以看看关于如何从EC2图像开始综合到核心的Catalyst手册的文档。或者看看Amazon上的在线文档:http://aws.amazon.com/ec2

Come back soon when we have a screencast video showing step by step how to get started using the EC2 Catalyst development machine images.

回头我们可以看到一个屏幕录像一步步的展示如何从使用EC2 Catalyst开发机器的图像开始。

Q. What are the next steps for your Cloud Computing plans related to Perl?  Where would you like to see Perl in the Cloud Computing space over the next 18  to 24 months?

问:你们在计划相关云计算的Perl的下一步是什么?你们希望在接下来18到24个月内在哪里可以看到云计算空间中的Perl。

The goal of this project is to allow for the basics, and build from there. You should be able to start, stop, load balance and cache across one or multiple clouds: think "DBI for cloud computing" with the various "condensers" for each cloud provider or virtualization API being congruent to the DBD effort that has proven a very successful and economical Perl implementation in many organizations. Perl is great at integration, and holding things together. As such, it makes an excellent choice for a transfer layer among computing services. Now that the basics of the project are in place and we’re about to roll out the initial release, there will be quite a few opportunities for Perl developers to get involved in contributing to cloud computing. There’s a lot of brilliant Perl developers out there, and I think that they only get amped up about new and improving technologies. The potential of virtualized cloud computing is enough to do that, I’d hope. I am inviting anyone that wants to contribute to the project. There’s room enough for everyone, and this type of project is going to have a few different outgrowths. There’s a lot of room for involvement.

这个项目的目标是允许一些从这里建立基础。你可以从一个或多个云上开启、停止、加载平衡和缓存:想一想带着各种各样电容器的“云计算数据库接口”,为每个云提供商或者虚拟化API在DBD的努力下统一起来,被证实在很多组织机构中是一个非常成功和经济的Perl实现方式。Perl伟大在于与环境的协调,并且控制所有东西到一起。这样,它在计算服务中提供了一个优良的转换层。现在项目的基础已经到位,而我们即将推出一个初级版本,介时将有一小部分机会提供给Perl开发者参与到贡献云计算。此外还有很多杰出的Perl开发者,我想他们只能再更进一步提高技术。虚拟化云计算的潜能是足够做那些事情的,我曾经希望这样。我正在邀请一些希望贡献这个项目的人。这里对每个人都有足够的空间,并且这种类型的项目会有一些不同的副产物。相关的空间会有很大。
 
The first step is to make a very stable and portable interface to all cloud and virtualized environments. We want to enable people to get up and running on a cloud and demonstrate that it is real, it works, and is viable. The way to do this is to develop the gateway that allows people to make this happen, and make it as easy to use as possible. I think with this release of Net::Cloud, I have that covered.

第一步是为所有的云和虚拟化环境制作出一个非常稳定和可移植的接口。我们希望使人们能建立和运行在云上,并证明它是真正可以有效运行的。做出这个的方法是开发一个通路使人们可以实现它,并且使它尽量的简单可用。我想这个版本的Net:Cloud可以做到。
 
From there, we will split the project into providing architectural support and portability, and then allowing access to a growing number of specialized instances across all the clouds. There will be caching-specific instances, genomic computation specific instances, and possibly neural networks, but it doesn’t need to be so academic, either. The idea is to provide a uniform interface layer for people to issue publicly available software as a service (if I can borrow a buzz phrase), and make that easy for developers to tie it all together. Although I plan to build a gateway REST-based service for access to one or multiple clouds, I don’t intend to keep it specifically Perl-centric. The idea here is to provide the bridge and standardize, hopefully letting the good languages (more specifically good developers) rise to the top.

从那里,我们把项目分离到提供架构支持和可移植性,然后通过所有的云进入越来越多的专门实例。比如特殊缓存、基因计算的特例,也许是神经网络,但是它并不需要非常学术。这个想法为人们提供统一的接口层公开作为来服务发布已有的软件(如果我可以借用一句成语),并使开发者更容易的把所些结合到一起来。尽管我计划建立一个基于REST的网关服务来进入一个或多个云,我并不打算把它一定保持为Perl核心。这个主意提供了桥梁和标准化,可望使优秀的语言(更明确的良好开发语言)上升到顶端。
 
Looking longer-term, I would like to see a lot of IPC stuff move to allow for slower-but more scalable transport across the cloud, or multiple clouds for redundancy. I am not talking about simple "virtualization" in the sense that comes built into machines rolling out of the systems manufacturers. I mean actual "virtual process communication". Also, databases should be segmented to make full use of the cloud, clustering and replication and anything you can replace in a database using Hadoop or GFS will probably happen sooner or later, depending on how easy and reliable we developers make it, to make the leap. I think that stuff is maybe two years out, but it’s coming. It won’t be long before that type of talk is not taboo among large organizations. My advice would be to start pitching the seeds of these ideas now, and build up acceptance in your organization for them.

更长期的来看,我希望看到更多IPC材料以容许在云或多重云的冗余间缓慢而稳定的传输。我不是说建立机器和排开系统制造商的简单“虚拟化”的意思。我的意思是实际的“虚拟进程通信”。并且,数据库需要分离开以便充分利用云,聚类、回答以及所有在数据库中可以用Hadoop或者GFS替代的东西迟早将会发生,实现这个跳跃取决于我们程序员能使它变得多么简单和可靠。我认为也许需要两年的时间,但它现在已经出现了。这种对话在大型组织不被禁止之前不会有很长的时间。我的建议是开始为这个想法撒播种子,为他们在你的组织上建立起认同感。

For the non Perl developers, the mentioned modules 'DBI' and 'DBD' refer to the database access framework used universally in the Perl community.  DBI is similar to ODBC or JDBC, while DBDs are database specific drivers.  For more information see the documentation at: http://search.cpan.org/dist/DBI

对于那些非Perl的开发人员,提及的“DBI”和“DBD”模块涉及到Perl社区普遍使用的数据库存取结构。DBI与ODBC或JDBC相似,而DBD是数据库的具体驱动程序。 更多信息可以查看在线文档:http://search.cpan.org/dist/DBI
 
Q. Can Perl's Cloud Computing projects do anything to assist people who are using other programming languages?

问:Perl的云计算项目是否可以帮助使用其它程序语言的人们?
 
Absolutely. Like I alluded to in the last question, I’m looking at this as a way to extend many existing computational limitations. If you have an existing project, setting up cloud images and using a REST-based call to a server running Net::Cloud should help a lot of people doing things that don’t have much to do with Perl at all. The idea is to make it so that someone doesn’t need to master the ins and outs of Perl, Catalyst of Net::Cloud to use it.

完全可以。像我在上个问题中所提到的那样,我把这视作为对很多计算限制的扩充方法。如果你有一个在进行的项目,用基于REST的调用到一个运行着Net::Cloud的服务器上建立它的云镜像,可以帮助很多人实现功能而完全不必跟Perl打什么交道。这个主意使有些人可以不必在Perl中穿棱进出,使用Net::Cloud的Catalyst就可以了。
 
I would love the help of other front-endian developers doing Ajax and UI work to help build some slick tools to go on top of this stuff, that we would ship with existing cloud management instances, or deploy on you local machine to get up and running, a la YUI.

我希望得到一些其他front-endian开发者在Ajax和界面工作上的帮助,来建立一些灵活的工具使这些其臻于完美,这样我就可以装运到云管理中去,或者装配在你本地机器上建立和运行。
 
Q. What can the community do to help?  What are the current communication channels (mailing list, IRC, etc).
问:社区可以作出哪些帮助?目前有哪些交流的渠道(邮件列表、IRC等等)?
 
When this release hits, register for some cloud services, and try it out. Start a few machine instances, stop them, and then pick one or two services which you’d want to test scale for. Maybe it’s encoding video formats, or managing sessions. If you make a plugin that works, abstract it and I’ll gladly include it in Net::Cloud and mention you in the release notes as a contributor.

当这个版本出现的时候,注册一些云服务,并且试验一下。开启一些新的机器实例,停止它们,然后挑一两个你想要的服务来测试规模。也许是编码视频格式,或者是管理会话。如果你制作了一个插件可以运行,摘录下来,我将很乐意把它添加到Net::Cloud中并且在发布告示中提及你的贡献。
 
Aside from that, I want to do something here that the Perl community has traditionally overlooked. I want to put a polished package on this, that includes an easy-to-install, easy-to-use interface. I don’t care if that is “trivial”. I think the missing piece for wider co-operation and adoption here is just a cloud solution that looks good and the price is right. The fact that this release is free should satisfy at least one of those requirements.

除那些之外,我想在Perl社区一贯忽略的地方做一些事情。我想在这上面做一个精良的包装,包含一个容易安装和使用的界面。我不在意它是否显得琐碎。我认为这上面更广阔的合作和采纳所缺失的一块,只是一个云的解决方案,使它看起来很合理并且价格适中。这个版本免费的事实将会使这些需求中至少一个得到满足。
 
Currently the best place for discussion is(IRC) #net-cloud at irc.perl.org

现在最好的讨论地方是irc.perl.org上的#net-cloud
 
Q. A little about yourself, your interest in Perl and what inspired you to start with  Cloud computing.  Also, some details about your role related to some of the discussed projects.

问:一点关于你自己的,你对Perl的兴趣和什么使你得到灵感开启云了计算。并且,被提到的项目上你所起到角色的一些细节。
 
I have been interested in computing  -and generally taking things apart to see what they do- since I was an early age. Sometimes I was even been able to put those things back together. This tendency sort of led me out of the business program in college, and into building web sites and doing commerce-based stuff. My first non-static website was built with hand-rolled Perl CGI, then I had a go with Java, then back to Perl. I’ve worked with PHP, Python, Ruby, and now back to Perl. I keep coming back to Perl because it seems to create resourceful bridges amongst diverse systems. This is a reflection of the people in the community as well as the language itself. I have never considered myself painted into a corner with Perl. It’s improvisational enough to do new things, but has voluntarily enforced conventions enough to make it work at scale. Sort of like a reflection of a healthy society, in a way. I do not think this was an accident on Larry Wall’s part, but that’s a topic for another discussion.

自从早期我曾对计算产生兴趣-并且逐渐分离出一些东西来看看它们在做什么。有时我甚至可以把那些东西再还原到一起。这种倾向使我在大学里离开商科,而投入到建立网站并且做一些基于商业的素材。我的第一个非静态网站使用手工制作的Perl CGI建立,然后我转向Java,然后再回到Perl。我曾用PHP、Python、Ruby工作,然而我现在回到Perl上。我回归Perl因为它看起来能在不同系统间建立资源丰富的桥梁。这个想法在其社区的人之间和Perl语言本身上普遍存在。我从未考虑过我自己会使用Perl而陷入窘境。对于做新东西它是足够的即时,但是有足够自愿执行惯例使它工作在一定规模上。某种程度上像一个健康社会的反思。我并不认为这是Larry Wall部分的故障,但那是另一个讨论的话题。
 
People say that bad Perl code is unreadable, but I’d say that code that doesn’t run is worse than code that doesn’t read well. There’s varying degrees of cleverness, readability and elegance in all languages and it’s a balancing act. I think Perl and the community around it is full of intelligent and motivated people that are necessarily skeptical and inquisitive. Some code is great and some isn’t. There’s a guy, a legend basically, Paul Lindner at Hi5 right now, and he has a knack for taking a complex problem and solving it in a simple, solid-state way, and being pretty accommodating to anyone that has to read the code. That's the kind of Perl we should all be shooting for. There’s another guy I met while in Boston.pm, named Ronald J. Kimball, and he writes some impressively well presented code as well. Some of these guys have moved up and moved on, because their skill set is so valuable, but I think the culture we have in place in the Perl community still breeds that type of meritocracy. Stevan Little and the Moose guys are an example of that. They're doing great stuff. The team at Shadowcat is doing great stuff as well, and the Moose, Catalyst and DBIx::Class communication channels are very active and helpful.

人们说糟糕的Perl代码很难读懂,但是我要说,不能运行的代码比不能很好阅读的代码要更加糟糕。这是所有语言精明、可读和高雅的一个可以变化的程度,并且它是一个相互平衡的动作。我相信Perl和它的社区充满智慧和目标明确的人们,具有必要的怀疑和好问精神。一些代码非常好而另一些并不是。有一个富有传奇的家伙,Paul Lindner现在在Hi5,他有一个窍门可以把复杂的问题简单的处理并解决,这是一个固定的方法,并且对那些要阅读他代码的人非常友善。这种Perl是我们都想要追求的。还有一个我在Boston.pm遇到的家伙,名字是Ronald J.Kimball,他写出一些令人印象深刻的代码。这里面的一些人还在不断的改进和提高,因为他们的技术是非常有价值的,但是我认为Perl社区中的文化还在不断培养那种类型的精英。Stevan Little和Moose就是他们的代表。他们做出了很了不起的成绩。Shadowcat的小组也在做一些了不起的工作,还有Moose、Catalyst和DBIx::Class的通信频道也是非常活跃和有价值的。
 
My involvement with this cloud initiative is that I am the author / maintainer of the Net::Cloud modules and namespace, and I have been using cloud computing services since Amazon made them available in 2006. I had a semi-successful Beowulf cluster cobbled together with some buddies back in maybe 2001 or so, so it has always been interesting to me to use and share excess computing power. I even ran that SETI app when it first came out, but I stopped when it produced no publicly reported aliens ;) .

我参与云的发起是因为我是Net:Cloud模块和命名空间的作者和主持者,并且我从2006年Amazon提供云计算服务以来就开始在使用它了。大概在2001年我和一些伙伴就做出一个半成品的Beowulf簇,所以我一直很有兴趣使用和共享多余的计算能力。我甚至在SETI应用程序出现之始就运行它了,但是当它不再对外公开报道时我就停止了使用;)。
 
Recently, I see how it has become impractical to have to sustain a static top-end of your computational ability. It’s expensive, and impractical, especially if you ever start trying to solve bigger problems or scale. To that end, I have started this project and I’m working with some great folks on getting it off the ground. I’m looking forward to building on this, because I think it is the next frontier in computing and connecting systems. There’s already a bunch of bright people involved with it, and there’s always something new to learn or to try while paying the bills, which is why most of us got into this profession to begin with.

最近,我发现必须有一个静态的高端计算能力已经变得不切实际。它非常昂贵,并且不现实,尤其是如果你曾经开始尝试去解决更大的问题或规模。为了实现这一目标,我开始了这个项目并且和一些了不起的伙伴们为使它脱离这些而努力的工作。我期待建立起这个,因为我认为它将是计算和连接系统的下一个边界。现在已经有一群聪明的人加入到这里面,并且一直有一些新人来学习和尝试,这是我们之中的大多数人为什么会加入进来的原因。

Some additional resources:
一些附加的资源:
http://en.wikipedia.org/wiki/Cloud_computing
http://www.utilitycomputing.com
Note: I followed up with IBM regarding their OnDemand services and how there were positioned against Cloud Computing services such as Amazon's EC2.  I received the following email in response:

注意:我采用的是IBM的按需服务和反对诸如Amazon的EC2之类的云计算所持的立场。我获得了如下一些email回复:

"Thank you for your feedback to the On Demand Community site.  We are the volunteer site for IBM employees and retirees not the On Demand Business site.  I did search on www.ibm.com and the link below provides information about On Demand Business.  I hope this provides the information you need. "
“感谢你对On Demand社区站点的回馈。我们是IBM雇员和退休人员的志愿支持站点,而不是On Demand的商业站点。我在www.ibm.com上搜索,得到以下的链接提供On Demand商业相关信息。我希望这能提供一些你需要的信息。“
http://www.ibm.com/Search/?q=ondemand&v=16&en=utf&lang=en&cc=us&Search=Search

However I found the search page that link returned to not be very useful.  I send a request for additional information and will relate anything I receive in response.

然而我发现搜索页面和返回的链接并不是非常有用。我提交了一个请求,要求得到更多的信息和我答复中所有的相关内容。

 

Reserved by www.17LAMP.net