Skip to content
This repository has been archived by the owner on Oct 1, 2024. It is now read-only.
Animesh Singh edited this page Apr 13, 2017 · 8 revisions

WordPress deployment on Bluemix Container Service

This wiki contains the getting started content posted to both Bluemix and the Accelerate developer advocacy site.

Intro

WordPress is the the most popular website management or blogging system in use on the Web, supporting more than 60 million websites. WordPress was used by more than 27.5% of the top 10 million websites as of February 2017. At its core, WordPress is built upon one of the most common programming languages on the web, PHP and uses MYSQL as backend.

Of the 54 million projects on GitHub, Kubernetes is in the top 10 by the number of unique developers contributing code. Kubernetes has more pull requests and issues comments than any other project on Github. How do we bring these two giant open source projects together?

By Animesh Singh, Tommy Lee

Overview

This journey showcases the full power of Kubernetes clusters and shows how can we deploy the worlds most popular website framework on top of worlds most popular container orchestration platform. We provide a full roadmap for hosting Wordpress on Kubernetes Cluster from IBM Bluemix Container Service. Each component runs in a separate container or group of containers.

WordPress represents a typical multi-tier app and each component will have its own container(s). The WordPress containers will be the frontend tier and the MySQL container will be the database/backend tier for WordPress. In addition to using MySQL container, Compose for MySQL service from Bluemix can be used as a backend for WordPress.

With Bluemix Container Service, we could easily create Kubernetes clusters to manage and monitor our containers. Applications can be migrated and deployed to Kubernetes clusters with high scalability and manageability. All the images within the containers are created by Docker.

Flow and Diagram

alt text

  1. The user interacts with WordPress via the web interface. The WordPress containers could separate the traffic to each of its container using the LoadBalancer. Each WordPress container will response to its users via HTTP/HTTPS.

  2. Each time users post to any WordPress container, WordPress will post the changes to MySQL database. MySQL database then will store the post data into persistent disks to maintain safe and secure.

  3. When the MySQL container is dead, the MySQL service will restart the container and recover all the data from the persistent disks. When any WordPress container is dead, LoadBalancer will move its traffic to other containers and restart the dead container.

  4. Administrators can monitor and scale the WordPress website via the Kubernetes cluster. Administrators can also monitor and manage multiple Kubernetes clusters via Bluemix Container Service at the same time.

Components

  • IBM Container Service
  • Kubernetes Cluster
  • MySQL
  • WordPress

Technology

  • Bluemix Container Service

Links

Blog Post

Going “cloud native” is the trend these days and containers are at the heart of this. At its root, being cloud native means structuring teams, culture, and technology to utilize automation and architectures to manage complexity and unlock velocity.

One of the key use cases for being cloud native is moving legacy applications to containers, which allows for better distribution, scaling, and maintenance. The most obvious benefit of containers is application portability where developers are able to run the exact same application on any Linux® machine. This freedom from servers means that you'll never have to be locked down to a specific cloud provider or even a virtualization technology.

In this journey, we show you how to deploy a distributed WordPress application using Kubernetes Cluster on the IBM Bluemix® Container Service. WordPress is a simple, scalable blogging website that developer can easily deploy and integrate using the Bluemix® Container Service.

Clone this wiki locally