20 years ago, developing web applications was just a simple straight forward thing. Today, developing web applications is a multi-disciplinary work. I’m going to break down the levels of work while keeping things as simplified as possible.
Think of a web application as a building with 4 levels:
Each level rest on the level before it. You can’t have level 2 without level 1, level 3 without level 2, and level 4 without level 3. The same reasoning that you can’t build a building without the storey before it.
In the simplest of web applications, you can build all 4 levels into a single project. The most complex applications can even have multiple projects in each level.
The central node to everything else. The brains of everything. The business logic. The data storage platform.
Here are the things you need to consider in this level, but not limited to:
A connector is a bridge between the Matrix and the interface. In the simplest of web application, sometimes, this is non-existent. You will only need a connector if your application has a distinct seperation between the Matrix and the interface.
A mail server is an example of a connector. When you develop a web application, you are certainly not going to build your own mail server along with it. You will likely use an external provider, such as Gmail, Hotmail, Yahoo, etc… Your connector will send out emails on behalf of your application.
A connector can also be an API from which other applications to interact with. For example, Facebook API is a connector to Facebook itself. The API allows you to interact with Facebook. So if you are building your own API, you are allowing other applications to interact with your own web application. You will most likely need this if you are building a mobile application.
Here are the things you need to consider in this level, but not limited to:
The interface which a user will use to interact with the Matrix through the connecter, such as the web browser, the phone, the tablet, the Xbox, Outlook, Hololens, Oculus, etc…
In your context, I know you explicitly mention about web applications. But web applications can be consumed on mobile phones as well. I also presume that your application has a chance to go beyond a website.
Here are the things you need to consider in this level, but not limited to:
The presentation and the delivery of content, inclusive of text, images, videos, live broadcast, etc…
Here is where the users actually see, touch, and feel your application. It is not restricted to a human user. A robot, such as googlebot, can also be viewing your website on this level. So other than making sure that your website is readable to a human, you would also consider Search Engine Optimisation (SEO).
Here are the things you need to consider in this level, but not limited to:
In a typical use case, someone such as yourself, will probably rent a web host from GoDaddy(Maybe). And then from its cPanel, you will instruct it to install wordpress. And that’s it for Level 1.
Now you need to send out emails to your subscribers, so you also get a mail server from GoDaddy(Maybe) and you configure your wordpress to send out emails through GoDaddy SMTP. And that’s it for Level 2.
Now you want to have a nice looking website that can be viewed nicely on mobile phone browsers too. So you look around the internet and downloaded a nice looking template for wordpress. And that’s it for Level 3 and 4.
Level 1
You decided to rent servers from AWS. In Level 1, you decided that the Matrix is going to be in a clustered environment. So you must store Relational Data in a RDS. Your assets must also be stored in S3. You have configure VPN site-to-site configuration, so all data backups go to your office servers. You use Java to build the matrix, but you also use machine learning in your application, which is built on python. As machine learning is computationally intensive, you built a seperate clustered GPU system for your ML needs.
Level 2
Not just a website, you also intend to have mobile applications, PlayStation, Xbox, Hololens. Your web application will have a built in connector to do HTTP calls to the matrix in JSON. You will need to build a seperate connector for your mobile applications, Playstation, Xbox, Hololens. You anticipate that you have high traffic volume, so you add a load balancer to your connectors. Your mail server is Zimbra, which you are hosting on AWS. So you ensure that emails are sent out properly. You also have SMS notifications, so you subscribe to a SMS gateway.
Level 3
As you are building for web browsers, mobiles, PlayStation, Xbox, and Hololens, you build all of these applications in their respective programming language.As you are also using Facebook Login, Google+ Login, and Paypal Login, you have to build these services into every application. You also ensure your emails do not fall into spam folder when it is delivered. On mobile devices, you are accessing camera and location functions. All of these external devices are communicating with Level 2 in either Binary or JSON.
Level 4
You have to take into account of the various mode of input and output, ensuring the best user experience in every device. Due to high volume traffic, you decide to have a Content Distribution Network to lower latency. Robots are also reading your contents, so SEO must be properly done.