Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,153,408 members, 7,819,453 topics. Date: Monday, 06 May 2024 at 04:34 PM

Backend Software Engineers, Let's Talk About System Design - Programming (3) - Nairaland

Nairaland Forum / Science/Technology / Programming / Backend Software Engineers, Let's Talk About System Design (11140 Views)

Threads On Visa Sponsorship Job For Software Engineers(web Based) / How Do I Go About This System Design ? / Mass Resignation Of Software Engineers Disrupts Banks Digitisation Move (2) (3) (4)

(1) (2) (3) (4) (Reply) (Go Down)

Re: Backend Software Engineers, Let's Talk About System Design by billante(m): 3:37pm On Dec 07, 2020
DC49:


In my case I would use a decoupled architecture. That is, separate the front-end from back-end and host them separately.
Front end would be an Angular app hosted on firebase, while back-end would be a Django Rest API hosted on Google App Engine with auto-scaling support to handle traffic surges.
I'd utilize a caching system like Memcached to reduce load on the back-end server, store the user generated contents like media files on a separate file storage service like Amazon S3 or Google Cloud Buckets, host the database separately on Google Cloud SQL, and finally use a CDN like Cloudflare.
This setup would be expensive though, but for a platform that gets such a huge amount of requests I'm certain the owner would be able to afford it.

Like a range of how much would this setup cost?
Re: Backend Software Engineers, Let's Talk About System Design by Utopian20(m): 3:44pm On Dec 07, 2020
Why is no body talking about html, Css and javascript coding for the front end. ?

Abi those are not good enough to build NL website?

Please no yabbing I'm just a learner oh

2 Likes

Re: Backend Software Engineers, Let's Talk About System Design by Utopian20(m): 3:46pm On Dec 07, 2020
Bosses in the house I need someone to teach me php programming language
Re: Backend Software Engineers, Let's Talk About System Design by techstack: 3:55pm On Dec 07, 2020
adampedia:
Please I need someone to talk about C#.

Gurus in the house, please can I be a successful UI/UX designer coupled with frontend development with backend like C#?

Yes
I am a C# Javascript developer
You can ask me anything
Re: Backend Software Engineers, Let's Talk About System Design by steve6: 4:00pm On Dec 07, 2020
Nice thread.
Re: Backend Software Engineers, Let's Talk About System Design by Arewaitech: 4:04pm On Dec 07, 2020
[quote author=DC49 post=96777395][/quote]

