In a single Tweet, the co-founder of ETH, Vitalik Buterin, announced that Sharding is coming. He links to his reddit post, which gives a partial proof of concept of a fork choice rule-based mechanism on how sharding can be implemented on top of the ETH main chain, and his github, which shows the written code. He points out that this is a test environment and there are still a few things that need to be tested, one important one being “the shard-to-main-chain crosslink that ties the beacon and shard chains back to the main chain” but gives a link for a visual how it potentially could work.
In his reddit post he goes into detail on how it works in the test environment; block times, PoA (Proof of Activity), and a PoS beacon chain (full Casper integration). As one can imagine, it is very technical, but Vitalik does a good job of posting many links throughout his post which help guide a non technical user through his thought process on how it works. Basically, what Sharding will do is split up the blockchain into multiple partitions, shards, and instead of having every node process every transaction, specific nodes will be assigned to certain shards. This allows more transactions to be processed at once since multiple nodes are processing different transactions at the same time.
One big reason for the need to find a way to scale is because decentralized applications, which run on ethereum, are taking up a significant amount of network space. Cryptokitties is a very popular game in which users buy and breed virtual kittens. This game became so popular late in 2017 that it caused about a 33% increase in gas costs for all ETH transactions. Once this happened, all agreed that a proper long term scaling solution needed to be reached.