This is documentation for Apprenda 6.0/6.5/6.6/6.7.
Documentation for other versions is also available.

Introduction

What is Platform as a Service (PaaS) and Why Use It?

Application developers typically invest time in a few different aspects of their work: designing application architectures for tricky but common problems, writing application code, and deploying, testing and maintaining an application. The highest-value work is writing the application code, while the remaining work-items are in support of application code-writing tasks. Solving big architectural problems (like how to cache data across many servers or deal with message brokering at the application tier) and deploying and managing apps steals cycles from the high-value work of writing apps. These mal-invested cycles significantly reduce developer productivity and hamper their ability to deliver on promises and achieve goals. Additionally, IT staff responsible for managing applications have to deal with the fact that these "cycle-stealing" factors also necessitate that each app has a unique architectural and management profile, creating a net drag on IT's ability to provide top-notch service. Unfortunately, all of the aforementioned has been a necessary evil in recent history and exists because:

  1. Most historical focus in IT has been on the infrastructure and not the apps, which typically enjoyed second-class citizenship at best.
  2. There has been no foundational software layer that spans the datacenter that can solve tricky architecture problems on behalf of applications on the infrastructure.
  3. There has been no layer of abstraction that could coordinate application management tasks against heterogeneous infrastructure on behalf of applications.

Platform as a Service (PaaS) is a software layer than can stitch together an arbitrary number of infrastructure resources (e.g. OS images, load balancers, etc.) into a single logical resource pool that can be offered to developers as a self-service computing platform. Developers and their applications are abstracted away from the underlying details of the infrastructure, relying on the application itself and service requirements as the lingua franca. Developers simply upload apps to a PaaS and, in a few button clicks, deploy the application. The PaaS takes care of all of the mission-critical (but strategically unimportant) heavy lifting of allocating resources, configuring the app, and deploying it to the infrastructure. All management workflows are provided by the platform and "wrapped" around guest applications. Additionally, a PaaS also offers platform services that an application can leverage to solve big architectural problems out of the box. A PaaS offering needs to provide applications with API access to things such as caching services, message brokering, or even application metering. The result is that developers can achieve full productivity and not waste cycles on undifferentiated work.

Why Apprenda?

Apprenda is a full-service enterprise PaaS stack for .NET and Java applications. Specifically, Apprenda is a "PaaS engine" that can be layered atop any arbitrary infrastructure composed of Windows and Linux OS instances. Apprenda stitches these OS instances into a cross-platform single fabric that is a web- and API-accessible self-service cloud computing platform.  Apprenda accepts as guest applications any mission-critical multi-tier .NET and Java applications composed of web services, front ends, and databases (e.g. SQL Server, Oracle). Apprenda is the best PaaS for the enterprise because it:

  1. Is laser focused on the enterprise use cases of .NET on Windows and Java on Linux, with easy integration into legacy IT systems and the ability to smooth traditionally high-friction enterprise processes such as wiring authentication into applications.
  2. Provides a lock-in-free model, ensuring that you have freedom of choice as to which infrastructure you can use. Apprenda even supports infrastructure federation, trivializing infrastructure architectures such as multi-datacenter or hybrid cloud.
  3. Beautifully supports existing application code with little to no code changes to run on the Apprenda PaaS.
  4. Has a plethora of APIs and frameworks to tap into high-value platform services.
  5. Can be layered on existing infrastructure, allowing for a continued leveraging of existing investments.
  6. Provides high end-features not found anywhere else, such as zero-effort multi-tenancy for your apps.
  7. Is the only mature solution that can, in 15 minutes, "plug and play" on existing infrastructure and transform it into a self-service platform for any internal or external developers.

As a PaaS, Apprenda embodies the conceptual PaaS better than any other technology on the market, meaning that developers and IT staff can achieve the level of full productivity promised by the description of PaaS without any compromises.