AWS LambdaのCOBOLサポートについて少し調べてみた
AWS re:Invent 2018で、LambdaでRubyを使えるようになったと発表がありました。 合わせて、カスタムランタイムとしてあらゆるプログラム言語を利用できるようになるようです。
また、ErlangやPHP 、COBOLのランタイムがパートナーにより提供されることも発表されています。
…そう、COBOLです。
需要あるのか?いや、面白いかも?どうだろう…
新卒で金融系の部門に配属され、新人研修で学んだCOBOL。3年目くらいまでは書いていたCOBOL。
どこがパートナーとしてランタイムを提供して、どんな狙いがあるのか気になったので発表されていた会社を調べてみました。
COBOLのランタイムは Blu Age という会社が提供するようです。
どんな会社なのかな?と見てみると、メインフレーム上で動いているCOBOLやPL / I、RPGなどで書かれたレガシーアプリケーションをマイグレーションだったり近代化するのが得意な会社のようです。
AWS LambdaでのCOBOLサポートについては、以下に狙いやアーキテクチャについての説明が書かれています。
狙いとしては、メインフレーム上で動かしているCOBOLを書き換えることなくサーバレスアーキテクチャに移行することができる。これにより運用コストが大幅に削減できる…と。確かにメインフレームの維持費用がなくなれば大幅にコスト減できそうです。実際に移行するにはもっと複雑ではあると思いますが、それはそれとして。
どうやって動かすのかというと、発表されたAWS Lambda Layers機能を活用し、Java 8 ランタイムの上にCOBOLを実行するためのランタイムライブラリを提供する、とのこと。
…ん?これ、COBOLをコンパイルしてJVM上で動くようにしているか、COBOL→Javaにしてから実行可能な形にしているか、では?
だとすると、初回起動が遅いとかメモリ使用量が多いとかJavaと同じ傾向が出るのでしょうか。 使えるようになったら試してみたいですね。