Overview

In the world of cloud computing, Platform as a service (PaaS) typically refers to a set of services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.

CloudFoundry, Heroku, Google App Engine etc., provide cloud based PaaS environment to deploy and host applications in the cloud. Developers building applications for such platforms only need to worry about application code, while the PaaS provider manages language runtimes, operating system, virtualization, storage and networking.

IOx PaaS style applications aim to provide similar kind of development experience in a Fog environment.

  • Simplifies application development experience
  • Developers can use the tools and workflow that are already familiar to them
  • Guarantees application portability
  • Provides support for well known language runtimes such as Python and Java

During PaaS application deployment, CAF dynamically provides a secure and sandboxed runtime environment and provisions required resources (cpu, memory, storage, language runtimes etc.,) for the application.

Requirements

It is important to ensure that your requirements can be satisfied with PaaS style applications.

  • Language Runtimes - Refer to the Platform Matrix to identify if your target platform supports the language runtime of your choice.

  • Native Dependencies - Currently, PaaS style applications that need third party libraries having native dependencies are not supported. For instance, if your app uses JNI calls, or in case of python depends on native libraries (ex. pycrypto etc.,) it cannot be packaged as PaaS app.

  • Existing applications - Existing applications may need to be modified slightly to make use of features provided by the platform. They are highlighted in the tutorials.