Cloud Foundry Advent Calendar 2018の1日目!
なんかついこの間2017年のAdvent Calendarを書き終わったくらいの気持ちなんですけど、時間が経つのは早いモノで、もう12月ですか。
さて2018年のCloud Foundry Application Runtimeを振り返ってみます。 細かなところ上げると切りが無いんで、大きなトピックを中心に振り返ってみましょうか。
CFCRについてはまた別途取り上げます。
cf-release廃止、cf-deploymentへ移行
2013年にCF v2が出て以降、CFのデプロイには cf-releaseを使うのが一般的でした。
しかしBOSHもv2となり、Opsfile始めさまざまな便利機能が登場したこともあり、これらの機能を最大限享受すべく作り直された cf-deployment への移行が行われました。
cf-releaseは今年2月のv287をもって終了しているため、もしcf-deploymentへ移行を行っていない方は、できるだけ早くcf-deploymentに移行しましょう。移行に際しては、このあたりのツールも参考にしてください。
Routing layerのIstio移行
これは現在進行形で開発が進んでいる機能ですが、CFのルーティングレイヤーがごっそりIstioに置き換えられるということが発表されました。
これについては、私が発表した以下の資料が参考になるかもしれません。
移行ですが、いきなりIstioに切り替わるのではなく、DEA->Diegoの時と同じように、運用者がどちらかを選択or両方をデプロイ と言う形で導入できるようにするようです。 Sidecar envoyによるmTLSなどは既に現在のバージョンで実装されていますが、Istioの導入によってさらに重み付けロードバランスやCanary releaseなどが可能になります。
SpinnakerのCFAR対応
Continuous Deliveryのツールとして人気のSpinnaker。 主にk8s向けに利用するイメージが強いこのツールですが、バージョン1.10からCFARに対しても利用できるようになりました。
最初にPivotalのサイトで触れられたのが2015年のことなので、だいぶ時間がかかったなあ・・。
CF Containerization / Project Eirini
この記事を読んでいる皆さんであれば、k8sを構築・運用するためのCloud Foundryの仕組みがCloud Foundry Container Runtimeであるということはご存じでしょう。 CFで培ったBOSHの仕組みと、Kubernetesを組み合わせていいとこ取りしたのがCFCRです。
しかしそんな分類を、さらに混乱させるようなプロジェクトが登場しました。それが、CF ContainerizationとProject Eiriniです。
CF Containerization
CF Containerization | Cloud Foundry
ざっくり言うと今までBOSHで管理されてきたCFのコンポーネントをKubernetes上でコンテナとして動かしてしまおう、というプロジェクトです。
これに関しては、Advent Calendarで触れたいひともいそうなので詳細はそちらに譲ります
Project Eirini
Project Eirini | Cloud Foundry
CFARはDiegoでアプリケーションコンテナのスケジューリングを行っていますが、Diegoの代わりにKubernetesを使ってスケジューリングを行おうというのがこのProject Eiriniです。
これまた他の記事で書きたそうな人がいるので詳細はそちらで。
CF ContainerizationとEiriniという、ぱっと見よく似たプロジェクトが2つ動いていることで混乱してしまうかもしれませんが、 CFARの管理系をk8sに載せちゃおうというのがCF Containerization、 CFARに乗っかるユーザーアプリをk8sに載せちゃおうというのがProject Eiriniになります。
これについては、IBMのThinkというイベントで登壇した際に解説してますので、興味のある方はこちらもご覧ください。
さいごに
他にも書きたいことあった気がするんですが、時間も時間なので今回はこの辺で。 それぞれのネタの詳細は、また別の記事で解説できればなーと思っています。