Nothing else to say boss. You don win.
Re: Backend Software Engineers, Let's Talk About System Design by TyrellObi: 4:19pm On Dec 07, 2020
I just downloaded Colt Steele's [the new version for 2020] and Angela Yu's web development courses from udemy.com... Very soon, I'll be a professional web developer... I'm still learning frontend (I'm learning Bootstrap now)...

I wish I could get a mentor that I'll learn from and be accountable to... Anyone?..

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by ibnlawal(m): 4:38pm On Dec 07, 2020
Harrykn:

Shaw academy
freecodecamp.....
khan academy
sololearn and some w3schools

I use app like pictured below and download videos from YouTube.

Gracias seƱor

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by Nobody: 4:40pm On Dec 07, 2020
Pls can u text ur watsapp number

techstack:


Yes
I am a C# Javascript developer
You can ask me anything
Re: Backend Software Engineers, Let's Talk About System Design by cybertruss(m): 4:40pm On Dec 07, 2020
For me, I would not like to spend so much money on services I give out for free.

So I will not like to maintain several virtual machine instance because I will have to pay for it after my trial is over and it will not be cheap.

What I will do is get either a dedicated server or a vps. I will start with vps with KVM virtualization.

I will do what is known as web server tweaking. For instance instead of apache I will use Ngix combined with other server technologies to minimize resource utilization because of bandwidth. There are ways of dividing traffic to different web servers in a single vps

If I have a good team I will run multiple languages in the server. But if not I will maintain 1 language for the back end and front-end which could be either nodejs or php MySQL. Reason is that I am a tech freak and I always update my software to the latest stable technology. From experience, I have notice that one will run into problems using multiple technologies.

Today php 8 is out you start an update. Before you finish bootstrap 5 will be out with lots of features, before you know what is happening another update is out. The list is endless.
There is a high probability that the different back end you use can have important update with new features that will make your business better. If you use several technologies the volume of work will be extremely high and costly to maintain.

The above techniques will reduce cost and at the same time enable me achieve my goal in the shortest time. Time is extremely important to me

7 Likes

Re: Backend Software Engineers, Let's Talk About System Design by kponkedenge(m): 4:41pm On Dec 07, 2020
DC49:


In my case I would use a decoupled architecture. That is, separate the front-end from back-end and host them separately.
Front end would be an Angular app hosted on firebase, while back-end would be a Django Rest API hosted on Google App Engine with auto-scaling support to handle traffic surges.
I'd utilize a caching system like Memcached to reduce load on the back-end server, store the user generated contents like media files on a separate file storage service like Amazon S3 or Google Cloud Buckets, host the database separately on Google Cloud SQL, and finally use a CDN like Cloudflare.
This setup would be expensive though, but for a platform that gets such a huge amount of requests I'm certain the owner would be able to afford it.

Do you currently use VPN?
Re: Backend Software Engineers, Let's Talk About System Design by Miyachi: 4:50pm On Dec 07, 2020
sarutobi:


Reduce cost by using AWS Is this a joke?

Decoupled architecture? Why? There must be a reason to go that far.

Nairaland is a simple app. Its does not need to have the frontend and backend hosted separately. A good dedicated server should handle the load well.

You can use the new buzzwords like angular, vue, nodejs etc to bamboozle the client and win customers but simple plain PHP/Python/Ruby with vanilla javascript will be more than enough to produce nairaland in record time.

I consider the owner of Nairaland to be very smart. this is why nairaland does exactly what it needs to do. Nothing more, nothing less.

Just my thought.

I think all these ideas are a bit overkill. The one I don't even understand is NoSQL as DB of choice. I'll go with Postgres.

Any backend language will do (PHP, Go, Python, etc). I have a bias against the bloated nature of Nodejs apps - I wouldn't touch anything Js for backend with a 10-foot pole.

Decoupled architecture? I'd prefer a monolith app, I'm not Amazon or Google.

I think what needs a lot of change though isn't so much the technologies used but how NL works. I will chose to rank topics based on interest (upvotes?), comments too.


A different frontend and backend will be the way to go if you would want to make it easier to develop for different platforms. I will rightfully make the backend RESTful.

I'd prefer to rent a server than use AWS or Google, I think it'll be cheaper. KVM enabled virtualization, run everything on Docker.

3 Likes

Re: Backend Software Engineers, Let's Talk About System Design by Ayilara1(m): 4:52pm On Dec 07, 2020
Lols, my road still far gan oo.

All they are discussing here looks like film to me.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by zigzagluv: 4:54pm On Dec 07, 2020
can you work on a dating website, which will have a traffic of 1million users a month, can u work as a full stack developer
SilverG33k:


Database sharding how did I miss that... Excellent point there, very necessary, why would the DB be encrypted tho? Or what part of the DB needs to be encrypted, please share, because I am just considering the speed and complexity
Re: Backend Software Engineers, Let's Talk About System Design by adesmarty: 5:18pm On Dec 07, 2020
Topmaike007:
go and start something using YouTube...

Code ninja is there for you..

Start with html, css and add bootstrap to it for frontend then later you can come for backend.

Me self still dey learn too..


I want to begin with python... I'm going for app development and not website
Re: Backend Software Engineers, Let's Talk About System Design by Topmaike007(m): 6:16pm On Dec 07, 2020
adesmarty:


I want to begin with python... I'm going for app development and not website
then you're going to learn django along with it

Django is also a framework of python
Re: Backend Software Engineers, Let's Talk About System Design by bankrich4real: 7:37pm On Dec 07, 2020
Well, depending on your dexterity with the programming language u choose to stick with, this can be achieved. Personally, decoupling the frontend from the backend, using a restful backend to serve the API' s to the frontend. Django Rest Framework is my preferred choice in this regard, flexible, has modular and easily customizable architecture and very easy to get up with, while I have a natural bias for vuejs bcox of its ease of Integration, simplicity, reactivity and portability. I will consider Amazon S3 to serve the files, PostGres dB & Heroku hosting. With this set up I have an eye on performance and then making things reasonable in terms of cost and maintenance. However, it's very important to note that there's no "best programming language" to do this in my opinion. It's down to the individual developer, considering how comfortable he/she is with the languages in question and what needs to be achieved.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by introvertme: 8:30pm On Dec 07, 2020
sarutobi:


Reduce cost by using AWS Is this a joke?

Decoupled architecture? Why? There must be a reason to go that far.

Nairaland is a simple app. Its does not need to have the frontend and backend hosted separately. A good dedicated server should handle the load well.

You can use the new buzzwords like angular, vue, nodejs etc to bamboozle the client and win customers but simple plain PHP/Python/Ruby with vanilla javascript will be more than enough to produce nairaland in record time.

I consider the owner of Nairaland to be very smart. this is why nairaland does exactly what it needs to do. Nothing more, nothing less.

Help me tell them. They think this one is a startup that has vc fund to waste.

2 Likes

Re: Backend Software Engineers, Let's Talk About System Design by Fash20: 8:42pm On Dec 07, 2020
Mrmourinho:

Fash from Fuoye?

Nah boss.
Re: Backend Software Engineers, Let's Talk About System Design by teepain: 8:42pm On Dec 07, 2020
TyrellObi:
I just downloaded Colt Steele's [the new version for 2020] and Angela Yu's web development courses from udemy.com... Very soon, I'll be a professional web developer... I'm still learning frontend (I'm learning Bootstrap now)...

I wish I could get a mentor that I'll learn from and be accountable to... Anyone?..

What areas do you need mentoring for? I need the clarity to know if I can provide the mentorship you need.
Re: Backend Software Engineers, Let's Talk About System Design by Fash20: 8:45pm On Dec 07, 2020
Aremson14:
Will use React as my front end. Then develop a node/express to build a rest api as a back end. Use mongodb as database

MERN stack i sight you sir

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by introvertme: 8:45pm On Dec 07, 2020
billante:


Like a range of how much would this setup cost?

Most of the things listed are hourly payment. You have to setup an alarm to monitor the services you use on Aws or Google cloud if not. Your bank account go hear am.

If you don't have plenty of startup capital and users(to justify why you are using cloud services) use a VPS or shared hosting.

Iroko TV spends over $10,000 a month on Aws for their streaming service, they don't have the users nairaland has. When they have the users nairaland has, they will take loan to pay the fees like Netflix. Lol.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by ibuildstuff(m): 8:58pm On Dec 07, 2020
sarutobi:


Reduce cost by using AWS Is this a joke?

Decoupled architecture? Why? There must be a reason to go that far.

Nairaland is a simple app. Its does not need to have the frontend and backend hosted separately. A good dedicated server should handle the load well.

You can use the new buzzwords like angular, vue, nodejs etc to bamboozle the client and win customers but simple plain PHP/Python/Ruby with vanilla javascript will be more than enough to produce nairaland in record time.

I consider the owner of Nairaland to be very smart. this is why nairaland does exactly what it needs to do. Nothing more, nothing less.
I like ur comment many times o, because I was like why can't someone use normal php, JavaScript hosted on a dedicated server. Instead of going through all does stress mentioned above.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by Silverman42(m): 9:10pm On Dec 07, 2020
Why is no one mentioning PAAS (Platforms As Services) like Heroku and Digital Ocean App Platform for Hosting options. They help scale your backend without hassles

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by oyatmicah(m): 9:28pm On Dec 07, 2020
Just learn PHP and Laravel as a framework and all your backend problem is solved, all these big grammer for nairaland website fa.
Or if you want to work smart, just clone the app and redesign.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by Silverman42(m): 9:35pm On Dec 07, 2020
oyatmicah:
Just learn PHP and Laravel as a framework and all your backend problem is solved, all these big grammer for nairaland website fa.
Or if you want to work smart, just clone the app and redesign.
grin grin grin. Baba no like stress.

4 Likes

Re: Backend Software Engineers, Let's Talk About System Design by bukxy: 9:59pm On Dec 07, 2020
Silverman42:
grin grin grin. Baba no like stress.
abi oo performance and efficient result is what matters .
Re: Backend Software Engineers, Let's Talk About System Design by cixak95212: 12:18am On Dec 08, 2020
AZeD1:

1) Shopify is at least 50 times bigger than Nairaland and it's still a monolith so what makes you think you need microservices? If you remove duplicate users (those with multiple accounts) and people who do not visit again how many do you think are members?

2) Sharding a DB from the start? How are you going to do it, what parameters are you going to use to shard?

