Deploying a MEAN Stack Onto Google Compute Engine

Avatar
Madan Ganesh Velayudham (ActOnMagic)
August 8, 2014

Gone are the days where a product team used to spend a considerable amount of time to build a basic web application.  Say Hi to MEAN! If you are familiar with LAMP/WAMP stacks, you could consider MEAN as a complete stack based on JavaScript. In fact, MEAN represents MongoDB,  Express, AngularJS, and NodeJS:

With MEAN, you could have your web application running in less than 10 minutes.
Deploying a MEAN based application on AWS or Azure is quite straightforward as there are ready-made templates from 3rd party vendors like Bitnami. Nevertheless, it’s not that easy on Google Compute Engine, given that there are no built-in images for that platform.

In this post, I will describe the rationale in choosing MEAN stack over others, and 10 Steps to deploy a MEAN stack on Google Compute Engine
We have had rich experience in creating many enterprise application using J2EE, Python, .Net and other technologies. You may wonder why on earth we chose MEAN! Let me list down the reasons:

  • JavaScript is often considered to be front end technology. Actually, everything can be written in JavaScript and there are more and more examples of effective server-side usage of Javascript.
  • We want to use an open source language, with strong community support and with a quick development cycle. We had many options, like Python, Ruby and Angular + Node. We had had to learn different languages for UI and Backend in case of Python and Ruby. But Javascript is used in both Angular and Node.
  • AngularJS supports a native MVC framework and promotes Test Driven Development with the Karma/Mocha test framework. AngularJS UI renders on all kinds of browsers supporting HTML5 supported.
  • ExpressJS is a good web framework on top of NodeJS. It provides us hooks to easily develop a scalable application server.

So, all this considered, here are the steps to deploy a MEAN stack on GCP
Step 1: Sign up for Google Compute Engine, or sign in if you have an account already

Step 2: Create a project or Go into your existing Project

Step 3: Go to Google Compute Engine -> VM Instances

Step 4: Create a CentOS based VM Instance

Step 5: Once the VM is up, SSH into the VM Instance
gcutil --service_version="v1" --project="##your_project" ssh --zone="asia-east1-a" "my-mean-stack"

Step 6: Download NodeJS and Place it on your path:
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz
tar xvfz node-v0.10.28-linux-x64.tar.gz
mv node-v0.10.28-linux-x64 /usr/share/

Step 7: Install MongoDB and git:
sudo yum install mongodb-org git

Step 8: Deploy meanio module
$sudo npm install -g meanio
$mean init my-mean-app
Cloning branch: master into destination folder: my-mean-app
Initialized empty Git repository in /home/user/my-mean-app/.git/
....
install dependencies:
$ cd my-mean-app && npm install

Step 9: Start your server
$ grunt
Running "clean:0" (clean) task

Running "jshint:all" (jshint) task
>> 41 files lint free.

Running "csslint:src" (csslint) task
>> 3 files lint free.

