Building Reliable Cloud Services Using P# (Experience Report)

02/12/2020
by   Pantazis Deligiannis, et al.
0

Cloud services must typically be distributed across a large number of machines in order to make use of multiple compute and storage resources. This opens the programmer to several sources of complexity such as concurrency, order of message delivery, lossy network, timeouts and failures, all of which impose a high cognitive burden. This paper presents evidence that technology inspired by formal-methods, delivered as part of a programming framework, can help address these challenges. In particular, we describe the experience of several engineering teams in Microsoft Azure that used the open-source P# programming framework to build multiple reliable cloud services. P# imposes a principled design pattern that allows writing formal specifications alongside production code that can be systematically tested, without deviating from routine engineering practices. Engineering teams that have been using P# have reported dramatically increased productivity (in time taken to push new features to production) as well as services that have been running live for months without any issues in features developed and tested with P#.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/25/2019

Reliable State Machines: A Framework for Programming Reliable Cloud Services

Building reliable applications for the cloud is challenging because of u...
research
11/25/2020

DeepTriage: Automated Transfer Assistance for Incidents in Cloud Services

As cloud services are growing and generating high revenues, the cost of ...
research
10/23/2021

Characterizing User and Provider Reported Cloud Failures

Cloud computing is the backbone of the digital society. Digital banking,...
research
08/13/2018

Addressing Client Needs for Cloud Computing using Formal Foundations

Cloud-enabled large-scale distributed systems orchestrate resources and ...
research
02/22/2018

Understanding the Performance of Ceph Block Storage for Hyper-Converged Cloud with All Flash Storage

Hyper-converged cloud refers to an architecture that an operator runs co...
research
05/09/2022

Static Analysis for AWS Best Practices in Python Code

Amazon Web Services (AWS) is a comprehensive and broadly adopted cloud p...
research
05/07/2019

Identifying collaborators in large codebases

The way developers collaborate inside and particularly across teams ofte...

Please sign up or login with your details

Forgot password? Click here to reset