3) NoSql DBs are good for unstructured data but Nairaland's data is structured. You have users, posts, comments and messages.
A user can have many posts, comments, messages (PM).
Posts, Comments and Messages belong to a user. This is classical SQL with makes RDBMS the obvious choice.


Examples of companies that have gone the route of microservices only to go back to monoliths.

https://segment.com/blog/goodbye-microservices/
https://aletheia.medium.com/istio-back-to-monolith-and-you-88dd3bd23265

Always remember premature optimization is the route of all evils

Beware of hype driven development... Just because big company X is doing something doesn't mean you have to do it.
The original question assumed 1k RPS and you can configure nginx to handle close to 500k RPS.

I dont want to start going into a battle of microservices vs monolith, but your analogy is flawed. I hope you understand how legacy codes work, and if a coy has been running a monolith for a long time, it's often a very difficult task to switch. AWS has 50% of their api documentation in XML and the rest in newer sdks . . does it mean, we should use XML these days? For that fact that 1 - 10 companies switched from microservices to monolith, doesnt make it better, as there are x10 that number that switched from monolith to microservices. You're only paying attention via one-lane to favour ur argument. Microservices were created to solved problems that came with monolith especially during scaling and not the other way around.
The newer guy is often better although it comes at a cost which is not limited to expensive cost of operations.
Secondly Nosql has passed the era of "unstructured data only". Knock yourself out https://docs.mongodb.com/manual/core/data-model-design


