How to pick-up suitable technologies for your new web project.
-
Introduction
In this development field , There are more new technologies coming up everyday ๐ . As a software developer you need to select the best technology ๐ป for your project. It's depends on your project requirement. Let's see how to pick-up a best technologies to build a awesome software. ๐๐
Architecture
First we should consider about the architecture of the application. We should analyse 2 things,
- What kind of architecture that we going to use. like (MVC,SCS)...
- Which the best framework to working with...
Programming Language
Picking-up programming languages is very important thing.
We should consider about- performance - The native performance of language.
- frameworks - Available frameworks for that language.
- resource availability - The resource to learn about the language & able to find solution for any issues.
- support & documentation - Best official support service & documentation.
- maintenance - Easy maintainable.
- extensions - Able to add additional extensions & able to remove unwanted.
Databases
Databases are very important thing in software. There are 4 main types of databases,
- Relational Database (MySQL,MSSQL)
- Objection Relational Database (Posgre SQL)
- Graph Database (Neo4J)
- No SQL / Key-Value Database (MongoDB,DynamoDB,FireBase)
Before pickup a database you need to analyse what kind of data that you are going to use in you app. simply like (plainText,encrypted data,BLOB string,hashes).
Then draw a simple map of your data flow. Analyse the relationships between the entities. Then pick which database is suite for you.
Server Software
There are few popular server software are available.
Apache - Popular server for Most of Web programming languages.
Nginx - Most populate high performance web server with built-in HTTP cache, Proxy & load balancing .
TomCat - Webserver commonly use for JSP applications.
IIS - Official Webserver for .NETHosting
Hosting is a very important thing. There are few tips for find correct Hosting Providers.
- Always choose nearest data-center to your target clients.
- Consider their support service.
- Cost
- performance.
Popular Web Hosting/Service Providers.
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
- Digital Ocean
- Blue Ocean
- linode
- Cloudcone
---- Other Few Production Level Tips (High Cost, Better Performance, Large Projects) ----
Index Database for high performance when retrieving data.
Use Database cache (redis,memcached) to speedup data retrieve & reduce database load
Cluster your database for high availability & performance.
Use CDN to fast deliver static files and reduce the time to load the application.
Use load-balancing to reduce traffic & prevent server down & increase performance. (Zero Downtime).
Use SSL for webserver & database server to make secure connections.
Always update the softwares to get patches from vulnerabilities & attacks.
Use Build tools & CI/CD to Deliver & Build & Deploy applications automatically & quickly from repository.
-
very usefull bro,,, thanks
-
@dev_lak You are welcome :)
-
fatta bro
-
@Malith :relaxed:
-
Thnx bro..always we learning new things.
-
@root :v: :v: :v:
-
GraphQL is not a database... it's just api
-
@waex97 sorry bro i was a mistake, thank your for your notice
-
Thank you bro
-
Supperb Bro
-
@isuru2014 ๐๐
-
@thameemziyatha thank you bro