ホームメンバー問い合わせ

サーバーレスアイデアメモ

By munpei
Published in サーバーレス
October 16, 2022
2 min read
サーバーレスアイデアメモ

Primo in altis pelle alumnae

Lorem markdownum obvius in seque opus, est bicorni forte; laeva. Iurant patria beatam semel communis et atra qua fugit, solet invicti cui inter patulas regibus remolliat volumina sorori? Quidem miscentem regna interea natura in adligat, aenum onere placere lympha. Sunt tantum intentare exhortatus avidas Scythides lacrimis imitatus prohibent terraeque donec ulterius thalamosque fero comitantibus. Tela cervicem insiluit locis, falsa et umida ulterius digitos excipiunt!

シリーズ概要

サービス開発には多数の挑戦が必要

サムライアプスは、 ニッチだが役に立つクラウドサービスの開発を目指してます。

メンバーも多くのサービス開発に挑戦した経験を通じ、 いきなり上手くいくことなどはなく、 多くの失敗をしながら軌道修正を繰り返して行く必要を痛感しています。

サムライアプスでは、挑戦にかかるコストを極限まで減らすため、サーバーレスと呼ばれる技術をフル活用しています。 コストが低ければ、成功するまで長期間挑戦を続けられますし、失敗してもダメージを小さく抑えられるからです。

また、サムライアプスは、テックスタートアップや小規模企業が IT (Information Technology, 情報技術)をもっと活用できるような 情報提供を行っていきたいとも考えています。

コストが低いサーバーレスを活用すれば、 潤沢な投資予算を持つ大企業でなくても、 IT の活用に挑戦できる可能性が広がるでしょう。

サーバーレスとは

サーバーレスとは、サービスで何かの機能をクラウド上で実行したい場合、その実行にかかった時間やコンピューティングリソース(CPUの強さ、メモリ容量、ストレージ容量、等)に比例する料金だけを払う、という考え方です。
実際にはクラウド上で機能を実行するには何らかのサーバーが動かなければならないのですが、サーバーの管理はすべてクラウドベンダーに任せてしまうため、サーバーレスと呼ばれています。

サーバーレスに対応したクラウドサービスでは、固定費用がゼロまたはかなり低く設定されており、利用された分にのみ費用が掛かります。 これはほとんど利用がないトライアルの初期フェーズにとっては、非常に都合が良い性質といえます。利用がなければほぼゼロ円で済むからです。

このウェブサイトも、サーバーレスで構築しています。 わずかな固定費とアクセス数に比例したコストがかかりますが、アクセス数は多くないので、超低コストが実現できています。

本シリーズでは

本シリーズでは、私たちが実際にウェブサイト運営に利用しているサーバーレスをはじめとした技術を、ブログ形式でご紹介していきたいと思います。

個々の情報について「やってみた」記事は世の中にあふれていますが、 このシリーズでは、私たちが実際に運用しているシステムに基づいてご紹介しますので、 より具体的にご参考にしていただけるのではないでしょうか。

シリーズ目次

本シリーズは、次のような内容をご紹介して参ります。
今後、ウェブサイトの変更や拡張によって、内容は変更される場合があります。

  1. 概要
    • シリーズ概要(本記事)
    • サーバーレスだとなぜランニングコストが安いのか
  2. ウェブサイトインフラ解説
    • コンテンツ作成フレームワークには Gatsby をお勧め
    • アーキテクチャー
    • Jamstack
    • 固定費:独自ドメイン
    • 変動費:アクセス比例、コンテンツ量
    • 制限:サーバーサイド処理はできない
    • 本記事が本格的である理由
    • CI/CD
  3. 継続的デプロイメント (Continuous Deployment, CD)
    • GitLab CI 変更
  4. トラフィック監視設定
    • Google Analytics 設定
    • Google Search Console 設定
  5. 広告設定
    • Google AdSense 作成

本格的である理由

ランニングコストが格安

AWS のサーバーレスサービスをフル活用しています。 コンテンツデータ量とアクセス数に比例した完全従量型の課金体系になっているため、 本サイトのような中小企業・マイナー団体のウェブサイトや、 試行錯誤中のサービスなどであれば、 アクセス数が多くないため、非常に低コストで運営が可能です。

アクセスが高速

運営費は格安ですが、アクセス速度が劣るということはありません。

インターネットは、実際にはたくさんのコンピュータが連結されて構築されていて、 皆さんがこのサムライアプスのサイトにアクセスするまでには、 多くのコンピュータを渡り歩いているわけですが (一般人のPCという意味ではありません)、 サムライアプスは、より格安にするためサーバーをアメリカに置いているため、 それなりにアクセス時間がかかるでしょう。

ユーザーからのアクセスを、ユーザーに近いサーバーでキャッシュする CDN (Content Delivery Network) と呼ばれる仕組みを導入しています。

日本からのアクセスはほぼ日本国内の CDN サーバーから返されること、 またオリジンサーバーへのアクセスも少なく済むため、 アクセス数削減にも寄与します。

