Catalog
concept#Platform#Cloud#Integration#Software Engineering

Platform-as-a-Service (PaaS)

PaaS is a cloud service model that provides managed runtimes, middleware, and platform tools so developers can build and run applications without managing infrastructure.

Platform-as-a-Service (PaaS) is a cloud service model that provides developers with managed runtimes, middleware, and platform tools to build and operate applications without managing underlying infrastructure.
Established
Medium

Classification

  • Medium
  • Technical
  • Architectural
  • Intermediate

Technical context

Managed databases (e.g., PostgreSQL)CI/CD tools (e.g., GitHub Actions)Observability platforms (e.g., Prometheus)

Principles & goals

Abstract infrastructure as much as necessary, not more.Consider contractual boundaries and SLAs with providers.Plan for portability and exit strategies.
Build
Enterprise, Domain, Team

Use cases & scenarios

Compromises

  • Lock-in and migration effort when changing providers.
  • Security responsibilities must be clearly assigned.
  • Costs can increase with unexpected scaling.
  • Avoid configuration drift using declarative deployments.
  • Maximize portability via standard APIs and abstraction layers.
  • Clearly assign roles and responsibilities for security and operations.

I/O & resources

  • Codebase and artifacts
  • Configuration and secrets management
  • Monitoring and logging integrations
  • Deployed, monitored application
  • Scaling and operational metrics
  • Service backups and recovery plans

Description

Platform-as-a-Service (PaaS) is a cloud service model that provides developers with managed runtimes, middleware, and platform tools to build and operate applications without managing underlying infrastructure. It streamlines deployment, scaling and continuous delivery, while introducing abstraction, provider lock-in and additional operational responsibilities.

  • Faster time-to-market through reduced operational tasks.
  • Standardized runtime environments and services.
  • Scaling and high availability are simplified.

  • Limited control over infrastructure and network topology.
  • Potential vendor lock-in due to proprietary services.
  • Limited customizability of underlying platform components.

  • Time to Deploy

    Time from commit to production availability of a release.

  • Uptime / SLA fulfillment

    Percentage availability of provided services within defined SLAs.

  • Cost per transaction

    Operational costs normalized to usage metrics such as requests or transactions.

Cloud Foundry as an open-source PaaS

Cloud Foundry provides runtime management, buildpacks and service integrations for polyglot applications.

Heroku for fast developer workflows

Heroku fully abstracts infrastructure and enables deployment via git-push with an integrated add-on ecosystem.

Google App Engine as managed PaaS

App Engine offers scalable runtimes, automatic scaling and integrated services within Google Cloud.

1

Define goals and requirements, evaluate suitable PaaS candidates.

2

Set up a proof-of-concept, integrate and test core services.

3

Go-live with monitoring, backup strategy and exit plan.

⚠️ Technical debt & bottlenecks

  • Use of proprietary add-ons without a portability strategy.
  • Lack of automation for infrastructure export for migrations.
  • Undocumented operational routines that cause issues during provider change.
Vendor lock-inNetwork latencyPlatform limitations
  • Deploying a monolith to PaaS without refactoring and ignoring performance issues.
  • Storing sensitive data in unsuitable managed services without compliance checks.
  • Optimizing solely for short-term cost reduction while neglecting long-term operational costs.
  • Overlooking provider hidden costs for add-ons.
  • Incorrectly delegating full security responsibility to provider.
  • Unclear SLA interpretation for multi-region deployments.
Cloud architecture understandingExperience with CI/CD and automationKnowledge of cloud security concepts
Scalability and automatic load distributionRapid provisioning and developer experienceIntegration of managed services (databases, cache)
  • Adherence to provider SLA and uptime
  • Compatibility with legacy components
  • Regulatory requirements for data residency