I’m studying web and confused about the concepts of Django, Apache, and AWS.
I have an experience of developing web backend with Django and AWS.
Django handled the interactions between web browser and server.
AWS enabled the clients to share the same server and data.
But, what is Apache? This wasn’t considered during the development.
According to my research, Apache is web server application.
But, I can’t tell the exact difference of it with AWS.
Does AWS include Apache?
Please help me make sure what Apache is. Thanks 🙂
2
Answers
These are two completely different services/software. AWS (Amazon Web Services) is a cloud platform where you run applications and softwares.
Apache on the other hand is a SOFTWARE that run on servers. So, essentially you can run Apache on AWS.
That is the basic idea. AWS is a platform and Apache can run on top of AWS.
The stated goal for Django is to offer a web application framework that enables quick development and minimal code.That goal can be accomplished with a simple single-threaded web server that simply facilitates development and testing.
The goal of Apache httpd, Nginx, IIS, etc. on the other hand is to offer exceptionally scalable and performant web servers. These applications are highly configurable as all applications differ and there’s no one size fits all. They also require different expertise to design, implement and maintain.
Django
Django itself is web framework used for developing web applications based on python. Which is used for making development proccess more simple and easy. It provides various built in things such as Django ORM, Forms, Security, Authentication, Admin and many third party packages that are available on django packages. Which enables you to develop your application rapidly.
AWS
AWS stands for amazon web services which provides cloud applications such as computation units, cloud storage, databases, cache servers and so on. It provides computation units to deploy your web apps on. i.e EC2 intances (Elastic compute cloud). As well as it provides database such as RDS (Amazon relational database) along with S3 buckets (Amazon storage) for storing media files and serving static ones.
Apache
Apache is web server which is used to deploy web applications on production. You can setup Apache web server on you premises or let you setup in cloud platform such as Amazon EC2 instances. By defalt
Django
or any other web apps run on single thread which do not give better performance. Apchae web server enables you to run multiple threads/ workers to handle parallel request simultaneously.By putting all together You can develop you application using
Django
framework. Than choose AWS for deployment steps. i.e EC2 instance for Apache web server setup, RDS or any other database instance and S3 bucket for storage option.