6 ms·
The necessary first step for any in-depth technical discussion is to set the context. Per the topic in this article, the context probably could be set to 2 ext
by justicezyx 6y ago
The necessary first step for any in-depth technical discussion is to set the context.
Per the topic in this article, the context probably could be set to 2 extreme opposite ends: hardware at the bottom, application at the top. Then we are clear that the focus is on how to reuse the pieces in the middle in order to optimize for a suite of objectives:
* Application's software engineering quality
* Application performance
* Operational excellence
* Hardware utilization
When hardware is pinned to CPU based general computing, and application to a typical server side web/mobile one, the environment is set in a public cloud; then this background more or less matches all sorts of different hot trending tech technologies, for example, container, microservices, service mesh, server less, etc.
In the end, generally speaking, one who produces the code for application developers, depending on how narrow they want to target, moves more distant from hardware.
At the same time, the complexity spectrum between hardware and application is largely constant. That means if application moves into certain directions, hardware eventually coaches up. And shed aways a lot of its legacy. The computation towards AI & ML calls for GPU, precisely because CPU cannot maintain sufficient abstraction and performance due to its extended complexity gap with AI & ML computing.
Back to CPU based application development.
Then what you observed is precisely what's hapoening. I.e. serverless optimizes for application abstraction for developers directly. While container optimizes hardware neutrality, while it's audience is devops, I.e. the operators.
The intention or results are not what you imagined though. Google does not particularly think the tech evolution should be from lower substrate. Rather, it's the only place they can differentiate from AWS. For AWS, the goal is to offer convenience to customers. Be it serverless, or any other tools or tech, it's largely determined by their assessment on how to capture the next high ground of tech competition.
Obviously, it's always safer to start from more abstraction in application development. As it directly interact with the customer and provide the most direct feedbacks.
- aliswe 6y agoWhy in the world is this downvoted? HN is so frustrating oftentimes.
- justicezyx 6y agoI suggest HN to have a quick drop down list for down voting reasons, such that some form of thinking is applied while clicking the icon.