Cloud Computing. Simplified.

PiCloud Platform

PiCloud is a cloud-computing platform that integrates into the Python Programming Language. It enables you to leverage the computing power of Amazon Web Services without having to manage, maintain, or configure virtual servers.

PiCloud integrates seamlessly into your existing code base through a custom Python library, cloud. To offload the execution of a function to our servers, all you must do is pass your desired function into the cloud library. PiCloud will run the function on its high-performance cluster. As you run more functions, our cluster auto-scales to meet your computational needs. Getting on the cloud has never been this easy!

PiCloud improves the full cycle of software development and deployment. Every function run on PiCloud has its resource usage monitored, performance analyzed, and errors traced. This data is further aggregated across all your functions to give you a bird's eye view of your service. PiCloud enables you to develop faster, easier, and smarter.


Service Highlights

Easy to Use

We offer a superior cloud experience encapsulated entirely within your programming language. With as few as 3 lines of code, PiCloud will leverage the computational power of a cluster of servers for you. We also offer a streamlined web interface for customization and monitoring on-the-go.

Elastic

PiCloud is always ready to accept and process your function. Behind the scenes, we are automatically scaling our service to match your computational needs from almost no load to peak usage. Code in full confidence that your service will scale. Learn more.

As you run functions on PiCloud, they are added to our queue of functions waiting to be processed. To handle the computational load from our users, we automatically scale our cluster by provisioning more servers. In this way, we are able to handle your highly variable workload without any effort on your part. If you require guarantees on how quickly your functions begin executing on our cluster, see our real-time feature. To learn more, please see our technical overview.

Robust

PiCloud brings a highly robust computing environment to the cloud. Amazon and other cloud providers explicitly state that their servers can and do go down without notice due to hardware and network failure, and that it is your responsibility to build robustness into your systems. PiCloud has built redundancy and reliability into every corner of its service. The PiCloud Service Level Agreement commitment is 99.9% availability.

Secure

PiCloud employs industry-standard security techniques. All communication with PiCloud is encrypted using the Secure Sockets Layer (SSL) protocol. Your code and data on our cluster is protected by multiple layers of security including POSIX permissions, AppArmor, and Kerberos. In addition, PiCloud deploys the latest security patches to give you maximum protection. PiCloud also offers a dedicated compute units option to guarantee that your computation runs in isolated VMs.

Inexpensive

PiCloud passes the financial benefits of its multi-tenant environment on to you. On Amazon, you'll be paying for servers by the hour whether or not you use them. PiCloud only charges you for the exact amount of computation time you use, giving you the ability to parallelize your computation cheaply. Never again will idling servers drive up your infrastructure costs. Heavy users can reserve compute units for further discounts.

Top

Features

Tunable Performance

PiCloud enables you to run your functions with either 1 (default) or 2.5 compute units of power. For I/O bound applications, 1 compute unit may be sufficient, while CPU bound applications will benefit greatly from 2.5 compute units. Switching between the two takes a second, allowing you to tune and optimize your performance easily. With regard to memory, 1 compute unit of power is allocated 340 MB of RAM, and 2.5 compute units is allocated 850 MB of RAM.

Real-time Computing

PiCloud makes processing an incoming stream of data in real-time easy. We give you the option to guarantee that your computation begins execution within one second of your request. Usually, your computation will begin much sooner. Learn more.

You can reserve real-time compute units by the hour. These compute units are reserved on our systems for you, and are ready at a moment's notice. The number of real-time compute units you reserve determines the number of your functions that can execute immediately in parallel. Excess functions will wait until real-time compute units become available or until there is space on the elastic cluster (whichever comes first). To learn more, please see our technical overview.

Performance Analytics

As a language-integrated platform, PiCloud analyzes your running code and reports its resource usage on a per function basis. The information is accessible via PiCloud's web interface, allowing you to quickly see inefficiencies. Statistics are aggregated and charts are generated every hour, showing you a variety of big picture and granular views of your resource usage.

Monitoring and Error Handling

PiCloud consolidates your computation history into one simple interface. You can examine the innermost details of any function including critical information such as standard output, standard error, profile, and even an exception tracebacks.

Scientific Computing Ready

PiCloud has partnered with Enthought, Inc., the market-leader in scientific computing with Python, to bring rigorous data analysis and visualization tools to the cloud. PiCloud supports and has optimized the use of packages included in the Enthought Python Distribution (EPD). A full list of libraries is available here.

Files and Shared Memory

PiCloud instantly works with any existing data store you are currently using, whether it be a database or your own Amazon S3 bucket. We do not lock in data. For those without an existing solution, PiCloud offers you the ability to store and retrieve data (files or memory objects) in a bucket, or on a distributed file system.

Top

Clouds

Amazon Web Services

PiCloud's primary deployment is on top of Amazon Web Services (AWS) in the US-EAST Region. If you are already using AWS in the same region, your latency will be minimal, bandwidth will be high, and you will not have to pay for data transfer costs.

Rackspace Cloud

PiCloud is currently expanding to the Rackspace Cloud. To learn more, please contact us.

Private Datacenters

PiCloud offers an installation for private datacenters. We can deploy our systems on your clusters ranging from ten machines to thousands, running VMWare, Xen, or bare metal stacks. To learn more, please contact us.

Top

Programming Languages

Currently, PiCloud supports the standard implementation of Python, CPython, specifically versions 2.5 and 2.6. Support for version 3.1 is coming soon. You can deploy your custom C++ extension modules via our package management interface.

Top

Pricing

Please see our pricing page.

Top

System Details

Compute Units Defined

You can choose to run your functions with 1 (default) or 2.5 compute units. A compute unit is defined by Amazon to be equivalent to a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. We use Amazon's standard since our systems are currently built on their infrastructure.

Bandwidth and Latency

If you are already on Amazon Web Services in the US-EAST Region, communication latency is minimal and is equivalent to the latencies between any two Amazon EC2 hosts. Likewise, PiCloud's bandwidth is equivalent to other hosts on Amazon Web Services. For those elsewhere, it is important to measure the latency and bandwidth between you and PiCloud to properly gauge PiCloud's effectiveness. You can measure your latency by pinging picloud.com.

Transfer of Code and Data

PiCloud's programming library, cloud, automatically transfers the necessary source code, byte code, execution state, and data to run your function on our cluster. Our library is careful to only transfer the code and data it needs, and all information is encrypted using SSL before transmission. Caching is present in both the client library and our cluster so that future requests do not transfer redundant information. Our library can also be configured to log what information is being transferred for your inspection.

Performance Optimizations

PiCloud has built a proprietary distributive system specifically to maximize performance and scalability on elastic farms of virtual machines. The following is only a subset:

Delay Before Function Start Time

When you run a function on PiCloud, we add it to our queue. As our queue grows in size, we automatically scale up our servers to meet demand. However, this means that your functions will not necessarily start immediately. While we do not guarantee an upper bound on the amount of time that passes before your function starts running, the following distribution shows empirical data on how long functions typically wait in our queue.

To guarantee that your functions execute immediately, please see our real-time option.

Top

Documentation

Please see our Python cloud library documentation.

Top