Ethereum nodes are computers participating in Ethereum blockchain network. These nodes are actual computers running software that verifies, stores, and sometimes creates blocks. The actual software is called a "client," and it allows us to interact with the blockchain using the JSON-RPC API, parse and verify the blockchain, and read or write to smart-contracts.
Geth is the official client software provided by the Ethereum foundation. It is generally considered to be the reference implementation for other Ethereum nodes.
geth node requirements
• At least 8GB RAM
• SSD drive with at least 500GB (1 TB recommended)
• Good internet connection is always an uncompromisable factor.
Deploy geth node
To enable go-ethereum's launchpad repository run:
$ sudo add-apt-repository -y ppa:ethereum/ethereum
Then to install the stable version of go-ethereum:
$ sudo apt-get update
$ sudo apt-get install ethereum
Or to install the develop version:
$ sudo apt-get update
$ sudo apt-get install ethereum-unstable
geth additional configs
For seeing all other flags and general help:
$ geth --help
To enable the HTTP server
$ geth --http
To enable mining
$ geth --mine
To enable the WS-RPC server.
$ geth --ws
Following link will provide step by step in instructions on how to upgrade your Geth Ethereum node.
Additional References:

