Cloud Native Days Tokyo 2019 - Participation Report for July 22-23, 2019
This time, I participated in the Cloud Native Days Tokyo 2019 held in Tokyo for two days, so I thought I would report. Rather than reporting on each session, I think I will talk about my overall impressions.
https://cloudnativedays.jp/cndt2019/
I have summarized the links.
https://qiita.com/zaki-lknr/items/1c26bb713aef9645f5e6
CNCF Usage Rate
This is the impressive content from the first day's Keynote. The presenter is Mr. Hasegawa, the chairman of the OSDT.
There was an introduction about "the phase of utilizing cloud native technology" heard from 1354 visitor surveys. The surprising result was that as many as 46% of people have already applied it to the production environment. Furthermore, it was 63% for the development environment. I think there is a certain filter at the point of participating in this event, but I felt it was a large proportion.
The following figure is a graph of the number of Commits in the 180 days of the CNCF project. Google, the parent, is in 1st place, independent (individual) is in 2nd place, and Japanese company Fujitsu is in 6th place. You can feel the enthusiasm.
※ As of 2019/07/24
However, it seems that there are only 17 companies as members of CNCF in Japan, so it seems that there is still a long way to go.
https://landscape.cncf.io/members
Furthermore, it seems that there are no Japanese companies certified by Kubernetes yet. It's a shame.
https://kubernetes.io/partners/#kcsp
In the future, it seems that there will be conferences like the following overseas. I would like to participate.
https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/
https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2019/
What is CloudNative?
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Examples of this approach include containers, service meshes, microservices, immutable infrastructure, and declarative APIs.
※ [https://github.com/cncf/toc/blob/master/DEFINITION.md#Japanese version](https://github.com/cncf/toc/blob/master/DEFINITION.md#Japanese version)
"Building and running scalable applications" is important. One way to achieve this is Kubernetes. It's not "CloudNative = Kubernetes", but rather "CloudNative ∋ Kubernetes".
However, it seems that recently more people are thinking about Kubernetes from a different perspective. This is in the slide by Mr. Kitayama, which was presented in the keynote on the second day.
https://speakerdeck.com/shkitayama/change-the-game-change-the-world
Kubernetes has come to be called a "platform for platforms". This can be seen in slide No.9 (Kubernetes is a platform), and we can understand the following:
- Operation administrators
- Scaling becomes easy with Self-Healing
- Application developers
- Can deploy easily
These are indeed "values obtained from the platform", but on the other hand, the following considerations are necessary:
- Operation administrators
- How far can Self-Healing guarantee reliability?
- Application developers
- What should be done to minimize user impact?
The "cost of using the platform" tends to become larger than the "value obtained from the platform". Therefore, the concept of Operator (CRD) has recently become hot.
Why is CRD hot?
The word CRD was mentioned in various sessions. For CRD and Operator, please refer to the following.
https://silverbirder.github.io/blog/contents/kubernetes_meetup_tokyo_19_osaka_satellite
When operating Kubernetes, it seems that the existing resources are not enough. Such parts increase the "cost of using the platform". Therefore, CRD and Operator were born with the aim of developing and automating the operation of original customized resources. However, it may be more efficient to use from the following site than to create your own from scratch.
But, after all, when you are in trouble, you will read the source code, so if you don't have that ability, I feel that you can't operate.
The following slides by Mr. ladicle of zlab were very easy to understand and well organized. This is a valuable document.
https://speakerdeck.com/ladicle/kuberneteswokuo-zhang-siteri-falseoperesiyonwozi-dong-hua-suru
By the way, the case where it was created from scratch is the presentation by Mr. Yamamoto of CyberAgent, and the following slide.
The repository that Mr. Aoyama of CyberAgent was live coding is the following.
https://github.com/cloudnativejp/webserver-operator
Do you need Kubernetes?
There were occasional talks about whether to use Kubernetes in two days. There is also the following discussion.
https://www.atmarkit.co.jp/ait/articles/1907/23/news120.html
When aiming to build a CloudNative application, it tends to go in the direction of using Kubernetes. In many of the sessions I attended, the consideration for adopting Kubernetes was as follows:
- Plain Kubernetes or Managed Kubernetes
- Most use Managed Kubernetes.
- When you reach out to the itchy place, use Plain Kubernetes.
- How many Kubernetes engineers are there? Is it exclusive?
- There are few engineers who have knowledge of Kubernetes anywhere.
- It is often advanced by a few people on a full-time basis.
- Start small to accumulate know-how
Among the various sessions, there was a company that was following a very orthodox step. That is the following slide by Mr. Suzuki of SoftbankPaymentService.
https://www.slideshare.net/JunyaSuzuki1/springpcf-cndt2019-osdt2019-keynote
I learned that it was a CloudNative transformation suitable for companies.
I particularly like the point that "considering the cost of operation, use PaaS instead of Kubernetes".
Circuit Breaker
I've heard this word so much that I'm sick of it. The following site is a reference.
https://qiita.com/yasuabe2613/items/3bff44e662c922083264#circuit-breaker
If there is a failure in some microservices at the end of a synchronous request, the blocking may spread to the client and the "client's client". This problem is solved by a pattern that intervenes a proxy called Circuit Breaker between the client and the actual service, and if the failure of the actual service call exceeds a certain standard, it immediately rejects requests from the client and eliminates the blocking chain.
When building an application with Kubernetes, in order to benefit from the distributed system,
The application will be microserviced. A common pitfall in this microservice is
The phenomenon of "if the API in the back dies, other servers will die in a chain".
To avoid this, many companies use the above Circuit Breaker pattern.
I really heard it in many sessions....
twelve factor app
The following slide by Wantedly was a topic for me.
https://speakerdeck.com/potsbo/k8s-kubernetes-8-factors
In other words, it feels like "I tried to apply the design thinking of the application (twelve factor app) to the infrastructure part as well". Each one is explained in detail, and I think it will be useful when actually building Kubernetes.
Presentations focused on technology
In this event, there were many presentations focused on one technology. I summarized each one in my own way. Please refer to it.
Chaos Engineering
https://speakerdeck.com/mahito/cndt-osdt-2019-2g1
Docker
https://www.slideshare.net/AkihiroSuda/cndt-docker
Envoy
https://speakerdeck.com/taiki45/cloudnative-days-tokyo-2019-understanding-envoy
Logging
https://speakerdeck.com/yosshi_/kubernetes-loggingru-men
LinuxKernel
https://speakerdeck.com/tenforward/cndt2019
Prometheus
https://speakerdeck.com/tokibi/prometheus-setup-with-long-term-storage
Sandbox
https://docs.google.com/presentation/d/1O9Q9E1hH6mBA5w8oDENnCYObZvij1-Dr_obvsY3X29k/edit
Scheduler
https://speakerdeck.com/ytaka23/cloudnative-days-tokyo-2019
Spinnaker
https://speakerdeck.com/sansanbuildersbox/introduction-to-deployment-patterns-with-spinnaker:embed]9
Istio
https://speakerdeck.com/dangossk/a-deep-dive-into-service-mesh-and-istio-cndt-2019
Others
I received a very happy item for engineers from CyberAgent.
https://twitter.com/ca_adtechstudio/status/1152080444445167616
I immediately attached it to my keyboard. It's awesome!
It seems to have been made from this service, and I thought I might try to make something myself.
https://www.wasdkeyboards.com/
In conclusion
It was two days fully immersed in CloudNative.
Thanks to the sharing of the "pain" and "value" of introducing CloudNative in any company, it was a meaningful time for those who will introduce it in the future (including me).
I couldn't absorb all the sessions, but I want to deepen my understanding just by the slides mentioned here.
https://cloudnativedays.jp/cndk2019/
Next time it seems to be held in Osaka. I definitely want to participate in this too!
Postscript (The background to participation)
The author is a web-loving engineer and a person with a shallow understanding of Kubernetes. I mainly focus on the front end.
However, after attending a session by Mr. Aoyama of CyberAgent at DeveloperBoost2018 last year, I started to become interested in Kubernetes.
https://codezine.jp/article/detail/11291
Mr. Aoyama is very knowledgeable about Kubernetes, and because we are close in age, I started to feel that I wanted to find something that I could be so passionate about.
I love anything related to the web, including Kubernetes. So, I decided to try out all of Kubernetes Complete Guide written by Mr. Aoyama. Of course, it's on my home Kubernetes.
When I actually touched it, I was surprised at how easy it was to scale. I was surprised to see the Pod being replicated with almost a single command.
From there, I gradually got hooked and decided to participate in this event.
Share
Related tags
- Excited about the future of the Web after attending GDG DevFest Tokyo 2019
- 【Expansion】Frontend de KANPAI! 7 - Going on Reiwa - Participation Report for July 19, 2019
- AWS Summit Osaka 2019 Participation Report on June 27, 2019
- 【Increase】Mix Leap Study 45 - Google I/O, WWDC Summary Report! Participation report for June 15, 2019
- Osaka, Umeda - Participation Report for Kubernetes Meetup Tokyo 19 Osaka Satellite - May 31, 2019
- Osaka BMXUG Study Meeting -Kubernates Experience & Watson Discovery Introduction- Participation Report on March 27, 2019
- Osaka GCPUG Kansai ~ Cloud Next Extended ~ - Participation Report on May 14, 2019
- Go Conference 2019 Spring - Participation Report on May 18, 2019
- Algolia Community Party in Kyoto - 10 May 2019 Participation Report
- Excited about the future of the Web after attending GDG DevFest Tokyo 2019
- 【Expansion】Frontend de KANPAI! 7 - Going on Reiwa - Participation Report for July 19, 2019
- Osaka, Umeda - Participation Report for Kubernetes Meetup Tokyo 19 Osaka Satellite - May 31, 2019
- Go Conference 2019 Spring - Participation Report on May 18, 2019
- Starting to Learn Kubernetes a Step Behind - 16. Components -
- Starting to Learn Kubernetes a Step Behind - 15. Security -
- Starting to Learn Kubernetes a Step Behind - 14. Scheduling -
- Osaka, Umeda - Participation Report for Kubernetes Meetup Tokyo 19 Osaka Satellite - May 31, 2019
- Starting to Learn Kubernetes a Step Behind - 13. Health Checks and Container Lifecycle -
- Starting to Learn Kubernetes a Step Behind - 12. Resource Limits -
- Starting to Learn Kubernetes a Step Behind - 11. config&storage Part 2 -
- Starting to Learn Kubernetes a Step Behind - 10. config&storage Part 1 -
- Osaka BMXUG Study Meeting -Kubernates Experience & Watson Discovery Introduction- Participation Report on March 27, 2019
- Starting to Learn Kubernetes a Step Behind - 09. discovery&LB Part 2 -
- Starting to Learn Kubernetes a Step Behind - 08. discovery&LB Part 1 -
- Starting to Learn Kubernetes a Step Behind - 07. Workloads Part 3 -
- Starting to Learn Kubernetes a Step Behind - 06. Workloads Part 2 -
- Starting to Learn Kubernetes a Step Behind - 05. workloads Part 1 -
- Starting to Learn Kubernetes a Step Behind - 04. kubectl -
- Starting to Learn Kubernetes a Step Behind - 03. Raspberry Pi -
- Starting to Learn Kubernetes a Step Behind - 02. Docker For Mac -
- Starting to Learn Kubernetes a Step Behind - 01. Choosing the Environment -