Archive for the ‘Open Source’ Category

 

How to Install LAMP, Webmin & ConfigServer Security & Firewall on a CentOS 6.0 GoGrid Cloud Server

Thursday, July 19th, 2012 by

Let me preface this post by saying, I am NOT a Linux guru. In fact, I consider myself to be a newbie when it comes to the intricacies of Linux. I probably know enough to be dangerous, at least dangerous to the server. So, I’m writing this post with the following disclaimer: Don’t ask me for any details on the “why” or how to do what I’m outlining below differently. But since I figured that lots of you are like me, I wanted to share.

Since I’m a Linux newbie, you’ll probably understand why I wanted to write this post though. I’m not a command line junkie—GUIs are much more my thing. But when it comes to running a server that is speedy and high performance with low overhead (e.g., doing away with GUIs), you’re probably looking at various Linux distros. What I wanted to do was set up a basic Linux system running a LAMP (Linux, Apache, MySQL, and PHP) stack that also had a web-interface and some added security controls.

The great thing about doing this type of experimentation in the cloud is that I can create essentially a Dev & Test environment where I can spin up a server in minutes, install software, configure it, and test everything out. Then if it doesn’t work the way I want it to, I can tear it down and start again from scratch. The cloud lets you do this quickly, easily, and inexpensively.

In this tutorial, you can basically have the entire configuration up and running in the GoGrid cloud in less than an hour and only spend about $0.25 to test this out (assumes a 2 GB server running for 1 hour at $0.12/GB RAM/hr.)

Here’s what we’re using:

  • CentOS 6.0 (64-bit) – with 2 GB RAM
  • Webmin – web-based interface for sysadmins for UNIX that lets users set up user accounts, Apache, DNS, file sharing, and a whole lot more
  • ConfigServer Firewall & Security (CFS) – a Stateful Packet Inspection (SPI) firewall, login/intrusion detection, and security application for Linux servers

(more…) «How to Install LAMP, Webmin & ConfigServer Security & Firewall on a CentOS 6.0 GoGrid Cloud Server»

Create a Basho Riak Cluster on GoGrid

Monday, July 9th, 2012 by

Basho is a GoGrid partner and responsible for the open-source Riak project. If you are not familiar with Riak, it is a well regarded open-source distributed database. It was built off of the Dynamo concept so it is often compared to Cassandra and Amazon Dynamo DB.

Riak is used as a fast, fault-tolerant distributed database. Companies like Mozilla use it for storing and analyzing beta testing results. Mozilla needed a solution to help improve the user experience and that would allow them to store large amounts of data very quickly. Another example of a company using Riak is Bump which uses Riak to scale and manage massive amounts of data sent between it’s millions of users. Riak is used to store elements of past user conversations so that communication history is readily accessible to users.

basho_logo2

Basho Riak version 1.1.4 is now available as a GoGrid Community Server Image (CGSI). You can find it when you launch a virtual machine and search for “Riak”. This image is available in all our data centers. This CGSI contains the open source version so support is only available via the community site and will not have all the features present in the Enterprise version. However, you can use this image to either run a proof of concept (POC) of Riak to see if it will meet your needs or to run a small cluster. These will run on GoGrid’s high performance VMs which have been shown to have significant performance advantages over other cloud implementations.

Riak_image

Why is GoGrid faster?

(more…) «Create a Basho Riak Cluster on GoGrid»

How To Optimize Your Database Backups and Text File Compression with pbzip2 and pigz

Thursday, February 9th, 2012 by

Recently, GoGrid was examining performance enhancements on several internal processes; among these enhancements was switching from standard gzip to “pigz”. Since I had never heard of this “pigz”, I was intrigued by this supposed “parallel” implementation of gzip; meaning it uses all available CPU’s/cores unlike gzip. This prompted me to ask, “I wonder if there is a parallel implementation of bzip2 as well”, and there began my endeavor.

pigz and pbzip2 are multi-threaded (SMP) implementations of their respective idol file compressors. They are both actively maintained and are fully compatible with all current bzip2 and gzip archives.

If you’re like me, you might’ve stayed away from using gzip or bzip2 due to the single-threaded aspect. If I try to compress a, let’s say, 2GB file, the system becomes rather sluggish; the reason being is that the “compression tool of choice” uses almost all of 1 core of today’s multi-core, multi-CPU systems and creates an uneven load between the cores, causing the CPU to operate very inefficiently.

In this example I have a .tar file with several databases in it, which totals 1.3GB. The system in question is a GoGrid dedicated server with 8 cores. The server’s load is around 1 and is a production database server.

