Microservices are used to build complex applications composed of small, independent and highly decoupled processes. Recently, microservices are often mentioned in one breath with container technologies like Docker. That is why operating system virtualization experiences a renaissance in cloud computing. These approaches shall provide horizontally scalable, easily deployable systems and a high-performance alternative to hypervisors. Nevertheless, performance impacts of containers on top of hypervisors are hardly investigated. Furthermore, microservice frameworks often come along with software defined networks. This contribution presents benchmark results to quantify the impacts of container, software defined networking and encryption on network performance. Even containers, although postulated to be lightweight, show a noteworthy impact to network performance. These impacts can be minimized on several system layers. Some design recommendations for cloud deployed systems following the microservice architecture pattern are derived.
About Microservices, Containers and their Underestimated Impact on Network Performance
1. About Microservices, Containers and
their Underestimated Impact on
Network Performance
Nane Kratzke
1
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
2. The next 20 to 25 minutes are about ...
• Avoiding Vendor Lock-in in Cloud Computing
• Microservices, Containers and Container Clusters (like
Mesos, Kubernetes, etc.)
• Technical and performance impacts of above mentioned
approaches
• Minimizing these impacts on application, overlay
network and infrastructure layer
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
2
3. Where do we come from ...
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
3
• Research about avoiding Cloud Vendor Lock-in
• Small and medium sized companies
• Analyzing public, private IaaS infrastructures
• Analyzing container technologies like Docker
• Container clusters might be the answer
4. Container Clusters
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
4
or similar container
technologies
5. But you need similar machines ...
Is that possible across different providers?
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
5
These instances show same similarity values and could be used for
cross-provider container clusters deployed to AWS and GCE.
6. Some further Myths
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
6
Containers are lightweight (says Docker and IBM)
Software defined networking provides flexibility at reasonable
performance impacts (hopefully, but we need it anyway)
Encryption must be a performance killer (otherwise everybody
would encrypt)
7. Microservices
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
7
„The microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its
own process and communicating with lightweight mechnisms, often
an HTTP resource API.“
Martin Fowler
8. Reference Experiment
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
8
Experiment to measure reference network performance of REST-like
HTTP-based communication protocols.
Done with Amazon Web Services (region eu-west-1).
All hosts m3.medium (1 core).
9. Impact of Containers
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
9
Experiment to measure container impact on network performance of
REST-like HTTP-based communication protocols.
All hosts m3.medium (1 core).
10. Impact of Software Defined Networks
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
10
Experiment to measure additional SDVN impact on network
performance of REST-like HTTP-based communication protocols.
All hosts m3.medium (1 core).
SDVN solution: weave docker network
11. Impact of Encryption
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
11
Experiment to measure additional encryption impact on network
performance of REST-like HTTP-based communication protocols.
All hosts m3.medium (1 core).
SDVN solution: weave docker network
12. Impact to Transfer Rates
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
12
13. Cross Regional Experiment
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
13
Just to get a better
„feeling“ ...
14. Where to loose ...
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
14
Loss caused by containers
Loss caused by SDN
Loss caused by encryption
15. Finally, measured losses are caused by ...
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
15
16. Conclusion
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
16
Application layer:
Overlay network layer:
Infrastructure layer:
• Reduce message sizes
• Reduce messages
• Smaller messages, smaller problems
• Less messages, less problems
• Encryption for small messages is almost for free
• Do not containerize SDN routers
• Deploy SDN routers directly on the host
• Avoids Container losses of about 10% – 20%
• Use multi core hosts
• To minimize CPU contention of SDN router
processes with application processes
• Plan 1 core for the network!
but have performance implications in mind ...
17. Acknowledgement
• Stormy sailing: Free Aussie Stock,
http://freeaussiestock.com/free/Queensland/mission_be
ach/slides/mission_beach_sailing.htm
• Stonehenge: Wikipedia,
http://pt.wikipedia.org/wiki/Stonehenge
• Microservices: Robert Morschel, http://www.soa-
probe.com/2015/03/microservices-summary.html
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
17
This study was funded by German Federal Ministry of Education
and Research (Project Cloud TRANSIT, 03FH021PX4). The
author thanks Lübeck University (Institute of Telematics) and fat
IT solution GmbH (Kiel) for their support of Cloud TRANSIT. The
author also thanks Bryan Boreham of zett.io for checking our data
of zett.io’s weave solution (which might show now better results
than the analyzed first version of weave).
Picture Reference
18. About
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
18
Nane Kratzke
CoSA: http://cosa.fh-luebeck.de/en/contact/people/kratzke
Blog: http://www.nkode.io
Twitter: @NaneKratzke
GooglePlus: +NaneKratzke
LinkedIn: https://de.linkedin.com/in/nanekratzke
GitHub: https://github.com/nkratzke
ResearchGate: https://www.researchgate.net/profile/Nane_Kratzke
SlideShare: http://de.slideshare.net/i21aneka
Editor's Notes
Good day everybody.
My name is Nane Kratzke and I am a professor for computer science and business information systems at the luebeck university of applied sciences, germany.
Today I would like to talk about cloud computing, vrtual labs and economical effects if both concepts are combined.
This contribution has a little case history. Two years ago i became a professor and one of my first duties was to set up a lecture and corresponding practical course about web technologies. I turned out that my assigned educational budget was totally insuffiecent for that task – especially it was absolutely insufficent to equip a classical dedicated lab or a webtechnology purpose.
So we searched for a solution and founda „sort-term“ solution by providing rented resources via amazon web services to our students. Nevertheless our inital intent was to establish a dedicated lab and therefore our plan was to proof that a classical dedicated lab is much more cost effective than a virtual one. In fact we proofed the exact opposite. We proofed that a virtual lab is much more cost effective than a dedicated one. A the very first moment that was a little bit frustrating because our dedicated lab became realy unlikely.
This presentation is about this completely flopped proof. Nevertheless we found our results being worth reflected by others. And so we published them.