In the last post, we saw that to build your own website, you need: a domain name, a machine to host your content and a record that maps your domain name to the machine. We saw that instead of building your own server machine, we hire machines from a hosting company. We used an analogical story about a company that builds shelves of racks and leases it to whoever wants to use them. We also mentioned that hosting companies offer machines at different levels of readiness based on your requirements. These different levels of readiness are called hosting plans. In this post we will see which hosting plan suits which type of website.
Virtual private server
Virtual private server is a hosting plan where the only thing installed on your hired machine is the operating system. Both Linux and Windows hosting plans are available. You are given access to the machine using a username and a password. Once you get it, you can treat it like your home computer. You can use the command line or the GUI desktop to install any software that you want. However that does require a high level of expertise. Everything is under your control, short of touching the hardware on this machine. So if you want to run applications which use special hardware, you cannot use a virtual private server. E.g. an application which makes calls from the Internet to a telephone network would need an extra hardware called a PBX switch which is used to transfer your voice from the Internet wire to a landline telephone wire and the other way round. In such cases, you would need to set up your own server machine, instead of leasing it from a company. For the purpose of this blog, we are considering running your own website, so we do not need special hardware.
With a virtual private server, you have so much control that you are not limited to running just one website, but even ten websites from the same machine. Plus you can have your own Email server, FTP server, online money processing software and the works. Because they offer you more freedom and control over what you can do, virtual private servers cost more than the other options. But the more software you run from such a server and the more users you serve, your cost of operation per user comes down drastically. Plus you can offer a variety of services to a single customer, such as e-Commerce, paid E-mail, paid games, etc. Hence the income earned per user will also go up.
Amazon Web Services is the world’s most popular virtual private server vendor. Google Cloud Computing, Rackspace, Linode and Digital Ocean are the other popular ones. Tech 101 runs on an Ubuntu Linux machine on Linode. I have installed Apache web server software myself, along with WordPress. The same machine runs a blog named We Are The Living, where my wife, Priya, and I blog about our lessons from life and how we learn to get better everyday. I also run my own E-mail server. I secure all my most important services using an SSL certificate, which makes the data sent between you and me tamper-proof.
Blogs are the most common type of website on the Internet and WordPress is the software that powers most of them. In fact, it is estimated that 27% of the Internet is powered by WordPress! Do you want to host a website which is majorly a blog and has a few pages such as ‘About Us’, ‘Products & Services’ and ‘Help’? Look no further than WordPress. This is perfect for companies that frequently talks to its fans through blogs and builds its base using an E-mail subscription list or through subscribers of RSS feeds.
WordPress software is based on the PHP programming language and it was released by a company named — you guessed it — WordPress! This company’s service WordPress.com offers the world’s most popular WordPress powered blog service, where you can host your own blog. However, the company has released the software for free at WordPress.org, so that anyone can download it and build their WordPress powered blog on their own machines, like I did with Tech 101. Furthermore, plenty of companies gain business leverage by installing WordPress software on their server machines and then offering those machines for rent, so that people who do not own a server or do not know how to install WordPress can then create and host their blogs on these ready machines for a monthly free. What is the advantage of choosing a WordPress powered machine from a smaller player rather than WordPress.com itself? Well, WordPress.com has machines mainly in the USA and maybe some other countries where they focus their business on. If your blog is for people from your country in your local language, then you are better off looking for a WordPress powered server in your country, so that the website loads faster reducing the delay due to geographical distance. This delay is generally in precious milliseconds, which seems like a big deal for Internet users.
The power and flexibility of WordPress comes from themes, which are ways to change the look and feel of your blog and from plugins, which extend the functionality of WordPress beyond just a generic blogging platform, e.g. plugins which help you classify your blog posts as free / paid. Regular users can see only the free blog posts, where as paying members can access more exclusive content.
Drag and drop website builders
WordPress helps you get started immediately if your website is a blog. However what if it is a landing page with actions required by the user? What if the website has interactive fields like forms, textboxes, buttons, pictures, maps, charts and video content. WordPress is good if your website has text content and a few embedded images. For a richer website, you should consider using a website builder that helps you build your own pages with drag-and-drop. Landing pages for products are often very good examples. If you want to make just one page where you enable customers to purchase your product, it is easier to use a drag-and-drop service like Squarespace or Wix, rather than use the services of a human web developer, who can be used better on more complex problems.
However be warned that drag-and-drop services are limited. Since everything possible on websites cannot be possibly represented in drag-and-drop paradigm, it is best to stick to these solutions for websites with static pages, where the content does not often change or changes very little.
One of the basic solutions offered by website hosts for entry-level websites is the hosting plan for static websites. Static websites are websites where the content seldom changes. Everyone sees the same content at all times of the day. This is different from a dynamic website like Facebook where you will see an ever changing timeline that is specific to your username. Static websites are rare because most information is always changing and websites need to update all the time to give users the latest.
However, static websites are perfect for evergreen information, but it is hard to make money out of such websites other than from banner advertisements. E.g. a website that shows you the different knots you can tie on a rope or how to iron different items of clothing is perfect to be hosted as a static website. They are only so many knots to tie and only so many items of clothing to be ironed. That information will seldom change.
The content is in basic HTML and there is no programming required. The website host offers FTP access through which you can load your HTML files to the host’s machine, using drag-and-drop software such as FileZilla. HostGator is one of the most popular static website hosts.
LAMP / WAMP websites
Acronyms for Linux-Apache-MySQL-PHP or Windows-Apache-MySQL-PHP, these services allow you to write PHP programs and access records from a MySQL database. These are perfect for websites where you store records which change all the time. E.g. A railway timetable can be represented by records of trains, railway stations and train timings stored in MySQL database. PHP programs can then query the database and build webpages to show the information that the user wants. Another good example is a lead-generation application, where users fill up their contact details in a form and the PHP reads the info off the form and stores the records in a MySQL database. PHP and MySQL is pre-installed on the machines. Users are allowed to create and access MySQL databases using a GUI tool like MySQLAdmin, rather than using the commandline. PHP programs can be uploaded using FTP.
Not all programmers prefer PHP, so there are similar hosting services which allow programmers to choose Python, J2EE, .NET or Ruby on Rails.
Similar to blogging, e-Commerce is a high ticket business on Internet. Naturally, there are hosting companies which help you simplify the building of your product catalog, shopping cart, payment methods and invoicing. Shopify is one of the most popular choices for building your e-Commerce website. There are other choices, plenty of them built on top of Magento, a PHP based e-Commerce software.
However, I would like to go on a tangent here, possibly offering you a more start-up friendly solution. Please note that an e-Commerce website is just what your customer sees and orders from. The real value in e-Commerce is in efficient product delivery. Delivery is easy if your product is digital, like an e-Book, where you just point the paying customer to an exclusive link not accessible to non-paying public. The customer then downloads the digital product from the link. Otherwise, you can e-mail the product directly to the paying customer’s inbox. However, the world is different for physical products. You have to maintain a supply chain by ordering products, stocking them in warehouses, picking them up after a customer orders and finally ship them, for which you have to tie up with logistic and courier companies and push them for good service. An e-Commerce website service provider does not help you handle the supply chain and you may need to invest seperately on expensive software such as SAP.
If you are simply interesting in selling products and not building your own supply chain, then you are better off signing up for a service like Amazon Seller Central. You get your own store on the Amazon website and the postal address to a physical warehouse in which your product will be stored. Here is how you go about your business. You ship a certain quantity of your products to the postal address of the warehouse, which will stock them. Next, if you are selling one or two products, then you should build a static website with pages showing your products. If you are selling a whole range of products, then you should use a LAMP service, to build a database of products and use PHP to generate the product catalogue from the database. However, the Buy Now button should redirect to the link of your Amazon Store. You should skip programming your own shopping cart or payment system. Customers will use Amazon to add products and complete their purchase. Once the customer confirms payment, Amazon takes over. They will make sure that your product is picked up from the warehouse and shipped to the customer using their ‘Fulfilled by Amazon’ delivery service. To ease your worries, all the logistics are handled by Amazon. And they will credit your income to your bank account on a weekly basis.
So, here is my summary. If you are considering building an e-Commerce website and if you are an entrepreneur just starting out, I strongly discourage building a full-blown e-Commerce website. Instead, simply build a website where the user can browse through your product catalogue. Clicking on any item should take the user to the page of your product on Amazon. Sure, Amazon takes a cut of your profit, but I would say that it is small price to pay, giving you time to figure out your supply chain gradually. Meanwhile you are making money without having to worry about product delivery.
As you can see, building and hosting a website for your business is becoming easier because of companies offering ready-to-go services, where all the technical groundwork is taken off your shoulders and you just need to provide the content and business logic. However, if you are an expert, companies are willing to give you the freedom to take your service where you want. I hope you found this post and the last enlightening and that you are able to take steps towards building your precious website.