Using bzip2, the file took approximately 6 minutes and 30 seconds to compress. Yikes!

bzip2

(more…) «How To Optimize Your Database Backups and Text File Compression with pbzip2 and pigz»

How to Monitor Your Windows 2008 Server on GoGrid with Cacti 0.8.7g

Tuesday, June 14th, 2011 by

This is the 3rd and final post in my setup and use of the GoGrid Community GSI server for Cacti Monitoring. In my first post, “Set Up A Cacti Monitoring Server in Minutes with this GoGrid Community Server Image,,” I covered how to deploy Cacti in your GoGrid environment using a Community GSI. My second post, “How to Monitor Your Ubuntu Server on GoGrid in 6 Steps Using Cacti 0.8.7g,” I discussed how to initiate monitoring of your GoGrid Ubuntu server. Now to round things off, I want to show you how to link up your Cacti monitoring server to a Windows Server 2008 server on your GoGrid network. The base install of Cacti 0.8.7g will allow you to monitor the server’s bandwidth utilization, Ethernet errors, number of logged in users, and total number of processes. There are other templates available to monitor other components and services on your Windows server, but they require using an additional SNMP service beyond the Microsoft SNMP service. My blog post won’t get into the latter, but I will cover the former.

Objectives:

  1. Configure GoGrid private network connectivity on Windows 2008 Server and test connectivity to Cacti server
  2. Configure and start Microsoft SNMP service on your Windows 2008 Server
  3. Add new Cacti device
  4. Create graphs to log Local Connection and Local Connection 2 bandwidth and errors, Logged in Users, and server processes

Configure GoGrid private network connectivity on Windows 2008 Server and test connectivity to Cacti server

Below we see that we have a server (“Web2”) deployed on GoGrid with a public IP. Let’s log into this server and configure the private network with a private IP from the same subnet of the Cacti Monitor server. As I described in my previous post – I am using the prescribed private IP subnet from my GoGrid portal, contained under the List tab and then under Network – Private Network.

Selection_101

(more…) «How to Monitor Your Windows 2008 Server on GoGrid with Cacti 0.8.7g»

Agile Development at GoGrid with Pallet and Jclouds (Presentation)

Tuesday, February 8th, 2011 by

In order to provide a more “rounded” voice on the GoGrid blog, we are going to start having some new authors. To kick off this initiative, I wanted to introduce Paul Lappas, GoGrid’s VP of Engineering and Co-Founder. Paul manages GoGrid’s engineering efforts, technical operations, IT and the technology vision for GoGrid.

Recently, he and some other team members attending a MeetUp in San Francisco at the Twitter headquarters to discuss and present  JClouds and Pallet and how those tools are being used at GoGrid. Here is Paul’s synopsis of Jclouds and the presentation:

“GoGrid is doing some really cool stuff using an automated provisioning technology called “Pallet”.  Pallet is similar to existing automating configuration technologies like Puppet and Chef but with a key difference that it was built specifically to solve the problem of quickly spinning up and configuring groups of servers in the cloud. It support “Jclouds” out of the box and is implemented as a set of libraries for “Clojure” which is a LISP-based programming language that is quickly building steam.  Jclouds is an open source framework developed by Adrian Cole that helps you get started in the cloud and reuse your java development skills, with an API that allows you the freedom to use portable abstractions or cloud-specific features.

GoGrid is working with the author of Pallet (Hugo Duncan) and a key contributor Toni Batchelli to enable the fast deployment of fully functional GoGrid environments for use by development teams for test & dev. It’s a tough problem for most companies, but especially challenging for us considering how complex (and capital intensive) it is to stage an end-to-end GoGrid environment due to the sheer breadth of technologies that span almost all 7 layers of the OSI stack. With Pallet, we are able to treat our “infrastructure as code” and manage the configuration of systems, networks and applications just like we do our source code so that they can be quickly applied to spin-up new environments. But perhaps the coolest aspect is that we are using GoGrid internally to virtualize the individual components! It’s kind of like Inception where there is a grid-within-a-grid. Our teams are still getting their heads around logging into a GoGrid account and seeing virtual representation of physical GoGrid components represented as VM icons in the GUI! Very cool stuff.

The following presentation provides more details of the implementation and was presented at the recent Jclouds meetup at Twitter’s headquarter in San Francisco. Check out future jclouds meetups here:
http://www.meetup.com/jclouds/

Below is the presentation that was presented at the Jclouds meetup: (more…) «Agile Development at GoGrid with Pallet and Jclouds (Presentation)»