Advertisement

Switching Network Protocols to Improve Communication Performance in Public Clouds

  • Sebastian ŁaskawiecEmail author
  • Michał Choraś
  • Rafał Kozik
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 892)

Abstract

Applications deployed in the cloud may use any of the IP-based network protocols. One of the popular choices is HTTP. However, this protocol is not the best fit for applications with high performance demands. Such applications often take advantage of custom, binary protocols based on TCP transport. Such protocols offer additional capabilities such as asynchronous processing, Mutual TLS for security or compressing the payload. All this features often concentrate on maximizing performance within given constraints. The communication performance plays a crucial role if the application is deployed within more than one cloud. In such scenarios different parts of the application might communicate over the Wide Area Network. Each cloud contains an edge component responsible for handling ingress traffic. Such component is often called, a router.

In this paper we propose two methods for switching network protocols in order to maximize communication performance using a commonly used cloud routers. The first method uses TLS/ALPN extension and aims for secure connection cases. The other method uses HTTP/1.1 Upgrade procedure and can be easily used for transmitting not secured data over the Public Internet.

Keywords

Cloud Containers Kubernetes Router Communication protocols 

References

  1. 1.
    RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing (2014). https://tools.ietf.org/html/rfc7230#page-57
  2. 2.
    HAProxy web page (2017). http://www.haproxy.org/
  3. 3.
    Kubernetes web page (2017). https://kubernetes.io/
  4. 4.
    Nginx web page (2017). https://nginx.org/en/
  5. 5.
  6. 6.
    Google Cloud pricing (2018). https://cloud.google.com/pricing/
  7. 7.
  8. 8.
  9. 9.
    The netfilter.org project web page (2018). https://www.netfilter.org/
  10. 10.
    3546, R.: RFC3546 - Transport Layer Security (TLS) Extensions (2003). https://tools.ietf.org/html/rfc3546
  11. 11.
    Łaskawiec, S.: The Evolution of Java Based Software Architectures. C. Int. Publ. J. Cloud Comput. Res. 2(1), 1–17 (2016)Google Scholar
  12. 12.
    Łaskawiec, S., Choraś, M.: New Solutions for exposing Clustered Applications deployed in the cloud (2018).  https://doi.org/10.1007/s10586-018-2850-3
  13. 13.
    Fielding, R.T., Software, D., Taylor, R.N.: Principled Design of the Modern Web Architecture. Technical report 2 (2000). https://www.ics.uci.edu/~taylor/documents/2002-REST-TOIT.pdf
  14. 14.
    Łaskawiec, S., Choraś, M.: Considering service name indication for multi-tenancy routing in cloud environments. In: Advances in Intelligent Systems and Computing, vol. 525, pp. 271–278 (2017)Google Scholar
  15. 15.
    Netty: Netty web page (2018). https://netty.io/
  16. 16.
    OpenSSL: Openssl 1.0.2 release notes (2018). https://www.openssl.org/news/openssl-1.0.2-notes.html
  17. 17.
    Red Hat, I.: OpenShift: Container Application Platform by Red Hat, Built on Docker and Kubernetes (2017). https://www.openshift.com/
  18. 18.
    RFC7540: RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2) (2015). https://tools.ietf.org/html/rfc7540
  19. 19.
    Singleportjira: [ISPN-8756] Implement Single Port - JBoss Issue Tracker (2018). https://issues.jboss.org/browse/ISPN-8756

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Sebastian Łaskawiec
    • 1
    Email author
  • Michał Choraś
    • 1
  • Rafał Kozik
    • 1
  1. 1.Institute of Telecommunications and Computer ScienceUniversity of Science and Technology UTP BydgoszczBydgoszczPoland

Personalised recommendations