p.s.; NGINX cannot handle 500k request, except you configure a cluster. You're defaulted to under 100k out of the box. What is a cluster? Microservice-biased or monolith-biased, lol hahaha grin grin grin. The thing i say I say from firsthand experience and not online blogs.

1 Like

Re: Backend Software Engineers, Let's Talk About System Design by AZeD1(m): 12:45am On Dec 08, 2020
cixak95212:


I dont want to start going into a battle of microservices vs monolith, but your analogy is flawed. I hope you understand how legacy codes work, and if a coy has been running a monolith for a long time, it's often a very difficult task to switch. AWS has 50% of their api documentation in XML and the rest in newer sdks . . does it mean, we should use XML these days? For that fact that 1 - 10 companies switched from microservices to monolith, doesnt make it better, as there are x10 that number that switched from monolith to microservices. You're only paying attention via one-lane to favour ur argument. Microservices were created to solved problems that came with monolith especially during scaling and not the other way around.
The newer guy is often better although it comes at a cost which is not limited to expensive cost of operations.
Secondly Nosql has passed the era of "unstructured data only". Knock yourself out https://docs.mongodb.com/manual/core/data-model-design


p.s.; NGINX cannot handle 500k request, except you configure a cluster. You're defaulted to under 100k out of the box. What is a cluster? Microservice-biased or monolith-biased, lol hahaha grin grin grin. The thing i say I say from firsthand experience and not online blogs.

1) You do know that cluster has nothing to do with architecture right? You can have a cluster of monoliths right...

2) I'm pretty sure nairaland as is today is a monolith and it works very well.
Re: Backend Software Engineers, Let's Talk About System Design by Finalfantasy: 1:35am On Dec 08, 2020
C# here
Re: Backend Software Engineers, Let's Talk About System Design by cixak95212: 2:22am On Dec 08, 2020
AZeD1:


1) You do know that cluster has nothing to do with architecture right? You can have a cluster of monoliths right...
yes i know and thats why i I said "microservices-biased or monolith-biased", so i was simply asking upon what clusters closely resemble in terms of architecture and operations

2) I'm pretty sure nairaland as is today is a monolith and it works very well.
I never said monoliths dont work well, they do. 3G works well till tomorrow, does it mean its better than 4G?
If you live in a bad-network area, 4G might not be suitable for you, same for microservices which might not be suitable for your use-case, Still, 4G beats 3G hands-down, jsut as how microservices beats monoliths hands down.


You get the idea now?

2 Likes

(1) (2) (3) (4) (Reply)

Which Nigeria University Are Good For Computer Science?? / Humour: Does This Realy Say's Truth Abt Programmers / Alt School Africa Thread

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 63
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.