3年後の幸せなPHPライフのために

Eiichi SatouWhat’s Zend ?
How to extend support

Today’s Agenda

ZendPHP
ZendHQ
Demokonekto Other Service

Page:2

konektoとはPage:3

コネクトのあゆみ• Zendプロダクトの日本総代理店として、日本語化およびサポートを提供
PHPによるWebシステム開発およびサポートを提供• 2003年よりMySQLのリセールパートナー• 各種オープンソースのサポート提供
••
•
•
•
•
•
•
•
•
•
•
•
•
•
•

2001年9月 株式会社テンアートニ （現：サイオステクノロジー株式会社）の1部門としてスタート
2002年12月 ゼンド・オープンソースシステムズ株式会社として独立
2003年9月 MySQLプロダクトの取扱い開始/サポートサービス開始
2004年9月 ゼンド･ジャパン株式会社に社名変更
2005年3月 Apache/Tomcatサポートサービス開始
2006年5月 ターボリナックス傘下となる
2010年9月 Zend Server リリース
2012年7月 コネクト株式会社に社名変更
2012年11月 Cassandraサポートサービス提供開始
2015年6月 MySQL Cluster 構築支援サービス「MySQL Cluster 導入プラン」提供開始
2015年7月 Spark によるビッグデータ向けデータ解析ソリューション「HARUNIRE」提供開始
2016年4月 MySQLに関する技術力とビジネス実績を認定する「Specialization」を取得
2017年4月 Hadoopサポートの提供開始
2018年9月 WildFlyサポートの提供開始
2020年2月 「Hyperledger Iroha入門 ―ブロックチェーンの導入と運営管理―」監修
2022年1月 Oracle Cloud Infrastructure 取扱い開始
Page:4

主要3事業Webシステムソリューションをご提供

Webシステム PHP
世界で最も使用されているWeb用スクリプト言語

データベース MySQL
世界で最も使用されているOSS
データベースkonekto
OSSサポートサービス
コンサルティング

Apache 、Apache Tomcat、Apache Cassandra は、Apache Software Foundationの登録商標です。その他の商標は、各社の登録商標です。

Page:5

ZendとはPage:6

PHPのシェア

Webサーバのスクリプト言語シェアPython, 1.50%
ColdFusion, 0.30%
static files, 1.90%
Perl, 0.20%
JavaScript, 2.40%
Erlang, 0.10%
Scala, 2.90%

CMSシェアJava, 4.70%
未使用,
31.60%

Adobe Systems,1.10%
Drupal, 1.10%
Joomla, 1.80%
Squarespac
e, 3.00%

WordPress, 43.00%

Ruby, 5.40%
ASP.NET,
7.90%
PHP, 77.30%

Wix,3.70%

Shopify,4.00%

W3Techs 2023/8/23
Page:7

ZendはPHPの進化と繁栄をもたらしました≒禅
Zeev SuraskiAndi Gutmans
５Page:8

Zendの歩み
1999 Zend Technologies設立
2006 Zend Framework リリース
2006 Zend Server リリース
2013 IBM I に対応したZend Server 6リリース
2015 Rogue Wave Software に買収される
2018 Zend Framework オープンソース化
2019 Perforce Software に買収される
2020 ZendPHPリリース
2022 ZendHQリリース
2023 ZendPHP Windowsインストーラ
ZendHQ JobQueue
Page:9ZendPHP

Page:10

ZendPHPの特徴• PHPのEOLを2年から4年延⾧• OS毎に検証済PHPバイナリを提供• OS毎のPECL提供• 最適なインストール環境を用意• Dockerイメージを用意• デバッグ/モニタリング/APMツールとしてZendHQを提供• Zend社の問合せサポート

Page:11

延⾧サポートの意義• コンプライアンスを厳格に適用するなら、サポートが終了する前に常に最新の PHP バージョンにアップグレードする以外の選択肢はありません。
特に海外では、HIPPA(米国の健康情報の合法的な使用基準), PCIDSS(クレジットカード取扱事業者の基準), GDPR(EU一般データ保護規則)などに適合するために多大なメンテナンスコストを投入しています。
• コンプライアンスはさておき、多くの企業は貴重な開発時間とコストをPHPアップグレードのために費やす余裕はありません。
• セキュリティFixとバグFixさらにサポートを必要とする企業のために、Zend は安全な PHP ランタイムとサポートを提供します。
Page:12

ZendPHPLong
TermSupportPage:13

延⾧サポート①

