Liferay Professional Services †
Official Liferay consulting. Best for: architecture validation, complex upgrades, Liferay Cloud onboarding.
Engage Liferay PS →Our independent Liferay review covers the open-source digital experience platform with modular OSGi architecture, headless content APIs, and enterprise portal capabilities — the only DXP offering true source-code access with commercial support.
Liferay DXP 7.4 (GA released February 2024) represents the maturation of Liferay's transition from a traditional JSR-286 portlet portal to a modern, modular digital experience platform. Unlike Adobe Experience Manager or Sitecore, Liferay's architecture is built on OSGi (Open Service Gateway Initiative) — a dynamic module system for Java that enables true runtime modularity, hot deployment, and version isolation without container restarts.
The platform ships in three editions: Community Edition (CE) — free, open-source (LGPL 2.1), no SLA; Digital Experience Platform (DXP) — commercial license with Liferay Cloud (SaaS), 24/7 support, hotfixes, and enterprise modules (Analytics Cloud, Commerce, Audience Targeting); and DXP Cloud — fully managed PaaS with automated CI/CD, scaling, and compliance certifications (SOC2, ISO27001, HIPAA-ready).
Critical differentiator: Liferay DXP is the only major DXP where you own the source code. This eliminates vendor lock-in at the platform layer — you can self-host indefinitely, fork the codebase, or migrate to any infrastructure provider. The trade-off: your team owns the operational burden (patching, scaling, security hardening) unless you purchase Liferay Cloud. See our Liferay vs Acquia comparison for a side-by-side look at how Liferay stacks up against the other major open-source DXP.
See our Liferay vs Acquia comparison for the other major open-source DXP.
Liferay DXP 7.4 runs on Apache Felix 7 (OSGi R7 compliant) atop a servlet container (Tomcat 10.1 for Servlet 6.0 / Jakarta EE 10). Every capability — CMS, Forms, Commerce, Search, User Management — ships as an OSGi bundle (JAR with MANIFEST.MF metadata declaring exported/imported packages, version ranges, and service declarations). This architecture delivers:
Liferay's headless delivery is built on three API layers, each serving different consumption patterns:
Resource-oriented endpoints following JSON:API spec. Key resources: /v1.0/sites/{siteId}/content-structures, /v1.0/sites/{siteId}/content, /v1.0/sites/{siteId}/pages. Supports pagination, filtering (RSQL syntax), field selection (?fields=id,title,content), and optimistic locking via ETags. Authentication: OAuth2 (Client Credentials, Authorization Code), JWT Bearer, or Basic Auth for server-to-server.
Single endpoint /o/graphql with introspection enabled. Schema auto-generated from content structures (Dynamic Data Mapping). Supports fragments, variables, directives (@skip, @include), and persisted queries. Critical limitation: no real-time subscriptions — for live updates, poll or use Server-Sent Events via custom endpoint. Query complexity limited to depth 10, 1000 nodes max to prevent DoS.
Liferay Cloud includes Fastly CDN with automatic cache invalidation via surrogate keys. On-premises deployments require manual Varnish/Fastly/Cloudflare configuration. Cache tags: site:{siteId}, content:{contentId}, structure:{structureId}. Stale-while-revalidate default: 60s. For high-traffic public sites, implement edge-side includes (ESI) for personalized fragments.
Liferay 7.4 bundles Elasticsearch 8.11 (embedded) or connects to remote cluster (recommended for production). Index structure: one index per virtual instance (liferay-20099 for companyId=20099). Document types deprecated — single _doc type with entryClassName field for filtering.
IndexerPostProcessor chain. Custom indexers implement BaseIndexer for non-Liferay entities.SearchContext wraps Elasticsearch bool queries. Supports nested queries for DDRepeatable fields, geo-distance for asset locations, and learning-to-rank via FunctionScoreQuery.portal-search-elasticsearch8 module. Korean (Nori), Japanese (Kuromoji), Chinese (SmartCN) require separate plugin installation.Service Builder generates Hibernate mappings from service.xml. Liferay 7.4 supports: MySQL 8.0 (InnoDB, utf8mb4), PostgreSQL 15+, Oracle 19c/21c, SQL Server 2019/2022, MariaDB 10.6+. Critical: no MariaDB Galera Cluster support for Liferay's distributed caching — use single-writer with read replicas only. Connection pooling via HikariCP 5.x (default 20 connections per node).
| Factor | Details |
|---|---|
| Infrastructure | AWS (us-east-1, eu-west-1, ap-southeast-1) or Azure. Dedicated VPC per environment. |
| Runtime | Kubernetes (EKS/AKS) managed by Liferay. Tomcat 10.1 on JDK 21 LTS (Temurin). |
| CI/CD | GitOps via Liferay Cloud CLI. Build → Test → Deploy to Dev → Promote to UAT/Prod. 15-min deploy cycles. |
| Scaling | HPA based on CPU/Memory + custom metrics (session count, request latency). Max 50 pods per env. |
| Database | Managed RDS/Azure Database (PostgreSQL 15). Automated backups, PITR, cross-region replica. |
| Search | Managed Elasticsearch Service (AWS OpenSearch / Azure Elasticsearch). Dedicated master nodes. |
| Compliance | SOC2 Type II, ISO27001, HIPAA BAA available, GDPR DPA. FedRAMP Moderate in progress. |
| Cost Model | Base: $45,000/yr (1 non-prod + 1 prod env). +$15,000/env. +$25,000/yr per Analytics Cloud module. |
| Lock-in Risk | Low at application layer (standard Kubernetes). Medium at platform services (Liferay Cloud API). |
Deploy via Liferay Helm Charts (v3.0+). Requires: Kubernetes 1.28+, cert-manager, NGINX Ingress, ExternalDNS, Prometheus/Grafana stack, Elasticsearch Operator (ECK), PostgreSQL Operator (CloudNativePG). Team needs: 2+ DevOps engineers, 1 Liferay platform specialist. Typical cluster: 3 master nodes (m6i.xlarge), 6 worker nodes (m6i.2xlarge, 32GB/8CPU), 2TB gp3 EBS per node. Annual infra cost: ~$180K-$250K (AWS) excluding licenses.
Still supported but not recommended for new implementations. Tomcat clustering via RedisSessionManager (Liferay module) for session replication. Database: Oracle RAC or PostgreSQL with Patroni. Search: Elasticsearch cluster (3 master + 4 data nodes). Load balancer: F5/HAProxy with sticky sessions. Patching cycle: quarterly Liferay fix packs + monthly OS patches. Requires 24/7 NOC for production.
liferay/dxp:7.4.13-ga14 image (~2.1GB). Includes Tomcat, Elasticsearch, PostgreSQL in single container. Do not use in production — no HA, no backup, no upgrade path.
This is a complete rewrite, not an upgrade. 6.2 used Portlet 2.0 (JSR-286), Spring MVC, JSP, Service Builder v1. 7.4 uses OSGi, Declarative Services, React/Metal.js frontend, Service Builder v2, Gradle workspace. No automated migration tool exists for custom code.
Recommended approach: Greenfield 7.4 implementation with content migration only. Use LAR (Liferay Archive) export/import for web content, documents, users, organizations. Custom portlets → rewrite as OSGi modules (MVC Portlet, JAX-RS, or React widgets). Theme → migrate to Theme Builder (npm-based) or rewrite as FreeMarker/Velocity templates. Budget: 12-18 months for mid-size portal (50+ custom portlets).
Supported upgrade path per Liferay's official documentation. Key steps:
upgrade:execute Gradle task (runs all upgrade processes sequentially — can take 4-12 hours for 500GB DB).bnd.bnd version ranges, replace deprecated APIs (e.g., PortalClassLoaderUtil → ModuleClassLoader).npx liferay-theme:upgrade.Breaking changes in 7.4: JDK 11→21, Tomcat 9→10 (javax→jakarta namespace), Elasticsearch 7→8, Removal of portal-service.jar (use OSGi services), AssetRendererFactory refactored.
For organizations moving from server-side rendering to headless:
fragment-entry.Liferay pricing spans three editions, making it one of the most flexible DXP cost structures on the market. The open-source Community Edition is free, while commercial Liferay DXP subscriptions range from $75,000 to $500,000+ per year depending on deployment model and modules.
Below is the full license-tier matrix and a 3-year TCO breakdown to help you benchmark Liferay pricing against Adobe, Sitecore, and Acquia.
| Edition | Community (CE) | DXP Subscription | DXP Cloud |
|---|---|---|---|
| Source Access | Full (LGPL 2.1) | Full + proprietary modules | Full + proprietary modules |
| Support | Community only | 24/7 L1-L3, 1hr critical SLA | 24/7 L1-L3, 15min critical SLA |
| Hotfixes/Patches | No | Yes (customer portal) | Auto-applied |
| Enterprise Modules | No | Analytics Cloud, Commerce, Audience Targeting, Forms & Workflow | All included |
| Deployment | Self-managed only | Self-managed or Liferay Cloud | Liferay Cloud only |
| Annual Cost (Est.) | $0 | $75,000 - $300,000 | $90,000 - $500,000+ |
| Cost Component | Self-Managed K8s | Liferay Cloud |
|---|---|---|
| License (3yr) | $450,000 | $450,000 |
| Infrastructure (AWS) | $540,000 | Included |
| DevOps Team (2 FTE) | $900,000 | $0 (managed) |
| Liferay Platform Engineer (1 FTE) | $450,000 | $450,000 |
| Implementation (Year 1) | $800,000 | $600,000 |
| Total 3-Year TCO | $3.14M | $1.5M |
Assumes: $150K/FTE/yr loaded cost. Self-managed includes EKS, RDS, OpenSearch, CloudFront, 3 envs. Liferay Cloud includes infra, managed services, 3 envs. Implementation lower on Cloud due to pre-built pipelines.
Our DXP architects have led 50+ Liferay implementations across SaaS, on-premises, and hybrid deployments. We specialize in 6.2/7.x migrations, headless decoupling, and portal-to-DXP modernization.
Fixed-scope engagements • No vendor lock-in • Reference clients available
Tell us about your portal, migration, or headless project. We'll match you with a certified Liferay DXP architect.
Implement same interface, higher service.ranking (default 0, max Integer.MAX_VALUE). Original service becomes unsatisfied. Example: Override UserLocalService to add custom validation on create.
Create fragment bundle with Fragment-Host: com.liferay.portal.web.internal.portlet. Place overridden JSPs in META-INF/resources/ matching original path. Zero Java code, survives upgrades unless JSP API changes.
@Component(immediate=true, service=ModelListener.class) for entity lifecycle hooks. ServiceWrapper for wrapping service methods (deprecated in 7.4, prefer OSGi service override).
JAX-RS (@ApplicationPath, @Path, @GET) or GraphQL (@Component(property="graphql.schema.provider=true")). Deploy as separate module — no core modification.
Liferay 7.4 uses React 18 + Vite for widget development. npm create liferay-widget scaffolds TypeScript React widget. Deploy as OSGi bundle via npm run deploy. Fragments (HTML/CSS/JS snippets) managed in-page via Fragments Admin — no deployment needed.
Event-driven analytics pipeline: Liferay → Kafka (managed) → Snowflake → Looker/Tableau. Tracks page views, asset downloads, form submissions, search queries, user journeys. Not real-time — 15-min latency. PII masking via configuration. Cost: $25,000/yr add-on.
Headless commerce engine built on Elastic Path (acquired 2021). Supports: complex pricing (contract, tiered, volume), CPQ, subscriptions, multi-site catalogs, punchout (cXML/OCI). GraphQL Storefront API. Not a full SAP Hybris/Salesforce Commerce Cloud replacement — best for "content-led commerce" where Liferay owns the experience layer.
Rule engine (Drools-based) + behavioral scoring. Segments: explicit (profile attributes), implicit (behavioral), predictive (ML models via Analytics Cloud). Content targeting via TargetingRule on fragments/widgets. No native A/B testing — integrate Optimizely/VWO or build via feature flags.
Visual form builder (React-based) with 40+ field types. Workflow: Kaleo designer (BPMN-lite) with scriptable nodes (Groovy/JavaScript). Supports parallel approvals, SLAs, escalation. Forms submit to Liferay objects (custom entities) or external endpoints.
| Criterion | Liferay DXP | Adobe Experience Manager | Sitecore | Acquia (Drupal) |
|---|---|---|---|---|
| Source Code Access | Full (LGPL) | None | None | Full (GPL) |
| Architecture | OSGi Modular | Monolithic + Headless | Composable SaaS | Module (PHP) |
| Portal/Intranet | Best-in-class | Weak (requires Communities) | Moderate | Good (Open Social) |
| Headless Maturity | GraphQL GA 7.4 | Mature (GraphQL/REST) | Mature (GraphQL/REST) | Mature (JSON:API) |
| TCO (3yr, Enterprise) | $1.5M-$3.1M | $3M-$8M+ | $2M-$6M+ | $1M-$3M |
| Team Skills Required | Java, OSGi, Gradle | Java, HTL, Oak, AEM Dispatcher | .NET, React, Sitecore CLI | PHP, Symfony, Drupal API |
| Vendor Lock-in | Low (source access) | High (proprietary) | Medium (composable) | Low (open source) |
The Community Edition (CE) is free and open-source under LGPL 2.1. However, it comes with community-only support, no SLA, and no enterprise modules. For production use, most organizations purchase a Liferay DXP subscription ($75K-$300K/yr) or Liferay Cloud ($90K-$500K+/yr) which includes 24/7 support, hotfixes, and enterprise modules.
Liferay DXP subscriptions range from $75,000 to $300,000/year for self-managed deployments. Liferay Cloud (fully managed SaaS) ranges from $90,000 to $500,000+/year. The Community Edition is free. Enterprise add-ons like Analytics Cloud cost $25,000/year additional. See our full Liferay pricing breakdown above.
Yes. Liferay Community Edition is open-source under the LGPL 2.1 license. You can download, modify, and deploy it without licensing fees. The commercial DXP edition includes additional proprietary enterprise modules (Commerce, Analytics Cloud, Audience Targeting) on top of the open-source core.
Liferay DXP is primarily used for building employee intranets, partner portals, customer self-service portals, and regulated-industry applications (healthcare, financial services, defense). Its source-code access, on-premises deployment capability, and OSGi modularity make it ideal for organizations requiring vendor lock-in avoidance and air-gapped deployments.
Both are open-source, but serve different use cases. Liferay excels at enterprise portals, intranets, and employee-facing applications with its built-in permission model, workflow engine, and OSGi modularity. Drupal excels at content-rich public websites with its massive module ecosystem and theming flexibility. See our Liferay vs Acquia (Drupal) comparison.
| Area | Requirement | Validation |
|---|---|---|
| Team | 2+ Java/OSGi developers, 1 DevOps (K8s), 1 Frontend (React/Vite) | Code review of sample OSGi module |
| Infra | K8s 1.28+ cluster, PostgreSQL 15, Elasticsearch 8, Redis 7 | Load test: 1000 concurrent users, <200ms p95 |
| Content | Content model defined (Structures, Templates, Categories) | Import 1000 test articles via Headless API |
| Search | Synonyms, analyzers, boost rules documented | Relevance tuning sprint (2 weeks) |
| Auth | SAML/OIDC provider configured, role mapping rules | SSO test matrix (IdP/SP initiated) |
| Observability | OpenTelemetry → Prometheus/Grafana, Loki for logs | Alert on: JVM heap >85%, ES queue rejection, DB pool exhaustion |
| Backup/DR | RPO <1hr, RTO <4hr (DB), <30min (search reindex) | Quarterly DR drill |
| Upgrade Plan | Quarterly fix pack schedule, annual major upgrade budget | Staging env mirrors prod for upgrade rehearsal |
Our architects have delivered Liferay DXP 7.4 projects for Fortune 500 enterprises in financial services, healthcare, and manufacturing. We provide:
We recommend these verified implementation partners for Liferay DXP projects. Disclosure: We may receive referral fees from partners marked with †.
Official Liferay consulting. Best for: architecture validation, complex upgrades, Liferay Cloud onboarding.
Engage Liferay PS →North America's largest dedicated Liferay partner. Portals, intranets, digital workplaces. 150+ certifications.
View Veriday →Enterprise Liferay implementations, migrations, managed services. Strong in financial services & healthcare.
View Xtivia →Kubernetes platform & managed services for self-hosted Liferay on OpenShift/Rancher. Critical for air-gapped deployments.
View Mirantis →