The distributed computing research project known as Project Orleans will be available in early 2015 Microsoft plans to release as open source the framework that helps developers of cloud services like those behind the popular Halo 4 game. Building cloud services for millions of users means connecting and coordinating thousands of servers, and handling tasks and information across all of them. Project Orleans is a framework built by the eXtreme Computing Group at Microsoft Research using .NET, designed so developers who aren’t distributed systems experts can build cloud services that scale to cope with high demand and still keep high performance. The Orleans framework was used to build several services on Azure, including services that are part of Halo 4, and Microsoft had an enthusiastic response when it released a public preview of the technology in April this year. Now Sergey Bykov of the eXtreme Computing Group says they will open-source the project. The code will be released under an MIT license and will be published on the GitHub site in early 2015 (instead of Microsoft’s own CodePlex open source site); they say that they plan to accept contributions to the code from users. Orleans is designed for building cloud services like social graphs (the list of friends on Facebook or the people you follow on Twitter), real-time analytics and interactive entertainment, and to work with large numbers of devices like smartphones or Internet of Things sensors. Halo 4 uses the framework for the presence service (which keeps track of all the game sessions, all the players and the status of each game) and the statistic service (which tracks details like when and where a shot was fired in a game and with which weapons, as well as the achievements and other personal information about players). That information, displayed in the Halo Waypoint interface, is important to players, according to Hoop Somuah of the Halo Cloud Services Team at 343 Industries, who explained how Halo uses Orleans at Microsoft’s Build conference. “They need to know what the hot playlist is today, they need to know what the challenges are, they need to know where their friends have been, what their friends have been playing,” Somuah said. “Have their friends gotten more medals then them? They need to know all this and they need to react it and interact with their friends in real time. We need to deliver hundreds of thousands of updates per second to millions of players, and we have to get the right information to the right device at the right time,” he said. He called Orleans “a cloud native programming model that makes it possible to build services from the ground up, with the cloud in mind.” Orleans differs from other popular cloud app development platforms like Google App Engine because it’s asynchronous; but it’s also single threaded, so developers don’t need to think about concurrency, locks or race conditions — concepts that make concurrent programming complex to handle. “With concurrency, it’s hard not just to write the code but to conceptualize and think about what you need to do,” Somuah said. Orleans uses the idea of “grains” and “silos”; there are grains for each player in Halo 4 and there’s a grain for every game of Halo 4 that’s ever been played. Silos are the execution containers that hold the grains; there’s one on each node and the Orleans system handles creating more silos if they’re needed to handle more players and replacing any that fail under the load. Developers tell the grains what to do, but the Orleans systems take care of creating grains, reactivating them in a different silo if there’s a problem, and garbage collecting them when they’re no longer in use. This makes it much easier for the developer, Somuah explained. “You don’t care which machine in the data center a grain is running on or if it fails, you just work with the grains. You don’t think about how many nodes you have in the system or worry about an IP address.” He compared it to not having to care about which stick of memory inside a computer a variable was stored on when writing code. “You don’t worry about that sort of thing when you’re developing locally; why would you care about it when you’re developing for the cloud?” Related content feature Windows 11 Insider Previews: What’s in the latest build? Get the latest info on new preview builds of Windows 11 as they roll out to Windows Insiders. Now updated for Build 22635.3566 for the Beta Channel, released on April 26, 2024. By Preston Gralla Apr 26, 2024 251 mins Small and Medium Business Microsoft Windows 11 news Dropbox adds end-to-end encryption for team folders Dropbox this week unveiled a range of features, including security updates and key management, and the ability to co-edit Microsoft 365 documents from within the file-sharing app. By Matthew Finnegan Apr 26, 2024 3 mins Cloud Storage Collaboration Software Productivity Software feature Android versions: A living history from 1.0 to 15 Explore Android's ongoing evolution with this visual timeline of versions, starting B.C. (Before Cupcake) and going all the way to 2024's Android 15 (beta) release. By JR Raphael Apr 26, 2024 23 mins Small and Medium Business Smartphones Android news analysis The unspoken obnoxiousness of Google's Gemini improvements Google's Gemini chatbot is seeing all sorts of upgrades on Android this week, but those advancements reveal a darker underlying reality. By JR Raphael Apr 26, 2024 12 mins Google Assistant Google Android Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe