In this talk I introduced some key concepts of cloud computing and an example of how we use F#'s support for actors to implement a stateful server architecture succinctly.
• AWS for Game services • Google App Engine for back-office services • NoSQL databases – DynamoDB, CouchBase, Redis, Neo4j, ... • Google BigQuery for analytics
to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication network such as the Internet.... Such virtual servers do not physically exist and can therefore be moved around and scaled up (or down) on the fly without affecting the end user - arguably, rather like a cloud. - Wikipedia
• Lower operating cost • Elastic scaling • Speed and agility • Focus on what differentiates your product • Global infrastructure for your global audience
calls need to be routed to the affined server • Need to balance load – Session lengths vary greatly – Some players are more active than others – Need to avoid hot spots • Need to avoid players hogging a server – Need to be able to scale down!
actor has a mailbox • When an actor receives a message it can: – Create new actors – Send messages to actors it has addresses for – Designate how to handle the next message it receives