Quarkus でJava モダナイゼーション

107436e46b14d6db482c42afba216ecf?s=47 norikokt
February 25, 2020

Quarkus でJava モダナイゼーション

初めてQuarkusを触る方向けの超導入編です。

107436e46b14d6db482c42afba216ecf?s=128

norikokt

February 25, 2020
Tweet

Transcript

  1. 冬のIBM Dojo #7 QuarkusでJavaモダナイゼーション Noriko Kato Developer Advocate Tokyo City

    Team
  2. Agenda 1.コースの目的 2.Quarkusのコンセプト 3.ダウンロードサイト・デモ 4.参考サイトのご案内 5.本日の課題 6.Q&A Group Name /

    DOC ID / Month XX, 2018 / © 2018 IBM Corporation 2
  3. 1.学習の⽬的 ⽬的 Quarkusを体験してもらう ゴール Cloud環境でも“快適なJava”の選択肢を得る このコースを学ぶ⽅の想定スキル Quarkusを初めて使う⽅ 何らかの⾔語での開発経験がある⽅ Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 3
  4. <iframe width="536" height="302" src="https://www.youtube.com/embed/0CUlbqpO4vk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"

    allowfullscreen></iframe> 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 4
  5. 2.Quarkusのコンセプト 読み⽅︓くぉーかす 2019年3⽉に公開されたJavaフレームワーク 軽量、⾼速起動でコンテナへの最適化を実現 Red Hat社が⽀援しているオープンソース Group Name / DOC

    ID / Month XX, 2018 / © 2018 IBM Corporation 5
  6. 2.Quarkusのコンセプト Introducing Quarkus: a next-generation Kubernetes native Java framework The

    goal of Quarkus is to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to optimally address a wider range of distributed application architectures. Red Hat Developer Blogより抜粋: https://developers.redhat.com/blog/2019/03/07/quarkus-next-generation-kubernetes-native-java-framework/ Group Name / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 6
  7. 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018

    / © 2018 IBM Corporation 7 Container First Quarkus delivers significant runtime efficiencies (based on Red Hat testing), such as •Fast Startup (tens of milliseconds) allows automatic scaling up and down of microservices on containers and Kubernetes as well as FaaS on-the-spot execution •Low memory utilization helps optimize container density in microservices architecture deployments requiring multiple containers •Smaller application and container image footprint
  8. 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018

    / © 2018 IBM Corporation 8 Unifies Imperative and Reactive
  9. 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018

    / © 2018 IBM Corporation 9 Developer Joy A cohesive platform for optimized developer joy:
  10. 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018

    / © 2018 IBM Corporation 10
  11. 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018

    / © 2018 IBM Corporation 11
  12. <iframe width="536" height="302" src="https://www.youtube.com/embed/0CUlbqpO4vk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"

    allowfullscreen></iframe> 2.Quarkusのコンセプト Group Name / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 12 https://youtu.be/0CUlbqpO4vk
  13. 2.Quarkusのコンセプト Red Hat社から2019年3⽉に公開されたJavaフレームワーク Javaの起動時間問題を解決し、 コンテナ環境の良さを⽣かしたJava開発ができる︕︕ Group Name / DOC ID

    / Month XX, 2018 / © 2018 IBM Corporation 13
  14. Group Name / DOC ID / Month XX, 2018 /

    © 2018 IBM Corporation 14
  15. 3.ダウンロードサイト・デモ Quarkus.io Group Name / DOC ID / Month XX,

    2018 / © 2018 IBM Corporation 15
  16. 3.ダウンロードサイト・デモ デモ環境 macOS Catalina(10.15.3) Java jdk 8.x Maven 3.5.x 読み︓めいべん

    GraalVM 読み︓ぐらーるばーちゃるましん Group Name / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 16
  17. 4.参考サイトのご案内 特に参照させていただいたサイト Quarkusハンズオンしてみた (キャスレーコンサルティング CSVIT部 内田様の記事) https://www.casleyconsulting.co.jp/blog/engineer/4622/ Coding That Sparks

    Joy With Quarkus, by Edson Yanaga (RedHat社Yanaga様の動画) https://youtu.be/8r3ZV36ah4I Quarkus website: http://quarkus.io 17
  18. 5.本⽇の課題 環境確認 → Projectチェックアウト → 実⾏ → 結果の確認 Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 18 $ java –version $ mvn -version
  19. 5.本⽇の課題 環境確認 → Projectチェックアウト → 実⾏ → 結果の確認 ¥マーク表⽰はペースト時にバックスラッシュになります Group

    Name / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 19 $ mvn io.quarkus:quarkus-maven-plugin:0.15.0:create ¥ -DprojectGroupId=org.acme ¥ -DprojectArtifactId=getting-started ¥ -DclassName="org.acme.quickstart.GreetingResource" ¥ -Dpath="/hello"
  20. 5.本⽇の課題 環境確認 → Projectチェックアウト → 実⾏ → 結果の確認 Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 20 $ cd getting-started $ ls -la
  21. 5.本⽇の課題 環境確認 → Projectチェックアウト → 実⾏ → 結果の確認 Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 21
  22. 5.本⽇の課題 環境確認 → Projectチェックアウト → 実⾏ → 結果の確認 Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 22 $ ./mvnw compile quarkus:dev:
  23. 6.Q&A アンケート http://ibm.biz/dojo-jp-qa Group Name / DOC ID / Month

    XX, 2018 / © 2018 IBM Corporation 23
  24. まとめ ⽬的 Quarkusを体験してもらう ゴール Cloud環境でも“快適なJava”の選択肢を得る このコースを学ぶ⽅の想定スキル Quarkusを初めて使う⽅ 何らかの⾔語での開発経験がある⽅ Group Name

    / DOC ID / Month XX, 2018 / © 2018 IBM Corporation 24