PHP 7.2 は2023年11月末までサポート
PHP 7.4 は2026年12月末までサポート

Page:14延⾧サポート②
プラス2年間がありがたい(余裕を持って移行できます)
PHP7.4ならプラス4年間

Page:15

コミュニティ版ベースで運用すると3年毎に移行作業が必要です。
PHP 7.2を例にすると、2020年末には次のバージョンに移行が必要です。
PHP 8.0に移行しても2023年末には次のバージョンに移行が必要です。
2017

2018

2019

2020

2021

2022

2023

PHP 7.2
PHP 7.3
PHP 7.4
PHP 8.0
開発

PHP 8.1

運用期間
移行

Page:16

運用期間

2024

ZendPHPで運用するとZendPHPなら、PHP 7.2を2023年11月まで利用できます。
次の移行は、余裕を持ってPHP 8.2を選択できます。
201720182019

2020

2021

2022

202320242025

2026

PHP 7.2
PHP 7.3
PHP 7.4
PHP 8.0
PHP 8.1
PHP 8.2
開発

運用期間
移行

Page:17

運用期間

2027

2028

様々な利用形態をシームレスにサポート
オンプレミスコンテナ

Cloudインスタンス
Page:18

ZendPHPの対応OSおよびPHPバージョン
PHP version

OS and version

7.2

7.3

7.4

8.0

8.1

8.2

Debian 9〇〇〇〇〇×

Debian 10 / 11 / 12〇〇〇〇〇〇

Ubuntu 16.04〇〇〇×××Ubuntu 18.04 / 20.04 / 22.04〇〇〇〇〇〇

RHEL/CentOS/OracleLinux 7, Amazon Linux 2
RHEL/Alma/Oracle/Rocky Linux 8
RHEL/Alma/Oracle/Rocky Linux 9〇〇〇〇〇〇

Windows 10 / 11 Server 2019

〇〇〇〇〇

〇

Alpine 3.16〇〇〇〇〇

〇

IBM i

〇〇〇〇〇〇

Page:19

8.3

ZendPHPが提供するDockerイメージ
PHP version

OS and version

7.2

7.3

7.4

8.0

8.1

8.2

Debian 10 / 11 / 12〇〇〇〇〇〇

Ubuntu 20.04 / 22.04

〇〇〇〇〇

〇

CentOS 7〇〇〇〇〇〇CentOS 8〇〇〇〇〇×Rocky Linux 8 / 9〇〇〇〇〇〇

alma 8 / 9〇〇〇〇〇〇

alpine 3.16〇〇〇〇〇〇

amazon 2〇〇〇〇〇〇*いずれのOSもFPMとCLIを用意しています
Page:20

8.3

ZendHQ

Page:21

オンプレ時代のプロダクト
サーバ管理GUI
Zend Framework 1 & 2

サーバ管理GUI

データベースドライバ

Zend Framework 1 & 2

拡張モジュール

データベースドライバ

PHP実行環境

拡張モジュール

Apache2.4/IIS/NGINXPHP実行環境
Apache2.4/IIS/NGINX

サーバ管理GUI
Zend Framework 1 & 2
データベースドライバ
拡張モジュール
PHP実行環境
Apache2.4/IIS/NGINX
Page:22

Cloudとコンテナで てんやわんや
オンプレミスコンテナ

Cloudインスタンス
Page:23

コンテナの複雑さを緩和するためにオーケストレーションを使用しますね。

Page:24

オンプレ / コンテナ / インスタンス 向け
ZendHQは、PHPモニタリング/デバッグ（APM）拡張機能です。
•ZendPHPコアから実行情報を収集して提供します。

Page:25

PHP実行環境のマネージング

zendPHP
zendHQ

PHP拡張機能
PHP実行環境〇〇

モニタリング〇〇

Z-Ray
コードトレーシング

〇

〇

〇

〇

〇

〇

ジョブキュー
非同期(即時)/スケジュール/定期
Javaブリッジ(JVM共有)〇

セッションクラスタリング〇
Page:26〇 *Docker

ZendPHP：モニタリング/Z-Ray/コードトレース
PHPコードを実行中に予め設定されいるルール(設定値)に達するとイベントとして状況を記録します。
PHPコードの実行をトレースすることが可能です。

情報記録
イベント

PHPコード実行
モニタ
ルール
実行状況監視zendPHP
Page:27

コードトレース

Z-Ray

zendHQ

