The Ethereum Virtual Machine, or EVM, is the part of the Ethereum network responsible for the interpretation and execution of smart contracts. The EVM is what defines the rules for computing a new valid state from block to block, and the rules and logic for the EVM are detailed in the yellow paper.
Because the EVM is totally isolated, its code cannot directly interact with the network or any consensus processes. The majority of the source code for creating smart contracts is written in the Solidity programming language. When executed, Solidity is translated into a format known as bytecode before being converted into opcodes, or operation codes, that the EVM can understand. These operation codes are instructions interpreted by the EVM that determine the results of a transaction.
The EVM is deterministic, meaning given the same inputs (transaction and state), all nodes will produce the same output when executing the smart contract.
The EVM can perform all kinds of actions on the blockchain so long as the user can afford to pay the gas required to compute the opcodes.