A Web Developer Arsenal
As a developer, I am blessed with the ability to create something out of nothing. Building and creating stuff is just what I simply enjoy spending my past time with. Getting started building on the web is not that difficult.
That is, if you have all your arsenal ready at your disposal. It may not work for you, but it surely does help me clear up my thought process in coming up with the process of how to implement things.
Branding
Fore-mostly, we do need to invest a bit. Getting a domain name. This is important if you plan to start developing or hosting something that you plan to use outside of the development lab.
This is something I used to resist purchasing early on in my day. I regretted it, as having this in hand help so much in terms of strategy and open up my thinking. I no longer have to worry about sharing url for people to use my content or application I have built and letting people test it out.
At the end of the day, is not that expensive for a `.com`, especially with the always ongoing promotion from GoDaddy, NameCheap, etc. As I grew more comfortable with this and found a domain that fit me well. I just splash on this domain although is more expensive than the regular domain.
Edit: Get a free domain name from Freenom. The cheapest way for you to get started.
Oh well… 😀
Infrastructure
With that out of the way, let’s take a deep dive. I’ll break this into 2 parts. Web-Hosting and Application-Hosting.
This is not about building thing that is for scaling to millions, but merely for getting POC or initial product get going.
Regardless, whatever you’re trying to do. You’ll need it to be put on to the cloud so that it is 24/7 readily to be accessed by anybody.
Understand what you want to do is important.
If you want to go war, you need weapon.
The tools and infrastructure you have is the weapon you can use to deploy whatever application or web-page you have. Start by preparing, the underlying technology you need that suits your development skill-sets.
Again. Once you get this out of the way. You start to realize, the potential is unlimited. As the bottleneck, of technology selection, has been solved. You don’t have to concern the additional expenses you need to spend. You don’t have to think about what technology to choose, and just focus on getting dirty and code the shit out.
Web-Hosting
Let me explain. As the term implied, is for you to host a website.
Just go to any website you can think of. That basically it. You can access that from anywhere or any device 24/7. period. How is work, is by placing mainly a HTML file
(I’ll call it static file
) in a folder specially designed to link it to your domain name.
In short. Not just HTML file. You can literally put any file and access it through your domain name.
A hosting-provider is the person (AKA another website company) that will do the job of linking your domain name with that special folder. Some well-known names that I have tried are Exabyte, DreamHost, Hostinger(current). Just to add extra, I was also considering this YeahHost as I found the price point is also decent enough.
Edit: You can get free hosting at 000Webhost too.
We start to get smarter. How about programming on the web-page(HTML) to be more interactive? That is where PHP or JS (Javascript) comes into play. I’ll skip this for now, as it has too much detail to cover.
Still. At the end of the day, those are still static file which is just to place on that special folder (we call it public folder
).
Out of the box, ready-made website there are plenty. You don’t have to do all the crude work of programming just to make your own website look cool anymore. The most popular go-to nowadays is WordPress. 99% of the time, it comes with any hosting-provider you can find.
Application-Hosting
If you are doing your own application that needs a server. Very likely you’ll need this. The generic term people use is called Cloud Platform. And this usually costs more.
The cost will just continue to stack up as you start pouring more features. You start with a machine to run your code. You need a database. You need storage space. All this will just continue to add up to the basic infrastructure you need to get it running.
Another side you have to look into in the technology stack. Are you using Node.JS? PHP? Ruby On Rails? .NET? Java Springboard? Yea, so finding the right hosting that can run the framework you need.
Edit: Can use Heroku for you to run a simple application using their free dyno. Basically, this is a cheap alternative to help you get started.
Or.
Go for general VPS (Virtual Private Server). Basically is just a computer in the cloud that you can link with your domain name.
There are many companies especially those big-name are jumping into wanting to provide you this.
Amazon (AWS), Microsoft (Azure), Google (Cloud), IBM (Bluemix), Alibaba (AliCloud)… just to name a few. As you can see, most are the billion-dollar company we are talking about.
For that, we are lucky. Competition is better for us. Marketing is stiffer, and in some cases, we get up to almost a year of a free trial. Or certain feature is always free. Again too much detail to dig in here.
Edit: If you don’t mind trying out serverless, there some cloud services for you to try out. Netlify Function and Vercel.
Summary
In a nutshell, my advice is to have a game plan. The basic stuff most application needs is just this few.
Server (Backend Framework), Database (SQL or No-SQL), Web Page (Frontend Framework).
As you can read from my other post. My core is Node.JS, Any database (SequelizeJS), MithrilJS. In fact, I am quite flexible in switching framework as well, since is not that difficult for me to learn and pick up new or old tech.