ZendHQのJobQueueとはZendPHP には、ジョブをスケジュールしたり、ジョブを延期したり、PHP アプリケーションで繰り返しプロセスを実行したりするための JobQueueが含まれています。
ZendHQ は、PHP ワーカーと非 PHP ワーカーの両方のジョブをスケジュールでき、コマンド ライン イ
ンターフェイスまたは HTTP 呼び出しを使用できます。
・利用者の入力処理とその後の処理を分離したい
・処理リソースが整った時点で処理を実行したい
・定時/定期実行したい
これらのニーズを JobQueue が解決できます。

Page:28

キューとジョブを処理するために、JobQueue 用のPHP API は ZendHQ ノードと通信します。

ZendHQ JobQueue API
JobQueueは、APIが用意されており、PHPコードからJobの作成ならびに監視か可能です。
極端に処理時間が異なる作業や外部要因で処理時間が変動する処理をJobに分離して実行することが可能です。

https://help.zend.com/zendphp/current/content/zendhq/z
endhq_jobqueue_php_api_usage.htm?Highlight=JobQueue%20API
Page:29

ZendHQ JobQueue特徴

PHP API
ZendHQ GUI(プログラムによる) (マニュアル)

JSON-RPC API(プログラムによる)キューの作成と削除✅

✅

✅

キューの一時停止と再開

✅

✅

✅

キューをリストする✅

✅

✅

ジョブのスケジュールとクエリ

✅

✅

✅

ジョブをキャンセルする

✅

✅

✅

ジョブの作成と表示✅

✅

✅

スケジュールされたジョブとジョブの詳細を表示する

✅

✅

✅

ジョブ履歴を表示する

❌

✅

✅

ジョブの失敗とエラーの監視ルールを作成する

❌

✅

✅

Page:30

DemoPage:31

デモ環境の構成
ZendHQ

ZendPHP
Web

ブラウザ

ZendHQ GUI

ZendHQ

ZendHQ

NGINX
ZendPHP
ZendHQ

Webhook
メール

Page:32

Slackデモ：ZendHQ GUI
ZendHQ(zendqhd)に接続してZendHQが取集した情報を参照できます。
Z-Ray： PHPコード実行をトレースして、実行状況を解析することが可能です。
健康診断で使用するレントゲン(X線：X-Ray)をもじったネーミングです。
トークンを使用して追跡するので、PHPコードの変更は不要です。
Monitor：PHPコード実行時に規定されている状況が発生した場合に記録します。
8種類の設定項目によって、あらゆる状況をモニタリングできます。
Function Error
Database Error
Slow Function Execution
Slow Query Execution
Slow Request Execution
High Memory UsagePHP Error
Custom Event
Page:33

Z-Rayのデモデモアプリの動作をトレースします。
ラウンドロビンしても追跡が可能です。
①トレースを開始します。

Page:34

Z-Rayのデモデモアプリにアクセスします。
http://127.0.0.1:8000/
Laminasのmezzioで作成しています。
②リクエストにトークンを追加します。
http://127.0.0.1:8000/?zraytok=ZendHQトークン

Page:35

Z-Rayのデモ③トレースが始まります。

Page:36

Z-Rayのデモ④あとは自動的に追跡します。

Page:37

モニタリングのデモ
デモアプリで、イベント(異常)を再現して検出内容をご覧いただきます。

Page:38

モニタリングのデモ①Slow Request Execution

Page:39

モニタリングのデモ②High Memory Usage

Page:40

モニタリングのデモ③PHP Error

Page:41

モニタリングのデモ④Monitring設定画面

Page:42

モニタリングのデモ⑤Monitring設定画面
Slow Query Execution

Page:43

モニタリングのデモ⑥Monitring設定画面
High Memory Usage

Page:44

モニタリングのデモ⑦Monitring設定画面
PHP Error

Page:45

JobQueueのデモ①Queue一覧

Page:46

JobQueueのデモ②Queueの作成

Page:47

JobQueueのデモ③Jobの作成1

Page:48

JobQueueのデモ④ Jobの作成2Page:49

JobQueueのデモ
⑤実行結果
詳細の表示

Page:50

まとめ ZendPHP とZendHQ をご紹介しました
製品ページ
https://www.konekto.jp/product/zendphp.html

型番

製品名

ライセンス価格

PKG-1301

ZendPHP Silver

363,000円(税込)

PKG-1302

ZendPHP Gold979,000円(税込)

Page:51

Thank You
Contact Info

Eiichi Satousatou@konekto.jp+81-3-6256-8598