RailCloud: A Reliable PaaS Cloud for Railway Applications Bijun Li , - - PowerPoint PPT Presentation

railcloud a reliable paas cloud for railway applications
SMART_READER_LITE
LIVE PREVIEW

RailCloud: A Reliable PaaS Cloud for Railway Applications Bijun Li , - - PowerPoint PPT Presentation

Platzhalter fr Bild, Bild auf Titelfolie hinter das Logo einsetzen RailCloud: A Reliable PaaS Cloud for Railway Applications Bijun Li , Rdiger Kapitza TU Braunschweig 06.10.2016 This work is supported by Siemens international Rail


slide-1
SLIDE 1

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Bijun Li, Rüdiger Kapitza TU Braunschweig

06.10.2016

RailCloud: A Reliable PaaS Cloud for Railway Applications

This work is supported by Siemens international Rail Automation Graduate School (iRAGS)

slide-2
SLIDE 2

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 2

RailCloud

  • A PaaS cloud for railway applications
  • Shared by small and medium-sized transportation companies
  • Reliability and safety guarantee

PaaS Cloud for Railway Applications

slide-3
SLIDE 3

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 3

PaaS Cloud in a Nutshell

What is a PaaS Cloud?

  • A computing platform for software

development delivered over the Internet

How to use it?

  • Software developers can quickly deploy

applications, without infrastructure management tasks

Existing PaaS Clouds?

  • Google App Engine (GAE), Microsoft Azure,

OpenShift, Cloud Foundry etc.

  • Recent evolvement with container technology

Applications

Platform

(OS, Middleware, Runtime)

Networking Storage Servers Virtualization

slide-4
SLIDE 4

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 4

Existing PaaS Clouds?

Horizontal Scalability

  • Usually for load balancing
  • Tolerate crash-stop failures
  • Mostly for stateless applications

Issues

  • Lack of support for replicated stateful applications
  • Cannot tolerate malicious attackers
  • Complex deployment and coordination for cloud customers

Load Balancer

App App App App

Reliability? Goal of RailCloud

  • Easy deployment of replicated stateful applications

with automatic coordination to guarantee reliability

  • Easy deployment of legacy railway applications
slide-5
SLIDE 5

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 5

Outline

  • Reliability in PaaS Clouds
  • RailCloud Design
  • Byzantine Fault-Tolerant Applications in the Cloud
  • Trusted Proxy: Making Replicated Systems Transparent
  • Conclusion and Future Work
slide-6
SLIDE 6

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 6

RailCloud Architecture

BFT Replica APP Replica APP Replica APP Replica APP Replica

Client 1

Developer

Host 1 Host 2 Host 3 Host 4

Request/response Flow Application Deployment BFT Message Exchanges

RailCloud

Trusted Proxy Trusted Proxy Trusted Proxy Trusted Proxy BFT Replica BFT Replica BFT Replica

Client 2

Built-in Service of RailCloud

slide-7
SLIDE 7

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 7

Byzantine Fault Tolerance in the Cloud

Byzantine Fault-Tolerance (BFT) Protocols

  • Tolerate crash-stop failures and

arbitrary and malicious behaviors

  • 3f +1 replicas to tolerate f faults
  • Message exchanges for agreement

Integration of BFT into Cloud Infrastructures

  • Infrastructure level: Depsky, Fitch, TClouds etc.
  • Middleware level: Thema etc.

RailCloud: PaaS Level + Automatic Deployment Extension

Req Req Req Req Rep Rep Rep

slide-8
SLIDE 8

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 8

Base of RailCloud

OpenShift Origin v3

  • Docker container

packaging

  • Kubernetes container

cluster management

  • Application lifecycle

management

Developers

OpenShift API Server

Build Controller Deployment Controller Kubernetes API Server

Scheduler

Kube Controller Replication Controller

OpenShift Master Kubernetes Master MASTER(S) NODE(S) Kube Proxy POD