独自ドメインにも対応

独自ドメインにももちろん対応しています。 また、 samurai-apps.com にアクセスした場合、 www.samurai-apps.com に転送しています。

HTTPS 対応

サイトアクセス中のデータやり取りを暗号化するための技術(正確にはプロトコル)である、 HTTPS (Hypertext Transfer Protocol Secure) に対応しています。 HTTPS に対応しているサイトでは、ウェブブラウザのアドレスバーに鍵マークが表示されます。

もちろん HTTPS 対応です。

開発、ステージング、本番の段階的公開ワークフローに対応

本格的な開発フローでは、公開レベルの異なる複数のサーバーを作成するのが普通です。 具体的には、執筆途中の内容を含む開発中の状態を内部向けに公開する「開発サーバー」、一般公開前や後のチェック作業用に本番と同じ環境を用意するための「ステージングサーバー」、そして一般公開用の「本番サーバー」、などが一般的です。

当然、サーバーを3つ作るのでコストも3つ分かかってしまいますが、 開発サーバーやステージングサーバーは内部からのアクセスだけなので、 アクセス数が非常に少ないため、超低コストで運営できます。

開発サーバーやステージングサーバーは、 BASIC 認証をかけてアクセス制限を行っています。

なお、アクセス元のIPアドレスを指定することでより強固な保護ができますが、 スタートアップや中小企業は固定アドレスのゲートウェイを持たない事も多いと思いますので、まずは BASIC (ユーザー単位は今のところ非対応)

ほぼ完全IaC

ウェブサイトのインフラは、 AWS のウェブコンソールはほぼ使用せず、 Typescript で記述されたプログラムのような形で構築しています。

Infrastructure as Code と呼ばれる方法で構築しています。

作業手順書を作る代わりに、 構築設計書を作成することになるため、 プログラムがドキュメントの役目も果たすので、 現実との乖離がありません。

また、構築作業はプログラムによって実行されるため、 人間が介在することによるうっかりミスが発生しません。

継続的デプロイメントに対応

ウェブサイトのコンテンツとインフラは、 Git で管理されています。

Git レポジトリの内容が更新されたら(マージされたら、といいます) 自動的にウェブサイトの更新が実行されるように設定しています。

このようなレポジトリと連動して自動的に更新するという考え方を、 継続的デプロイメントと言います。

セキュリティリスクが少ない

ウェブサイト構築で最も人気のあるシステムとして Wordpress が有名です。 世界のウェブサイトの何割かは Wordpress で運営されているとも言われています。

一方で、 Wordpress はセキュリティリスクも常に指摘されています。 これは人気があるため狙われやすいという背景もあると思いますが、 管理画面もインターネット上からアクセスする仕組みにも原因があると考えられます。

本シリーズでご紹介している方法は、 管理画面を使用しないため、このリスクはありません。

記事は Git レポジトリで管理し、継続的デプロイメントにより公開されます。 ウェブサーバーもサーバーレスのため、乗っ取られる可能性もありません。 (AWS が乗っ取られるリスクは非常に低いでしょう)

s3への直接アクセスをほぼ禁止

対応してないこと

問い合わせフォーム

問い合わせフォームは現状対応していません。
近いうちに対応したいと考えています。

ユーザーログイン

ウェブサイトとしては必要がないため対応していません。 サービス構築では対応したいと考えています。

英語

Samurai Apps is a group of two PhDs in information science, born and raised in small companies, who are dedicated to bringing the power of information processing technology (IT) to small and medium-sized businesses.

After obtaining their respective PhDs, both have experience in research and development of new services using natural language processing AI technology, cloud infrastructure technology, and other technologies within companies. However, they felt frustrated and impatient because their goals for research and development as a corporate activity were too high and time-consuming.

As we gained experience and years, we began to think that we wanted to bring the power of information processing technology more quickly to small and medium-sized enterprises, which is also where we were born and raised.

Therefore, we have formed a group called Samurai Apps and would like to think and act together with small and medium enterprises to bring the power of IT to them through technical services, web apps, DX consulting, and other services.

Contemporary, but with a touch of Japanese style (Japanese modern). Simple, but abstract to the extent that the meaning can be understood.

Keywords: Samurai, Bushido

References: https://www.homify.jp/photo/125156/house-in-nishimikuni https://kokoronotanken.jp/samuraino-ikikata-bushidouno-7tsuno-oshie/


Tags

#agency#business#technology
Previous Article
5 Easy Ways to Boost Your Team Performance Immediately
munpei

munpei

サーバーレス サムライ

Table Of Contents

1
Primo in altis pelle alumnae
2
シリーズ概要
3
本格的である理由
4
対応してないこと

Related Posts

【何奴?】サムライアプスは中小企業のIT化を支援します
November 07, 2022
1 min

コンテンツ

イノベーションサーバーレスデジタル化

Social Media