Showing posts with label website. Show all posts
Showing posts with label website. Show all posts

Sunday, May 7, 2023

The DIY Approach: How I Hosted My Website from Scratch - The Domain

This is in continuation of a plan to host my own website. The plan here is to have a custom URL aka custom domain. There are plenty of domain sellers like Google Domains, GoDaddy Inc, Bluehost and many more. There are some that give away domains for free like Freenom and when it is free either you are the price or your PI data or PI data of the ones visiting your website is the price and that is something I'm not interested to take chances. 

I didn't spend too much time on selecting the provider. But now after having the domain for a while and realized that few additional services would have added value to my website and I feel I should have researched more. Anyhow I ended up buying domain from Google Domains. Reason for choosing - my familiarity with Google environment and more importantly it was the first result on the search result page. This is when I realized how important it is to have your website SEO (search engine optimization) and SERP (search engine result page) optimization to generate good traffic on the site. There are plenty of case studies on search optimization and its worth a read. One interesting case study is Zomato and Swiggy SEO Strategy 

In addition to above reasons, I also looked price of the domain that is not too expensive and also doesn't expose my email address in WHOIS domain lookups - I don't want to deal with spam!! Depending on the type of top level domain (TLD) viz. .com, .org, co.in, etc. registration price ranges from few hundreds per year to few lakhs of Rupees (few hundred thousands). Apparently, there are domain name investors who speculate on "catchy" domains and so there is high prices for some domains along with registration fee. 

Okay, alright I have a custom domain for my website. What next?

Next step is to host your web site in a hosing service provider, in my case AWS and bind the custom domain and the hosting services Name Servers. Sounds simple !! 

No, It wasn't simple for me. The goal was to build the website from SCRATCH. Before purchasing a domain I spent many hours learning HTML, CSS and to some extent JS. These three together are the real rabbit hole!!! With these three there is no starting point or ending point in learning and a million things can be added in-between. Not discouraging anyone trying to learn, there are plenty of resources available online. The website building took lot of time given that I worked on this project only during weekends. However I did develop one and you can find it my GitHub repository. I've integrated UiPath Bot to this CI/CD deployment - more details in Readme file in the repo. I used GitHub Pages for deployment of the website and not the custom domain. More of this in another blog. 

Back to this domain topic ... 

I already mentioned that there are may service providers that sell domains as well as provided additional services. These services specifically help in not requiring to learn HTML or CSS or JS to develop a website - they provide WordPress in addition to this they also provide services like website backup, SSL certificate to HTTPS your site, tools to boost SEO and SERP ranking, etc. - these I specifically came across in Bluehost, which I felt its a good bargain when I compared with AWS EC2 service. More over Bluehost is providing free domain for 1st year bundled along with web hosting service. At this point, it appears I'm at a logical point to conclude The Domain chapter. 

The journey continues .. Stay tuned !!! 

Monday, May 1, 2023

The DIY Approach: How I Hosted My Website from Scratch - The Plan

I always wanted to host my own website just for kicks and giggles !! But also wanted to have total control without much investment. This was not possible with any web hosting services that are around. These services are expensive and moreover I'm in exploring mode where I want to spend as little as possible yet have a expensive professional look on the website. 

I was looking for options like - 

  • If I could host the website from my own laptop or 
  • If I need to have a website hosing service. 
Then the custom domain, anyway I need to purchase that. There are plenty of vendors that sell domains. Buying a domain is as simple as buying a laptop from Amazon, if you know what specifications you want. 

Coming to the first approach - If I could host the website from my own laptop, I could have done that but security of my home network and the disadvantages out numbered the advantages:-
Advantage are
  • There is no cost of additional infrastructure - just my laptop and the existing network !!
  • I can have total control how and when I update my site
  • I could take off when I feel I need to move on to next learning curve 
then the disadvantages:-
  • I need to expose my IP to public - this opens "can of worms" for my network security, this alone out numbered every advantage. 
  • my laptop needs to run uninterruptedly - I doubt this is possible 
  • I need to learn how to expose my IP and then to protect it which puts my present agenda off the track  
My best bet was to try out some of the cloud services, and my immediate approach was Azure which gave a $200 credit and then Google Cloud again gave a similar credit but these amounts were not sufficient to explore what I'm looking for. I was looking for a bare minimum server configuration or at least a service that lets me host my site and expose the IP to public.

AWS was my next destination. May be my exploration with Azure and Google Cloud made AWS interface more easy to navigate or it is just better user interface. Here in AWS I came across 3 wonderful services that I could choose and use for my requirement. They are :
  • AWS EC2
  • AWS Lightsail
  • AWS Amplify
I'll talk more about these in future, but for now my quest to host my site found a solution. 

In the next blog I'll talk about the domain services I used and the reasons behind choosing it and could it have been better if I opted for a different provider. 

Stay tuned !!!