Deployment of Corporate Training Portal on Google Cloud Platform using Deployment Manager, Google Compute Engine & Cloud Storage

Part 1

Gabriel Varaljay
3 min readDec 31, 2023

As a Cloud Specialist, last year I embarked on an ambitious project to implement a corporate training portal for our employees. Given the critical nature of this initiative, I opted for Moodle, a renowned e-learning platform favoured by both enterprises and academic institutions globally. My approach involved leveraging Google Cloud Platform’s (GCP) robust infrastructure, explicitly focusing on Deployment Manager, Google Compute Engine, and Cloud Storage.

Selecting Moodle on GCP Marketplace

My first step was identifying an efficient and reliable solution for the training portal. After thorough research, I chose Moodle, known for its scalability and customisability. I sourced a pre-configured Moodle image from the GCP Marketplace, which streamlined the deployment process significantly. This choice saved time and ensured that I was working with a stable and secure version of Moodle.

Setting Up the Environment Using Deployment Manager

Deployment Manager is GCP’s infrastructure management service that allows the creation of resource configurations through templates. I utilised this service to set up the virtual environment needed for Moodle. This involved defining the architecture in a configuration file and then deploying it, ensuring a systematic and error-free setup. The process was smooth, and I could deploy the necessary resources, including the virtual machine instances, networking configurations, and security rules, with precision and ease.

Configuring Compute Engine for Moodle

Google Compute Engine was the backbone of this project. I configured a Compute Engine instance that would host the Moodle application. This involved selecting the appropriate machine type to balance performance and cost, considering the expected user load and data processing requirements. The configuration also included setting up a robust firewall and ensuring optimal network settings for secure and efficient access to the Moodle platform.

Implementing Cloud Storage for High Availability

High Availability (HA) was a critical requirement for this project. To address this, I used Google Cloud Storage to set up a Cloud Storage bucket to store the training files. This approach provided a scalable and secure storage solution and ensured data redundancy and high availability. The integration of Cloud Storage with Moodle was seamless, and I could configure the necessary permissions and access controls to safeguard the data.

Challenges and Solutions

The project, while straightforward in design, presented unique challenges. One significant hurdle was configuring the Moodle instance to utilise the resources of the Compute Engine optimally, especially under varying load conditions. I addressed this by meticulously monitoring the performance and making real-time adjustments to the Compute Engine settings.

Another challenge was ensuring data consistency and security in Cloud Storage. To overcome this, I implemented robust backup strategies and access management policies, ensuring that the data was available and secure.

Conclusion

Deploying the corporate training portal on GCP using Moodle was a rewarding experience. It demonstrated my ability to harness cloud technologies effectively to meet organisational needs. The successful implementation of this project stands as a testament to the versatility and robustness of GCP’s offerings and my skills in utilising them to their full potential.

Part 2 of the project delves into refining and deploying a web application specifically designed to automate talent onboarding.

--

--

Gabriel Varaljay

Multi-Cloud & DevOps | AWS | Microsoft Azure | Google Cloud | Oracle Cloud | Linux | Terraform | digital problem solver