LIGの開発部門には、経歴も得意分野も違う、個性豊かなエンジニア陣が揃っています。そんな彼らが集ったらどんなディープな技術トークが繰り広げられるのでしょうか。
そこで今回はエンジニア座談会を開催。一昔前の開発の苦労から最新の技術トレンドまで、3人のエンジニアに幅広く語ってもらいました。
高遠 和也(づや)エンジニア。1983年生まれ。SIerとしてJava、C#等の開発案件にエンジニアとして従事。その後LIGに入社し、バックエンド/フロントエンドエンジニアとして多種多様な案件に関わる。 |
菊池 裕之(おきく)エンジニア。大学卒業後、大手SIerにて組み込み系エンジニアとして従事。その後、IT業界から一時離れるものの、SES企業にてサイドエンジニアとしてチャレンジ。2020年からLIGにジョインし、様々な案件のテクニカルディレクター並びにプロジェクトマネージャーとして参加。 |
山上 修(がみさん)エンジニア。武蔵野美術大学卒業後、デザイナーとして活動。徐々にWeb制作に関わるようになり現在はインフラ・バックエンドエンジニア。Web広告事業や大手ECサイト、大手旅行会社のシステムエンジニアを経てLIG入社。入社後はTech事業のマネジメントに従事。 |
目次
オンプレミスかクラウドかハイブリッドか。従量課金は事前の試算が大事
おきく:今のLIGサイトってAWSを使っていますよね。僕がAWSを触り始めたのは3年くらい前なんですけど、クラウドができる前はどんなふうにインフラ構築をやっていたんですか?
づや:あの頃は、レンタルサーバー会社がサーバーを丸ごと管理してくれるプランを提供していたんですよ。スケールしたり、バックアップを取ったりする必要があるときは、たとえば5台用のプランを選んで2台をWeb用にするとかして振り分けていましたね。
おきく:へぇ〜。自分たちで調整できたんですね。
づや:でも決められたプランの中でしか選べないし、別のイベントとかで使われちゃっているときはどうしようもないので「全ページ自分たちでキャッシュ作りますか」みたいなこともありましたよ。
おきく:じゃぁサーバーに関してはIPアドレスが割り当てられて、SSHでつないでファイルをアップロードしていく流れですか?
づや:そうですそうです。めんどくさかったですよ〜。
がみ:それに昔は企業側に従量課金の文化が浸透してなかったんですよね。とある案件でインフラ構築をしたら、ちょっとした事件が起きてものすごいアクセスを集めたんですよ。そしたら従量課金で何十万円という料金を請求されて……。二日くらい徹夜して、急いで定額レンタルサーバーに移行した記憶がありますね。
1アクセスにつきどれくらいのトランザクションがあって、ECサイトだとどれくらいの儲けにつながっているのか、事前にちゃんと試算しておかないと、アクセスが増えるほど逆に儲けがなくなっちゃうんですよね。
おきく:僕も「クラウド破産」っていう言葉を聞いたことあります。クラウドは従量課金制が多いから、気をつけないと、とんでもない金額の請求がきて破産するっていう。かといってオンプレミスにすると冗長化とか災害対策とか、考えておかなくちゃいけないことも多い。トータルコストで考えると、大体はクラウドのほうが安くなるんですよね。
づや:大手の動画サイトとかだと、「ベアメタル」っていう通常時はオンプレで動かして、緊急時はクラウドで拡張するっていうハイブリッドのパターンもありますよね。あとは従量課金をやめたものの、いきなり全部変えると負荷が大きいから両方使うっていうケースも。
おきく:もともとオンプレでやっていたけれど、コロナ禍のリモートワークに対応するためにクラウドも使い始める企業が増えたという話は聞いたことがありますけど、負荷分散という目的で導入したところもあるんですね。
最後はやっぱりAWS?GCPもAzureも、実はココがすごい!
おきく:確かAmazon Elastic Kubernetes Service(EKS)を使うと、Kubernetesのクラスタをオンプレとクラウド両方に対して展開できるんですよね。最初にその話を聞いたときめっちゃ感動しましたよ。でもKubernetesが難しすぎて、結局Amazon Elastic Container Service(ECS)使っているんですけどね(笑)。
づや:俺もECS使ってますね〜。
おきく:Microsoft AzureもGoogle Cloud Platform(GCP)も、全部Kubernetes使っているから、Kubernetesをわかっていればいろんなクラウドサービスに対応できると思うんですよね。
がみ:でもKubernetesを使いこなせるエンジニアって、ほぼいないですよね。俺は7割くらいが精いっぱいですよ。
づや:俺もまだいけないですね。
おきく:僕もまだです。でも使いこなせるようになりたいですね。AzureとKubernetesの組み合わせはすごくいいなと思っています。AzureってMicrosoftのいろんなサービスと連携できるんですよ。めちゃくちゃ感動したのは、エクセルファイルをETLでデータ抽出できるんですよ。マイクロソフトのホワイトボックス的な連携の部分はAzureの強みだと思いますね。
がみ:へぇそうなんだ。それはいいね。
おきく:でもAWSのエンジニアが多いので、AWSの方が無難かなって気がします。がみさんはGCPは使えるんですか?
がみ:100%いけますよ! 3年くらい前にすごく泣かされましたから(笑)。GCPってすごくて、稼働中のオンプレからクラウドにマイグレーションできるんですよ。オンプレのデータを同期してレプリケートして、ハードディスクの内容とメモリを移行して、最後にCPUに残ったデータをメモリに載っけて転送すると、稼働中のサーバーを一瞬で切り替えられるんですよ。
づや:ダウンタイムがないってことですか?
がみ:ないんです! あれは結構移行しやすかったですね。普通は地道にポチポチ作業しますが、GCPはメモリーとかセッションとかそのまま移行できるんですよ。これってちょっとSFチックじゃないですか? だってターミネーターでロボットがやられたら、その隣にいる別のロボットにすべての情報を移して、すぐに戦えるようになるかもしれないってことですよ!?
づや:(笑)。
おきく:づやさんはAWS1本なんですか?
づや:今仕事で使っているのはAWSが圧倒的に多いですね。GCPもたまにありますけど、そんなに大規模なものはないですね。でもGCPはスケールが速くていいな。
おきく:そんなに速いんですか? その特徴は知らなかったですね。
づや:AWSは遅いですよね。だから一瞬GCPに乗り換えようかと思ったんですけど、やっぱりいろいろな理由からAWSに落ち着きました(笑)。
がみ:GCPは料金が安いのも魅力ですよね。かつてMicrosoftとAppleがエンジニアの引き抜き合戦やっていたと思いますが、今はAWSとGCPが激しくやりあっているらしいですよ。ってことは、中身はほぼ同じじゃないかっていう(笑)。
づや:でもGoogleってドキュメントとかなんでもわかりにくいんですよね。
おきく:わかります。なんか使い勝手が良くない。
がみ:UIもシステムのデザインも良くない。
おきく:評判悪いですね(笑)。
インフラは大事なのに表からは見えにくい。学習の優先順位は下がりがち
おきく:でもGCPはInfrastructure as Code のTerraformには対応しているので、これができるエンジニアが増えれば、GCPを使う人口も増えてくるかもしれません。
がみ:なるほど。UIはイマイチでもTerraformに対応しているならそれもいいかもしれませんね。でもTerraformってマイナーなんですよね。少なくとも5年くらい前からあるのに。
おきく:5年も前からあるのにいまだにマイナーって……。何か欠点があるんですかね? 僕はいいツールだと思うんですけど。
がみ:インフラって、Web制作を志す若者が最後に勉強することなんですよね。見えにくいから後回しになってしまう。
おきく:確かにInfrastructure as Codeって、知っていたほうがいいとは思いますが、そのほかに学ぶべきことが多すぎるんですよね。だから優先順位が下がって普及しないのかもしれない。
がみ:たとえば建築だと建物や部屋のデザインは気にするけど、土木って何をやっているのかよくわからないですよね。インフラって土木みたいな仕事ですよね。実際どんなことをするのか具体的にイメージしにくいことは影響していると思いますよ。
おきく:実は僕も最近Terraform学び始めたんです。これまではサービスの全体設計に注力していて、Infrastructure as Codeは後回しになって、業務委託の人たちに頼ってしまっていました。でも自分で書けたら、レビューするときとかすごくチェックしやすくなるだろうと思います。
がみ:IRとか権限系にはTerraformはすごくいいと思う。
おきく:ただローンチしてステージ環境を通すときにポチポチするのが面倒なんですよね。AWS CloudFormationならボタン一つでできるので、そのときに結局「最初からCloudFormationで作っておけばよかった」って思っちゃうんですよね。
がみ:本番環境でデプロイするのって、勇気いりますよね。心臓に悪い。
づや:ほんと最後は勇気ですからね。いまだにドキドキしますよ。
予算がなく、手間をかけてカバーしていた時期も。便利な今はもはやSFの世界
おきく:インシデント対策ってどこまでやっていますか? 個人情報を扱う場合にはペネトレーションテストまでやりますか?
づや:ペネトレーションテストは滅多にやらないですね。そもそもLIGの場合は個人情報を扱うサイトをつくることがあまりないんで。それに月2000円の費用でも「もっと下げたい」というお客さんもいるぐらいなので、そこまでのコストはかけられないと思います。
おきく:コストは下げたいけどセキュリティは担保したいと……。
づや:予算がこれしかないと言われると、予算の範囲内に納まる見込みでも、従量課金は提案しづらいんですよね。
おきく:今もまだレンタルサーバーを扱う案件ってあるんですか?
づや:まだまだありますよ! やっぱりレンタルサーバーは安いんですよね。性能も昔に比べて良くなっているので、大きな負荷がかかることがほぼないコーポレートサイトくらいなら十分だと思いますよ。
おきく:確かにコーポレートサイトだったらレンタルサーバーで十分かもしれませんね。僕はついついデザインにこだわってAWSで組んじゃうので、オーバースペックになりがちなんですよね。
づや:やりたくなりますよね。だからJamstackにしてCloudFrontで展開するパターンは結構ありますよ。
おきく:Jamstackにするとすごく安いですよね。海外で使えるサイトも、CloudFrontでエッジコンピューティングを実現すると速度は速くなりますか?
づや:なりますね。昔、社長がアメリカ横断しているときにサイトを作ったんですが、「速度が遅い」って文句を言われたんですよ(笑)。それでCloudFrontを通したら、表示スピードへの文句はなくなりましたね。
おきく:Webサイトって遅いとストレスを感じて、離脱したくなっちゃいますからね。海外展開となるとレンタルサーバーには限界があるから、JamstackとCloudFrontは適切なやり方だと思います。ちなみにそのときは、バックエンドAPIのリージョンはどこに置いたんですか?
づや:ContentfulとかmicroCMSとか、外部のヘッドレスCMSですね。
おきく:そういうことか! だから世界中のどこでも一定の速度が担保されるんですね。さすがですね。
づや:CDNはすごく使いやすくなってきていて、Cloudflareもかなり性能が上がりました。速度対策としてCDNだけ提案する機会も増えてきましたね。
おきく:世界展開するときのインフラ構成って、複数リージョンにインフラ展開したり、Route 53による地理的近接性ルーティングですかね。
づや:知らない間にめっちゃ企業増えてる(笑)。
がみ:Route 53ってちゃんと勉強している人は少ないですよね。
おきく:そうなんです。でもRoute 53って負荷状況に応じて、それ自体が負荷分散してくれるように設定できるらしいですよ。
がみ:それはすごいね。づやさんは知っていると思うけど、ロードバランサーがなかった頃って、ラウンドロビンっていうのをやっていたんですよ。同じドメインでサーバー5台くらい用意して、1台が落ちたらDNSが次のアクセス引いてくれるので、負荷分散になるっていう原始的な仕組みでした。
づや:やってましたね(笑)。昔はロードバランサーが高くて手が出せなかったんですよね。だからプロキシ用ソフトを入れたサーバーをかませて、似たようなことをやったことがありますね。
がみ:ロードバランサー高かったなぁ。月10万くらいでしたね。
おきく:コストがかけられない分、労力をかけてなんとかしていた時代からすると、ロードバランサーで2、3行コード書けばいい今の時代はめちゃくちゃ便利ですね。
がみ:ほんと、SFの世界ですよ。
LIGサイトでやりたいことは山ほどある。新しい知識はどんどん入れていきたい
おきく:LIGのホームページも昔はレンタルサーバーだったんですか?
づや:さくらのスタンダード、ビジネス、GMOクラウドときて、今はAWSですね。ここにAmazon ECSとCloudFrontを入れています。
おきく:あれ? CloudFrontは入れる必要あるんですか?
づや:めちゃくちゃありますよ! 静的ファイルの配信が速くなるんですよ。画像はほぼキャッシュで返したいんです。
おきく:CloudFrontとかエッジコンピューティング的なものってSEO的に問題ないんですか?
づや:全然大丈夫だと思いますよ。LIGブログに関してはやりたいことがいっぱいあるんですよね。WebPも考えてはいるんですけど、課題が多くて……。
おきく:WebPを使うとどんなメリットデメリットがあるんですか?
づや:画像の圧縮効率が良いんですよ。Safariにも対応するようになって、ほぼすべてのブラウザで利用できる。転送量が下がるので速度的なメリットはあるんです。CloudFront FunctionsでWebPでとか、好きにやってみたいんですけどね。
おきく:永遠に語れそうですね。何でもありの座談会、結構面白いですね。
づや:似たような職種でも案件によって全然やることが違うので、そういうところを深く話したり悩みを共有したりできたりする機会があるって楽しいですね。
がみ:確かに。でもエンジニアって面白いけど、10年前の武器なんか何にも役に立たなくて、戦い続けなくちゃいけないんだなって実感しました(笑)。今日おきくさんからいろんな新しい話も聞けたので、また新しい情報も入れていきたいですね。
おきく:でも僕は昔のこともいろいろ聞けて勉強になりました。ぜひまたやりたいですね。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。