Running "concurrent:tasks" (concurrent) task
Running "watch" task
Waiting...
Running "nodemon:dev" (nodemon) task
[nodemon] v1.0.20
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node --debug server.js`
debugger listening on port 5858
js-bson: Failed to load c++ bson extension, using pure JS version
Mean app started on port 3000 (development)
Failed to load c++ bson extension, using pure JS version

Step 10: Open up port 3000 in your Google Compute Network Firewall

TThat’sit! Launch your browser and point it to http://your_external_ip:3000/. Your web app is up and running!

Avatar

Written by

Madan Ganesh Velayudham (ActOnMagic)


Related Posts

Avatar
Cloud Academy Team
— July 9, 2020

Which Certifications Should I Get?

As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...

Read more
  • AWS
  • Azure
  • Certifications
  • Cloud Computing
  • Google Cloud Platform
Alisha Reyes
Alisha Reyes
— July 2, 2020

New Content: AWS, Azure, Typescript, Java, Docker, 13 New Labs, and Much More

This month, our Content Team released a whopping 13 new labs in real cloud environments! If you haven't tried out our labs, you might not understand why we think that number is so impressive. Our labs are not “simulated” experiences — they are real cloud environments using accounts on A...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Joe Nemer
Joe Nemer
— June 19, 2020

Kickstart Your Tech Training With a Free Week on Cloud Academy

Are you looking to make a jump in your technical career? Want to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Kubernetes, Python, or another in-demand skill?Then you'll want to mark your calendar. Starting Monday, June 22 at 12:00 a.m. PDT (3:00 a.m. EDT), ...

Read more
  • AWS
  • Azure
  • cloud academy content
  • complimentary access
  • GCP
  • on the house
Joe Nemer
Joe Nemer
— June 12, 2020

Azure Certifications: Our Experts Explain Which Is Best for You

How do you choose an Azure certification? It can be hard to get started when choosing an Azure certification. There are so many to sift through, so many interesting options, and it requires a time commitment to just understand the cert landscape.To help guide you through the select...

Read more
  • AZ-900
  • Azure
  • Certifications
Alisha Reyes
Alisha Reyes
— June 11, 2020

New Content: AZ-500 and AZ-400 Updates, 3 Google Professional Exam Preps, Practical ML Learning Path, C# Programming, and More

This month, our Content Team released tons of new content and labs in real cloud environments. Not only that, but we introduced our very first highly interactive "Office Hours" webinar. This webinar, Acing the AWS Solutions Architect Associate Certification, started with a quick overvie...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Rebecca Willis
Rebecca Willis
— June 3, 2020

Azure vs. AWS: Which Certification Provides the Brighter Future?

More and more companies are using cloud services, prompting more and more people to switch their current IT position to something cloud-related. The problem is most people only have that much time after work to learn new technologies, and there are plenty of cloud services that you can ...

Read more
  • AWS
  • Azure
  • certification
Alisha Reyes
Alisha Reyes
— June 2, 2020

Blog Digest: 5 Reasons to Get AWS Certified, OWASP Top 10, Getting Started with VPCs, Top 10 Soft Skills, and More

Thank you for being a valued member of our community! We recently sent out a short survey to understand what type of content you would like us to add to Cloud Academy, and we want to thank everyone who gave us their input. If you would like to complete the survey, it's not too late. It ...

Read more
  • AWS
  • Azure
  • blog digest
  • Certifications
  • Cloud Academy
  • OWASP
  • OWASP Top 10
  • Security
  • VPCs
Alisha Reyes
Alisha Reyes
— May 11, 2020

New Content: Alibaba, Azure Cert Prep: AI-100, AZ-104, AZ-204 & AZ-400, Amazon Athena Playground, Google Cloud Developer Challenge, and much more

This month, our Content Team released 8 new learning paths, 4 courses, 7 labs in real cloud environments, and 4 new knowledge check assessments. Not only that, but we introduced our very first course on Alibaba Cloud, and our expert instructors are working 'round the clock to create 6 n...

Read more
  • alibaba
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Alisha Reyes
Alisha Reyes
— May 1, 2020

Introducing Our Newest Lab Environments: Lab Playgrounds

Want to train in a real cloud environment, but feel slowed down by spinning up your own deployments? When you consider security or pricing costs, it can be costly and challenging to get up to speed quickly for self-training. To solve this problem, Cloud Academy created a new suite of la...

Read more
  • AWS
  • Azure
  • Docker
  • Google Cloud Platform
  • Java
  • lab playgrounds
  • Python
Alisha Reyes
Alisha Reyes
— April 30, 2020

Blog Digest: AWS Breaking News, Azure DevOps, AWS Study Guide, 8 Ways to Prevent a Ransomware Attack, and More

  New articles by topicAWS Azure Data Science Google Cloud  Cloud Adoption Platform Updates & New Content Security Women in TechAWSBreaking News: All AWS Certification Exams Now Available Online As an Advanced AWS Technology Partner, C...

Read more
  • AWS
  • Azure
  • blog digest
  • Certifications
  • Cloud Academy
  • programming
  • Security
Alisha Reyes
Alisha Reyes
— April 9, 2020

New on Cloud Academy: AWS Solutions Architect Exam Prep, Azure Courses, GCP Engineer Exam Prep, Programming, and More

Free content on Cloud Academy More and more customers are relying on our technology and content to keep upskilling their people in these months, and we are doing our best to keep supporting them. While the world fights the COVID-19 pandemic, we wanted to make a small contribution to he...

Read more
  • AWS
  • Azure
  • Google Cloud Platform
  • programming
Avatar
Logan Rakai
— April 7, 2020

How to Effectively Use Azure DevOps

Azure DevOps is a suite of services that collaborate on software development following DevOps principles. The services in Azure DevOps are:Azure Repos for hosting Git repositories for source control of your code Azure Boards for planning and tracking your work using proven agil...

Read more
  • Azure
  • DevOps