Container

POD

Container

Docker Kubelet Kube Proxy POD

Container

POD

Container

Docker Kubelet Kube Proxy POD

Container

POD

Container

Docker Kubelet

slide-9
SLIDE 9

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 9

Implementation and Deployment

BFT Service Layer

  • BFT image (BFT-SMaRt)
  • BFT pods
  • BFT services

Application Deployment Networking

  • Connect each BFT service

to application service

  • Expose BFT services

App Service

App Container

POD BFT Service POD

BFT Container

App Service

App Container

POD BFT Service POD

BFT Container

App Service

App Container

POD BFT Service POD

BFT Container

App Service

App Container

POD BFT Service POD

BFT Container RailCloud

slide-10
SLIDE 10

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 10

Trusted Proxy: Making Replicated Systems Transparent

Minimum modifications to clients

  • HTTPS connections
  • Web-based railway applications
  • Implements client-side BFT library

Friendly to low-bandwidth clients

  • No redundant requests/replies

Hide details of replicated system

  • Simple and secure interface to clients

Throughput improvement

Why transparent?

slide-11
SLIDE 11

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 11

Trusted Proxy in RailCloud

Connection Handler

En/decrypt Reply vote

(Fast read cache)

Trusted Proxy

Connection Handler

Ordering + Execution

Host 1

Connection Handler

En/decrypt Reply vote

(Fast read cache) Connection Handler

Ordering + Execution

Host 2

Connection Handler

En/decrypt Reply vote

(Fast read cache) Connection Handler

Ordering + Execution

Host 3

Connection Handler

En/decrypt Reply vote

(Fast read cache) Connection Handler

Ordering + Execution

Host 4

Client

Secure connection

Message Flow Read Optimization Client

Secure connection

Trusted Proxy Trusted Proxy Trusted Proxy

slide-12
SLIDE 12

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 12

Outline

  • Reliability in PaaS Clouds
  • RailCloud Design
  • Byzantine Fault-Tolerant Applications in the Cloud
  • Trusted Proxy: Making Replicated Systems Transparent
  • Conclusion and Future Work
slide-13
SLIDE 13

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 13

Conclusion and Future Work

RailCloud

  • Integrate BFT for reliability demands into PaaS Cloud
  • Easy deployment of BFT applications
  • Automatic coordination among replicated services
  • Using trusted proxy to make replicated system transparent

Future Work

  • Explore more functions of trusted proxy
slide-14
SLIDE 14

06.10.2016 | Bijun Li | RailCloud: A Reliable PaaS Cloud for Railway Applications | Page 14

Appendix

Related Works

  • Bessani, A., Correia, M., Quaresma, B., Andre, F., Sousa, P.: Depsky: dependable and secure storage in a

cloud-of-clouds. ACM Transactions on Storage (TOS) 9(4), 12 (2013)

  • Cogo, V.V., Nogueira, A., Sousa, J., Pasin, M., Reiser, H.P., Bessani, A.: Fitch: Supporting adaptive replicated

services in the cloud. In: DAIS’13

  • Garraghan, P., Townend, P., Xu, J.: Using byzantine fault-tolerance to improve dependability in federated

cloud computing. International Journal of Software and Informatics 7(2), 221–237 (2013)

  • Verissimo, P., Bessani, A., Pasin, M.: The tclouds architecture: Open and resilient cloud-of-clouds computing.

In: Dependable Systems and Networks Workshops (DSN-W), 2012 IEEE/IFIP 42nd International Conference on. pp. 1–6. IEEE(2012)

  • Merideth, M.G., Iyengar, A., Mikalsen, T., Tai, S., Rouvellou, I., Narasimhan, P.: Thema: Byzantine-fault-tolerant

middleware for web-service applications. In: Reliable Distributed Systems (SRDS), 2005 24th IEEE Symposium

  • n. pp. 131–140. IEEE (2005)