Bratt Swaim, Technical Consulting Manager of Liferay, Inc., presented “Building for the Cloud – Architecting Liferay in IaaS/PaaS Environments. The session provided the approach, techniques, considerations and best practices for deploying Liferay to Amazon Web Services (AWS.) The highlights follow.
When does moving to the cloud make sense? The following are drivers that are scenarios that will justify moving to the cloud.
- When you can’t / don’t want to manage full network stack
- If business moves faster than IT
- When you don’t have visibility to future hardware
- When you need to scale for load spikes
- When you can’t have downtime
A reference architecture was presented on AWS. The following components are not required in a cloud infrastructure:
- Web server
- Cache server
- Multicast JGroups discovery
- NFS server
Great benefits of AWS are:
- Autoscaling elasticsearch
- Autoscalling, auto-backup, load balanced databases
- File storage on an elastic file system
- Everything under ELB can self replicate or destroy if needed
- The architecture can be duplicated across regions and environments as neded
What part of AWS should you use for Liferay?
- VPCs (Virtual Private Cloud)
- EC2
- RDS (Databases)
- ELB (Load Balancing)
- Autoscalling groups and launch configs
- S3 (Document Storage)
Where do you start? What would be great to use?
- OpsWorks
- Cloud Formation
- GitHub (Not CodeCommit)
- SES (Sending emails)
- IAM (Provision your servers with permissions)
- Elasticsearch Service (Automated Elasticsearch clusters)
- Workspaces (Common dev environments for all developers)
- Cloudfront (Like Akamai, a CDN)
Don’t forget monitoring. Several tools are available.
- Cloudwatch – Bare metal machine information
- Dynatrace – Machine level traces through agents
- Appdynamics – Similar to Dynatrace
- New Relic – Another agent option
Next Bratt provided some personal tips and best practices.
- Use IAM to limit Liferay’s access to S3, enable branching and versioning
- Centralize your logging, it doesn’t matter if it’s loggly, splunk, or an
elasticsearch server with Kibana on it - Use jump boxes to access your Liferay EC2 instances, to segregate them
from the web
Brat is very knowledgeable with years of hands on experience. This was my favorite session of the Liferay 2016 Symposium so far.