Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java on Azure with Docker container

1,827 views

Published on

This presentation explain Java on Azure with Docker.
In order to understand the Docker, it may be help you.

Published in: Technology
  • Be the first to comment

Java on Azure with Docker container

  1. 1. Windows Server 2016 TP3 から Docker を利用可能 http://tinyurl.com/ windows-server-on-docker
  2. 2. Docker の基礎
  3. 3. コンテナ
  4. 4. コンテナ・イメージコンテナ実行環境 Linux イメージ・レポジトリ Applications Application Frameworks ホスト OS ホスト OS
  5. 5. Operating system
  6. 6. Operating system Operating system Operating system
  7. 7. Operating System Operating System
  8. 8. Locally with: • Boot2Docker (Linux) • Hyper V (Windows) Physical Servers • Linux (Linux) • Windows TP3 (Windows) Clouds • Azure (Linux & Windows) Azureオンプレミス Service Providerローカル環境
  9. 9. OSイメージ ミドルウェア Web アプリ 環境構築用 のスクリプト
  10. 10. Docker エンジン ホスト OS OSイメージ ミドルウェア Web アプリ OSイメージ ミドルウェア Web アプリ
  11. 11. Azure OSイメージ ミドルウェア Web アプリ ADD CMD COPY ENV EXPOSE FROM RUN Dockerfile から Docker イメージ作成
  12. 12. FROM ubuntu:latest # Install GlassFish 4 RUN wget -q --no-cookies --no-check-certificate "http://download.oracle.com/glassfish/4.1/release/glassfis h-4.1.zip" RUN mv /glassfish-4.1.zip /usr/local; cd /usr/local; unzip glassfish-4.1.zip ; rm -f glassfish-4.1.zip ; cd / ADD start-gf.sh /usr/local/bin/start-gf.sh RUN chmod 755 /usr/local/bin/start-gf.sh EXPOSE 8080 4848 ENTRYPOINT ["/usr/local/bin/start-gf.sh”] Dockerfile の記載例
  13. 13. # sudo docker build -t yoshio3/glassfish:4.1 . # sudo docker run -it -p 8080:8080 ¥ yoshio3/glassfish:4.1 /bin/bash
  14. 14. コンテナ利用シーン
  15. 15. 1. ローカルのアプリ開発&テスト 2. 開発チームのコラボ 3. 継続的インテグレーション 4. 本番環境へのアプリのデプロイ 5. プライベート PaaS 環境の構築
  16. 16. 開発環境 • JDK のバージョン • アップサーバのバージョン • MySQL のバージョン • OS のパッチ適用状況
  17. 17. 開発から本番環境までの環境統一は困難 開発環境 テスト環境 本番環境 Java JDK 8 u72 JDK 8 u60 JDK 8 u20 Ruby 2.3.0 2.2.4 2.2.4 MySQL 5.6 5.5 5.5 OS Win/Ubuntu RedHat RedHat
  18. 18. 開発から本番環境までの環境統一は困難 開発環境 テスト環境 本番環境 Java Ruby MySQL OS
  19. 19. 1. ローカルのアプリ開発&テスト 2. 開発チームのコラボ 3. 継続的インテグレーション 4. 本番環境へのアプリのデプロイ 5. プライベート PaaS 環境の構築
  20. 20. 早く 頻繁に 安全に リリースサイクル改善の課題
  21. 21. DevOps 手法の一覧 • Infrastructure as Code (IaC) • 継続的インテグレーション • 自動テスト • 継続的デプロイ • リリース管理 • アプリ パフォーマンスの監視 • ロード テストと自動スケーリング • 可用性監視 • 変更/構成管理 • 機能フラグ • 環境へのプロビジョニングの自動解除 • セルフサービス環境 • 自動回復 (ロールバックとロールフォワード) • 仮説に基づく開発 • 運用環境でのテスト • フォールト挿入 • 使用状況監視/ユーザー テレメトリ http://www.itproguy.com/devops-practices/
  22. 22. コンテナ1 コンテナn コンテナ2 コンテナ3
  23. 23. 1. ローカルのアプリ開発&テスト 2. 開発チームのコラボ 3. 継続的インテグレーション 4. 本番環境へのアプリのデプロイ 5. プライベート PaaS 環境の構築
  24. 24. 1. 可用性 2. 信頼性 3. セキュリティ 4. パフォーマンス
  25. 25. mysql: image: mysql ports: - ":3306" environment: MYSQL_USER: mysql MYSQL_PASSWORD: mysql MYSQL_DATABASE: mysql-db myglassfish: links: - mysql image: tyoshio2002/gf- mysql:latest ports: - 8080:8080 - 4848:4848 docker-compose.yml 8080 4848 3306
  26. 26. > docker-compose up -d
  27. 27. 3306 > docker-compose scale myglassfish=4
  28. 28. OSイメージ ミドルウェア Web アプリ Azure OSイメージ ミドルウェア Web アプリ
  29. 29. 1. ローカルのアプリ開発&テスト 2. 開発チームのコラボ 3. 継続的インテグレーション 4. 本番環境へのアプリのデプロイ 5. プライベート PaaS 環境の構築
  30. 30. MSDNサブスクリプション Microsoft Azure 無料枠 http://aka.ms/TryAz http://aka.ms/Free-Azure
  31. 31. FeedBack Please !! feedback.azure.com github.com/Azure/azure- content
  32. 32. • All about Java on Azure – Azure Blog • VM Depot • Azure Java Developer Center (SDK and More) • Azure Toolkit for Eclipse • MS Open Tech Tools for IntelliJ • Java Microsoft Virtual Academy Course • Azure Chat for Java

×