A Guide to content as a microservice
Using microservices to build enterprise applications
Introduction
![Microservices LP](http://images.contentful.com/fo9twyrwpveg/3eRwYN3oBW8IwEU64GW4ca/8788325d6ba4e449b3211ccd89d48b00/Blogpost_GraphQL_CF.png)
Back in the Dark Ages, web content was viewed using a desktop browser. Also, the content was usually stored together with information on how to visually present it in one big HTML file. This worked well and helped the web become what it is today. But with the content explosion of the 90s, it became apparent that we needed a better way of storing and handling information. The solution — the Content Management System, or CMS.
The CMS, mostly in the form of WordPress or Drupal, also gave us the possibility to create and manage content without having to worry too much about the technicalities of the underlying platform. This led to the democratization of creating web pages as it was no longer necessary to have coding skills to get your voice heard.
Fast forward to today. Web content is no longer constricted to web pages and desktop browsers. Users will sooner or later access your content using anything from smartphones to wearables to information panels in cars. This led to the conclusion that page-centric CMSes might not be the ideal way to manage content.
Instead, using microservices to deliver content to applications is seen by many as an important part of future content management solutions for enterprise-scale projects.
Enterprise applications and content as a microservice = Contentful
We believe that the most cost-efficient way to get content into your applications is by relying on Contentful’s content platform. A platform that far exceeds the capabilities and limitations of traditional CMSs.
You can think of Contentful as a microservice CMS where content can be created, requested and modified using API-calls.
Why microservices and not SOA?
From a user perspective, our platform relies entirely on microservices. But why are microservices the best solution? To answer that question we need to see how microservices compare to Service Oriented Architecture, or SOA. But what are the actual differences between SOA and microservices?
The most important differences of microservices architecture vs SOA lies within their respective size and scope. As the prefix "micro" suggests, a microservice is smaller than its SOA-based counterpart. Microservices are also independently deployable units — while services in SOA are more monolithic in design and operation.
However, since an SOA can be either a monolith or be composed of multiple microservices — you can also class the SOA as a superset of microservices.
But no matter how you describe SOA vs microservices, getting content from Contentful into your apps is always a matter of sending a GET request to our Content Delivery Network, or CDN, that in turn delivers your data back to you as JSON.
Content platform and our CDN
Our content platform is built on the idea of using API-calls to reach content via our reliable CDN. Or in the words of Deane Barker: "It's a CDN for structured content objects. You basically just toss modeled objects up into the cloud."
The Contentful CDN
Regardless of how many users you have, our CDN has the muscles to always deliver your content on time. The Contentful CDN is designed so that your users are always close to one of our delivery nodes.
The CDN-approach to serve content guarantees that your applications will have access to your content even during the highest demand peaks. Like last year when our customer Jack in the Box ran their Super Bowl campaign — giving away one million free burger coupons using Contentful. Because, even though the ad campaign generated a large number of requests, our CDN kept on humming as if it was nothing special.
Your stack — your choice
No one knows your projects better than you. That’s why we designed Contentful to make getting data in and out of your applications as easy as possible.
Long gone are the days when you had to rely on all kinds of creative hacks to ensure that your content looked the way you wanted it to in your applications. With Contentful, you always have a clear separation between content and presentation data (like HTML). In short, we’ve made sure that old-school CMSes will no longer dictate how you develop applications.
So no matter if you have to work with old legacy systems, or if you’re looking to use the latest and greatest stack, Contentful will make the integration between your applications and their content easy.
It’s all about API calls
It doesn’t matter if you’ve written an Android app, made a website or coded a smart watch application — with Contentful, your content is always just an API-call away. This means that you can use Contentful as a future-proof solution for all your content using our microservice architecture. Because no matter what stack you use to give your users the possible experience, Contentful is always there to provide them with the content they need.
A key feature of our API architecture is that we’ve designed it to provide content-specific features. An example of this is our Images API that can be used for more than just sending images to applications. Such features include the API’s ability to change the image format, resize images and adjust image quality - all in transit.
In a way, you can view our Images API as one of our CMS microservices. The advantage is that you no longer need to store multiple copies of the same image to be sure that you have the right image for the right user device. You upload one image — we take care of the rest.
Our friend JSON
Developers like JSON and so do we. Getting content in and out of Contentful is all about JSON. This makes building enterprise applications with Contentful easy, fast and future-proof. With Contentful, you never have to install a third-party tool, or work with plug-ins, to get content delivered to your applications. All you have to do is send a request to our rock-solid CDN, and your data will be delivered back to you as JSON.
But we understand that some people might feel intimidated by a JSON-only way of doing things. So that’s why we built our web app. This way content editors, and other non-technical users, can get content into Contentful without breaking a sweat.
Well-documented SDKs to help you save time
We know that time is a precious resource. Especially in large scale projects. That’s why we spent a lot of time making sure that our SDKs are not only well-documented, but also easy and intuitive to use. Contentful has SDKs for all major languages and platforms including Android, iOS, JavaScript, PHP, Java, Python, Ruby and .NET
Summary
With a microservices architecture approach, you can create applications that have a clear separation between content and visual presentation. We focus on making sure that your content is always available, so that you can focus on building great enterprise ecommerce solutions.
Content as a microservice is our way to manage and deliver content via API calls using JSON. This means that if you know your way around API calls and JSON, you’ll be up and building large scale applications in no time. So no matter what stack you use — Contentful can be utilized to solve all your content needs thanks to our microservice-oriented way of delivering content.
Using Contentful for your enterprise applications, you get a platform with built-in scalability ready to deliver content even when things get very busy. This makes Contentful a good choice when deciding on a reliable content management platform for your next project.
What's next
Now that you’re familiar with how our platform works you should check out the Contentful in five minutes guide and learn how easy it is to build your first Contentful-powered web app.