Giter VIP home page Giter VIP logo

cloudlamp's Introduction

Cloud LAMP

This project aims to provide a modern cloud-based implementation of the LAMP stack (Linux, Apache, MySQL and PHP). In particular, it implements the following improvements over a traditional monolithic LAMP deployment:

  • Containerize the frontend and app layers in order to leverage consistent environments via immutable infrastructure.
  • Leverage a managed cloud-based container orchestration service in order to eliminate operations overhead and provide seamless elastic, on-demand scalability.
  • Leverage managed and distributed cloud database and storage backends, in order to eliminate operations overhead, increase resilience and availablity, and provide elastic, on-demand scalabliity.
  • Fully automate the infrastructure deployment leveraging Infrastructure-as-Code technology.

Components

Following on the design principles/goals stated above, below are the implementation details for each components in each solution

Common

Component Implementation detail Current version
Infrastructure deployment Terraform GCP, Kubernetes providers
Container orchestration Google Kubernetes Engine v1.8.8
Database backend Google Cloud SQL MySQL 5.6
Storage backend (NFS option) NFS NFS on GCE VM

Drupal

Component Implementation detail Current version
Frontend + App Drupal docker container Bitnami v8.3.7r0

Wordpress

Component Implementation detail Current version
Frontend + App Wordpress docker container Wordpress v4.9.7

Usage

Pre-requisites

tl;dr

If you've got gcloud working, and a few variables set, you should be golden.

Create a GCP project and enable billing

We recommended that you create a separate GCP project for this deployment. It is possible to use an existing project but that may cause unknown issues due to unexpected existing conditions.

You can create a new project from the Google Cloud console following these instructions.

You can enable billing on your project in the Google Cloud console following these instructions.

Clone the repo, configure and deploy

Clone the deployment:

git clone http://gitlab.com/cloudlamp/cloudlamp

Change directory to the desired version, for example:

cd cloudlamp/wordpress

Deploy!

./preflight.sh
terraform apply
Access Wordpress

Once deployment is completed (usually after a few minutes), deployment results similar to these are displayed:

lb_ip = <some IP>

The service is available at the "lb_ip" in the output above. Alternatively, you can check this IP in the "Services" tab of Kubernetes Enginer in the Google Cloud Console.

Contributing

PRs and issue reports are very welcome!

cloudlamp's People

Contributors

thatdevopsguy avatar fersantxez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.