As part of the online services team for an AAA cross-platform (Windows 10, Xbox One) game title with Microsoft Studios, I was involved in implementing features to support the game’s online elements, such as managing profile data such as inventory and levels, in-game commerce, and the necessary infrastructure to deal with load.
One area I led work on was in automating provisioning and deployment to Azure. I wrote PowerShell scripts to create and configure new resources, and deploy to them. I wrote a DSL for describing the dependencies and infrastructure for a component, such that each component had a manifest of its requirements, which merged with the parameters of the various environments to produce a complete description of the various compute/storage instances that were needed. These scripts were then integrated with the build pipeline (TeamCity), such that a single command could deploy or tear-down a whole environment in Azure on demand.
I also worked on service development, including services for managing crash dump data and bug reports, and the registration systems. I introduced a publish/subscribe mechanism to allow decoupling of services via events, implemented via Azure Service Bus.
The main technologies used in this project were: C#, ASP.Net WebApi, Dapper.Net, Azure Cloud Services, Azure Storage (Tables, Blobs, and Queues), Azure Service Bus, PowerShell, TeamCity, Nuget, Reactive Extensions, ElasticSearch