nigoblogスマートフォン用の表示で見るnigoblog技術系会社のCEOブログ~私的編~この広告は、90日以上更新していないブログに表示しています。webサービスWeb系に限らずですがとにかくいろんなことを考えなければいけません。業界で3年以上やっていたエンジニアならいざしれず、非エンジニアやフロントエンドしか触ったことのないエンジニア。学生等々、Web系ベンチャーをやるには案外考えることが多いんだぜってことを伝えたいと思います。運用編まとめという流れで説明します。サービスローンチまでのプロセス。Product)だったりアジャイルだったりが流行っていますが、とりあえずMVPを構築するまでに考えなければいけないことをリストを書いていきます。言語は何を使うか一番ベーシックな概念にして、一番重要かもしれません。フロントエンドはさておき、バックエンドをどうするか。ここで選択肢を上げておきます。PHPPerlRubyPythonScala順番に悪意はありませんが、PHPの場合はすぐに始められドキュメントやライブラリも豊富。世間ではぺちぱーなどと言われディスられがちだが、以前ユーザー数の衰えは感じられず。学習コストが低いのでこの記事のターゲットなら最有力候補。今回はRubyを押します。段違いのスピードでMVPを作れます。RubyもPHPに負けず劣らず学習コストが低いのでそこも楽。データベースは何を使うかこれはMySQLがいいですね。ドキュメントが多い!他にもmongoDBとかもありますが、メインで使うならやっぱりRDBMSがいいでしょう。サーバーをどう用意するかはっきりいうとレンタルサーバーはありえない。あれは個人でブログとかやるのに利用する程度。ビジネス用にはつかえないですね。あと自社サーバー、ラックを立ててやるタイプの。クーラー)もかかるしスケールしにくいし、スタートアップには全く向いていない。いうわけでVPSかクラウドの2択。ここで推したいのはクラウド、さらにAWSを推します。簡単、すぐにサーバーをたてられ、周辺のサーバー系サービスもフルで揃っている。先人たちが残したデザインパターンに沿っていけばだれでも簡単に冗長化ができます。問題はコスト計算がやっかいなところ。あらゆるサービスがあるのですべてを考慮するのは大変。それ以上に便利なのがAWS。バージョン管理をどうするかバージョン管理は要するにソースコードをどう管理していくか。Subversionは正直古い(最近のベンチャーで使ってる話を聞いたことない)。Githubを利用すればGit用にサーバーを建てる必要もない。デプロイをどうするかRailsを使うのであればCapistrano一択。今どきFTPでアップする人はいるのかな?デプロイ前にさらにJenkins等CIツールを利用できれば最高。CIというものがあるみたいですが。このへんはあまり詳しくないのでおすすめがあれば。ドメインとSSL証明書はどうするかドメインはできればサービス名で、サービス名を決める際に予め利用できるかどうかはチェケラーしとく必要あり。ドメインやSSL証明書は特にこだわりがなければ一番安いところで。サービス名となるべく一致したドメインを取得すること!ドメインの有無を考えてサービス名を考える必要あり。セキュリティはどうするかCSRFやSQLインジェクション、XSSはRailsがすべて解決してくれる。それらがどのような攻撃方法かを知っておく必要はあり。メール配信はどうするかwebサービスには欠かせないメール配信機能。パスワード忘れ時のメール経由での変更通知。ユーザーへのプッシュ!これらはWebサービスには必須機能。メール配信は設定がかなり楽なSESをおすすめします。AWSの機能の一つです。実際にローンチ・リリースした後の話。ユーザーが入ってきてサービスが周り、収益が上がる段階。監視をどうするかサービスにはどれだけ落ちている時間を減らせるかという事情があります。パフォーマンス監視があります。外部監視はつながるかどうか内部監視はCPUやメモリなどの使用状況はどうかパフォーマンス監視はスロークエリなどがないかなどいろいろありますが、上記の役目を果たします。外部監視にはNagios内部監視にはGangliaパフォーマンス監視にはNewRelicといったところでしょうか。他に良いのがあればよろしくお願いします。ディスク容量をどうするか基本的にwebサービスはサーバー上に置かれます。サーバーのディスクを利用します。Webアプリケーションで使用されます。運用時にはLogがどんどんたまっていきます。ApacheやNginxなどのアクセスログやエラーログ、アプリケーションのエラーログcronの実行ログその他ミドルウェアのシステムログ等々これらによりディスクの容量はどんどん圧迫されていきます。これを考慮してディスクを増やしていきます。ServiceではEBSというのを増やしていけば、枯渇した都度、ディスクを増やすことができます。単純にディスクを増やすのではなく、ログファイルを別サーバーに逃がすという手法もあります。これはfluentdを利用します。決済システムをどうするか例えば課金処理やプレミアムユーザー等、ユーザーに決済をさせる仕組み。様々な企業がありますが、簡単にできるものとしてpaypalwebpay等があります。これらはSDKも公開されており、web上に資料があるため、簡単に導入できます。KPI管理をどうするか当然、サービスを運用するからには大きくしていきたいですよね。その際、しっかり数値を取り、分析して改善することが重要です。その数値の取り方や分析についてです。analyticsが無料で使えて良いでしょう。他にも直接DBを叩かなければいけないKPIもあります。docsのスプレットシートに出力するやり方が出来ます。これによってSQLがわからない非エンジニアでも確認ができます。管理画面を作る時間がない場合そのような方法を取りましょう。Driveを利用したKPI管理!まとめとりあえず最初はこんな感じでしょうか。あると思うので徐々に加筆はしていきますが、とにかくこれだけ考慮しなければいけないということを非エンジニアの方に伝わると良いかと思います。S3を利用したログ収集について書きました。※今回の記事は一部(かなり)ネタが混じっているので真剣に捉え過...2013-03-26簡単にネットショップが作れるBASEで簡単にネットショップを作ってみたというわけでタイトル通りネットショップを作ってみました。山南敬介にみる”組織力”について~歴史から学ぶシリーズ~2017年は「WEBブランディング広告」元年になる。plusGoogleはてなブログをはじめよう!nigohirokiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。