How Crafter Cloud Works with AWS for Serverless Content Delivery
Amanda Jones loves to write about the latest digital marketing and content management trends.
At CrafterCMS, content, innovation, and operations combine seamlessly to deliver the best user experience. Building great digital experiences requires a collection of the right tools and processes, plus the work of talented individuals.
Crafter Cloud is powered by Amazon Web Services (AWS), and by leveraging the capabilities of AWS, we have been able to create a modern SaaS CMS solution for major enterprises that delivers on cost effectiveness, agile development, easy-to-use content authoring, and elastic, serverless content delivery.
I recently sat down with our CTO Sumer Jabri and Chief Architect Alfonso Vasquez to discuss Crafter Cloud and how we use Amazon Web Services (AWS) to deliver these benefits.
Can you explain what Crafter Cloud is and how it leverages AWS?
Sumer: Crafter Cloud is a fully-managed, highly reliable, elastically scalable deployment of CrafterCMS, allowing us to offer CrafterCMS as a SaaS.
It leverages AWS services to give that elasticity and that robust deployment. In pursuit of that, we decided to leverage Amazon Elastic Kubernetes Services (EKS) as the orchestration layer for the deployment of that elastic implementation of CrafterCMS.
Crafter Cloud also leverages several other AWS features. These include EC2 services for computing capacity in the cloud and ELBs or elastic load balancers, which allow us to direct and configure user traffic to apps in the public AWS cloud. It includes EBS, which is the Elastic Block Store, which stores data, and Amazon S3 to store larger assets used by a site or app. It also includes AWS ElasticSearch for content search.
We also leverage CloudFront, which is the CDN that delivers content and data to the edge for customers globally. And also AWS CloudWatch for the monitoring and triggering of events.
Alfonso: We also use AWS RDS for the database persistence of Crafter Studio. RDS is only used minimally for the content authoring experience. Unlike most other CMSs, CrafterCMS doesn’t use a database content delivery of the site. All content is stored as files in our distributed, Git-based repository, and those files are published to the content delivery nodes in our decoupled architecture. The fact that we do not use any database technology for content delivery, combined with our use of AWS technologies like EKS, allow us to provide a truly serverless content delivery solution.
OK, great. Can you give a quick outline of containerization, orchestration, and Kubernetes? How do they all come together, and what are the benefits they bring to an enterprise?
Sumer: Crafter Cloud is a service, whereas EKS is a technology. EKS is a specialization of a bigger technology called Kubernetes. And Kubernetes is a specialization of something known as orchestrated deployments.
Since CrafterCMS is built on the principles of a decoupled architecture, with content authoring separate from content delivery, each of those systems are containerized differently. On the delivery side, containerization enables us to run independently of anything else, in a stateless manner so that it isn’t bound to a specific service. This allows it to run in a way that is serverless and elastically scalable.
Kubernetes is used to orchestrate and manage those containers that handle that concern, in this case, the delivery system, so that it can add capacity or remove capacity, do upgrades, do rolling upgrades and so on.
How exactly does Crafter work with EKS and at what point do they meet?
Alfonso: Crafter’s end-user never sees or knows about the technology running under the hood. It could be standard Kubernetes, it could be ECS, or it could be EKS.
For our operations team that is working in the backend of Crafter Cloud, we provide Kubernetes configuration deployment files and manifests as part of the CrafterCMS configuration.
These files provide the recipe that teaches EKS what to do. They are used to provide all of the resources in EKS which facilitates a deployment of CrafterCMS that achieves our goals of being elastic and robust.
EKS provides the standard Kubernetes interface. We use a single tool to create the whole EKS infrastructure. Since EKS offers the command line and standard Kubernetes interface, we use standard Kubernetes configuration files to deploy all containers and start the CrafterCMS environment.
Why should a company use CrafterCMS instead of another CMS in conjunction with AWS?
Sumer: Crafter natively integrates with AWS, including as we mentioned earlier, S3, ElasticSearch, ELBs, CloudFront, CloudWatch, automatic provisioning, and so on.
Because CrafterCMS content delivery is stateless, by using an elastic cloud like AWS, it is an infinitely scalable system that can deploy not only serverless and elastically within a region, but also across multiple regions for global deployment.
Alfonso: This is one of the unique value propositions of CrafterCMS. If you marry CrafterCMS to the power of AWS and its global nature, it can spread itself within a region or across multiple regions and deliver that elasticity and scalability using AWS.
What else does Crafter Cloud offer in terms of features and support?
Sumer: Crafter already has in place everything to support cutting-edge digital experiences that modern enterprises want to build. We have the tools and playbooks to provision customers of any size. We can do massive deployments in an afternoon rather than over days or weeks.
Crafter also offers a collection of metrics and monitoring of deployment, which allow us to be aware of problems before they happen. We offer rolling deployments and auto-upgrades for the customer, keeping things evergreen and up to date. Because Crafter Cloud is a fully-managed SaaS, security patches get done right away.
Behind the scenes, Crafter Cloud uses GitOps, where all changes are done using Gitflow. Changes are pushed into a source controlled repo. This allows us to facilitate DevOps and the modern enterprise backend management where a daemon automatically executes code instead of a human.
Alfonso: Aside from GitOps, which Sumer mentioned, we’re also using this tool called EKSCTL, which is our primary tool to provision EKS clusters.
You recently completed a project with a large Fortune 500 enterprise that is already using CrafterCMS Enterprise on prem. Why did they want to use Crafter Cloud?
Sumer: This organization already uses CrafterCMS to power their .com website, which is a large global site that serves as their primary revenue generator. Everything is hosted in their private data centers, and while they want to move to the cloud eventually, they couldn’t make that transition yet.
However, for other cases when marketing or business departments needed a new website, an intranet or microsite, for instance, they would run into trouble since that could distract from the core organizational mission. Also, they were wary of risks associated with a traffic surge from a promotion or PR event hitting the dot com infrastructure.
They wanted to separate the concerns of intranets, marketing sites and .com without having to hire hundreds of thousands of dollars worth of personnel and additional infrastructure to meet these requirements.
So they asked CrafterCMS to help?
Sumer: Yes. They asked, “can you deliver an inexpensive, fully managed version of CrafterCMS that allows us to create one-off pages and sites, build an intranet for our personnel, keep it secure and highly scalable, and make it geographically distributable so that people across the globe can use it effectively?”
We said yes, of course, as this is Crafter Cloud’s forte.
And what benefits did they receive after embracing Crafter Cloud?
Sumer: Cost savings and speed of delivery. Also more agility as it is faster to go through our SaaS rather than their IT department. They can innovate at a quicker cadence and need to invest less in administrators to handle everything because of Crafter Cloud.
Let’s assume you’re going to some people managing your site, and then many more people managing your infrastructure. You’re talking tens or even hundreds of thousands of dollars, whereas Crafter Cloud is an order of magnitude less. It’s much more cost effective to utilize our service as opposed to trying to do it yourself. This also includes scalability across all regions.
Any other benefits from Crafter Cloud that are worth mentioning?
Sumer: Video use cases, both live streaming and VOD, using our integrations with AWS Elemental Media Services. Organizations that leverage CrafterCMS’s ability to manage and play with video content fare better than those using most other CMSs out there.
Now, there are video-specific CMSs and online video platforms, but they can’t manage other digital content very well, and there are standard CMSs that can’t do video very well. Combining CrafterCMS with AWS Media Services provides the perfect combination. We offload the video workloads over to Amazon and then jointly can deliver modern video experiences for a wide variety of use cases.
Learn more about Crafter Cloud.
Advantages of a Private SaaS Headless CMS (vs. Public SaaS)
What is Private SaaS?
What Is JHipster?
High Performance OTT Video Streaming and Content Management in the Cloud
Modernizing Video Delivery and Content Management at CPAC, A Canadian Nationwide Broadcaster
AI-based Media Asset Management with AWS Rekognition and CrafterCMS
Building OTT Video Experiences with Headless CMS on AWS
How to Launch a Live Video Streaming Solution
Building AI Chatbots with a Headless CMS on AWS