Talk presenting the concepts of Service Mesh, Serverless and Tracing as simply as possible. This was presented at the Paris Container Day 2018 on 26th June 2018, in front of 100 people.
Below is the abstract of the talk:
Some weeks ago, I was at the KubeCon + CloudNativeCon EU. 3 main topics that
are not as well-known as they should be were mentioned a lot:
- Service Mesh
- Serverless/FaaS
- Modern observability / Tracing
For most people, these topics are really fuzzy since they are somewhat recent.
It's easy to wonder what Service Mesh offers compared to traditional Load Balancing, what technology you should pick among Linkerd, Conduit, Envoy, Istio, when they all seem to do the same things. For Serverless and FaaS, one could wonder what they bring to the table when we already have orchestrators and containers that we can deploy in one command. And finally, it's easy to get lost among all the monitoring paradigms: metrics, logs, tracing... why everyone and every product is onboarding some tracing capabilities recently?
We'll talk about all of this during these 20min. It may seem a lot, but we'll go straight to the point as "what's the need it's looking to address and why should I care"
2. #ContainerDayFRParis Container Day 2018
Alexis “Horgix” Chotard
Unicorn evangelist
▼ Systems Engineer & Consultant @ Xebia
▼ Loves to automate everything
▼ Strives to do things cleanly
2
Horgix
Horgix
3. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Buzzwords?
▼ Tracing
▼ Service Mesh
▼ Serverless
It’s hard to keep up with every new concept.
Challenge: get you to understand all of these in 20 minutes!
3
4. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Reminders
Micro-services:
“Approach to developing a single application as a suite of small services, each
running in its own process and communicating with lightweight mechanisms”
4
https://www.martinfowler.com/articles/microservices.html
5. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Reminders
Orchestration:
▼ Allocate resources to jobs
▼ Reschedule jobs in case of failure
▼ Bring API-centric infrastructure
5
6. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Reminders
We live in a distributed world, with
microservices being orchestrated across
more and more servers.
6
7. Buzzwords at the Cloud Native era
#ContainerDayFR @HorgixParis Container Day 2018 7
Tracing
… and modern observability
8. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Observability
“An observable system is one that exposes enough data about itself so that
generating information (finding answers to questions yet to be formulated) and
easily accessing this information becomes simple.”
▼ Logging
▼ Metrics
▼ Tracing
8
https://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud-native-c87c7a5bfa3e
10. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Tracing - Events!
▼ Logging: recording events
▼ Metrics: data combined from measuring events
▼ Tracing: recording events with causal ordering
Usage:
▼ Logs: easy to `grep`, manually read
▼ Metrics: can identify trends + context
▼ Traces: identify cause across services
Often called APM (Application Performance Management)
10
12. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Tracing for your boss
Tracing is the capability to follow and inspect
a request and all its subsequent calls in a
distributed system
12
13. Buzzwords at the Cloud Native era
#ContainerDayFR @HorgixParis Container Day 2018 13
Service Mesh
… or intelligent routing with observability
14. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Routing
▼ Classic Load Balancers
▼ What about deployments?
▼ API Gateways
▼ Source of information
▼ Quality of service
14
15. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Why you need it
▼ Make your deployments easier
▼ Give you better observability on everything that's using it
▼ Act smarter than you would
▼ Is a Service Mesh mandatory? No.
▼ Will it make your life easier and lower the amount of tooling and
integration you have to handle yourself? Yes!
15
17. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Service Mesh for your boss
Service Mesh solutions connect your
services while offering you control and
observability on HOW they’re connected
- think deployments and service quality -
17
18. Buzzwords at the Cloud Native era
#ContainerDayFR @HorgixParis Container Day 2018 18
Serverless
… and more precisely Functions-as-a-Service
19. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
New paradigm
▼ 5 years ago: “Run this infrastructure-as-code that installs my app”
▼ Now: “Run my container”
▼ Future: “Run my code!”
19
20. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
What about PaaS?
▼ "Run my code" has been around for years
▼ Heroku popularized it (https://12factor.net/ )
▼ Scalingo
▼ Google App Engine, AWS Beanstalk, ...
Difference?
▼ No long running task
▼ Run on demand
▼ Billed per call on hosted platforms
20
24. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Why you want it
▼ On hosted platforms: 0 call == $0 !
▼ Closest we can get from not caring about elasticity
▼ As easy as possible to deploy
▼ Microservices at their paroxysm (nanoservices?)
24
26. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Serverless for your boss
Functions as a Service makes you deploy
smaller services to have costs that match
your load, while concentrating only on your
code and not on how it runs
26
27. Buzzwords at the Cloud Native era
#ContainerDayFR @HorgixParis Container Day 2018 27
Conclusion / Take away
… in case you fell asleep ;)
28. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Take away
▼ Tracing gives you better insights on all this distributed world by being
able to follow requests across the system
▼ Service Mesh allows you to interconnect your services
▼ Serverless makes you think in "running code" instead of "running
containers" or even “running servers”
28
29. #ContainerDayFRParis Container Day 2018
Buzzwords at the Cloud Native era
@Horgix
Take away
We live in a distributed world, with microservices being orchestrated
across more and more servers…
And we are ready to observe things in this
distributed world, to handle traffic and
deployments smartly, and to start thinking
about functions instead of containers.
29
30. Buzzwords at the Cloud Native era
#ContainerDayFR @HorgixParis Container Day 2018 30
The End
Questions ?