サーバサイド

【入門】circleci/go-ecs-ecrを使って、CircleCI からAWS ECS にデプロイしてみる

こんにちは、SREチーム、エンジニアの西脇(@yasuhiro1711)です。今日は、circleci/go-ecs-ecrを使って、CircleCI からECS にデプロイをしてみたいと思います。(参考リンクには非常にお世話になりました。ありがとうございます。)

今回は題材にちょうど合う、CircleCIを通じて、AWS ECS/ECR にデプロイするGoアプリケーションがあったのでこれを利用していきます。勉強の題材にとてもよかったです。(しかし注意として、今回利用の「circleci/go-ecs-ecr」は、2018年6月現在、すでに更新されていないため、現在のCircleCIとAWS環境に自分で合わせないと動作できない可能性もあります。ご注意ください。)

最終的に目指すのはこのような設計です。(ECSクラスタ部分は図としては詳細には書いておりません。)

設計

今回の構成では、GitHubにユーザからpushがされると、CircleCIがそれを自動検知し、build実行を始めます。すると最新のソースがECRのレジストリに登録されて、ECSにて定義更新等が走り、EC2内のDockerコンテナにデプロイされる仕組みです。

続きを読む

Ansible で Node.js を 10系 にアップデートするよ

こんにちは。SREチーム インフラエンジニアの綿引です。

2018/4/24 に Node.js 10系がリリースされましたね。
(私の誕生日です。)

そこで今回は Node.js のアップデートを Ansible を用いて実施する
という記事を書きたいと思います。

Node.js のアップデート方法に関しては、
1. 既存の Node.js(過去に yum でインストール)をアンインストール後、
2. Ansible の shell モジュール を用い Node.js を rpm でインストールする
という形にしました。

10 系を使うものの Node.js に関しての性能や新機能などの検証は行わないので
ご容赦のほどをお願い致します。

続きを読む

Redash と Superset を比較検証してみた

こんにちは。SREチーム エンジニアの阿久津です。
今回は Redash と Superset という2つのツールを比較検証してみましたので
それについて記事にしたいと思います。

ツールについて

両者はオープンソースのダッシュボードツールです。
簡単に言うと、DB等のデータを可視化(表やグラフ)してくれるツールになります。

■Redash

公式サイト : https://redash.io/

■Superset

公式サイト : https://superset.incubator.apache.org/index.html

比較したこと

  1. データソース連携
  2. データ操作
  3. グラフ
  4. ダッシュボード
  5. 比較まとめ

続きを読む

やってみよう!AWSでWEBサーバー環境構築(Lambda|API Gateway|シリーズ第4回)

こんにちは、岩橋です。

やってみよう!AWSでWEBサーバー環境構築、久しぶりの続編です。
第4回は「AWS Lambda」「Amazon API Gateway」を使ったサーバーレスな画像リサイズAPIをクラウド上に構築して見たいと思います。

アーキテクチャ・設計概要

今回は以下のようなアーキテクチャで、Clientが指定した任意のサイズの画像を返却するAPIを構築していきます。
スクリーンショット 2018-03-23 14.53.29
続きを読む

新卒2年目になるわたしがコードレビューで指摘された3つのこと

こんにちは、もうすぐ新卒入社して2年目になる高嶋(@__1016t)です。
わたしはコードレビューで、基本的なコードの書き方やPHPでつかえる便利機能など、たくさん勉強してきました。
今回はその一部をまとめてみました。

1. インデントをそろえる

インデントとは?

ソースコードの見た目を整えてくれるもので、
ifやforなど波カッコ{}で囲まれるブロック内の各行をtabキーやスペースで字下げすることをいいます。

続きを読む

PHP_CodeSniffer+GitHub+CircleCIでコードレビューの自動化

こんにちは。サーバーサイドエンジニアの@akane_256です。

今日は、PHP_CodeSniffer+GitHub+CircleCIを使って、PHPのコードレビュー(コーディングルールの徹底)を一部自動化したことについて書きたいと思います。

目次

  • 興味を持った背景
  • 今回やったこと
  • 利用ツールについて
  • 実装の流れ
  • ハマったところ
  • まとめ

興味を持った背景

開発が進むにつれて、他の人が書いたコードと自分が書いたコードで、統一感を保つのが難しくなってきたな、という実感があったのとコーディングルールにあっていないコードを自動で見つけられたら便利だよね、と同僚と話す機会があったので試してみました。その他にも、下記のようなメリットがあるのではないかと考えました。

続きを読む

Headless Chrome でブラウザテスト自動化入門

こんにちは。サーバーサイドエンジニアの@akane_256です。

今日は、Headless Chromeを使ったブラウザテストの自動化(入門)について書きたいと思います。

目次

  • Headless Chromeとは?
  • 興味を持った背景
  • 今回やったこと
  • 実際のソースコード
  • まとめ

Headless Chromeとは?

  • Chrome59(2017/6月頃)から搭載された機能
  • ChromeをGUIなしでコマンドラインから実行できる
  • DOMのノードを取得したり、画面キャプチャを撮ったりできる
  • ツールと組み合わせて自動テストに使ったりする

ブラウザを開いて、特定のページを開き、自分で目視確認しなくても、
あらかじめ作ったプログラムをコマンドから実行をすれば
自動でキャプチャをとったり指定の要素を取得したりすることができます。

続きを読む

ウエディングパーク完全HTTPSプロジェクトを通じた、完全HTTPS化(常時SSL/TLS化)のススメ

こんにちは。SREチーム エンジニアの西脇(@yasuhiro1711)です。今年4月ウエディングパークはサイトを一部HTTPSから完全HTTPSに移行致しました。移行したことによって、より安心してユーザにもサイトをご利用頂けるようになっております。

完全HTTPS化(常時SSL/TLS化)プロジェクトを実施した4月よりもますます常時SSL化はwebサービスには必須になってきておりますゆえ、その必要性と必要作業について書きたいと思います。

完全HTTPS化(常時SSL/TLS化)が必要な理由

完全HTTPS化(常時SSL/TLS化)はなぜ必要なのでしょうか、弊社では主に以下のように考えました。

続きを読む

PHPerが学ぶgo tour #2 ~制御構文~

こんにちは、エンジニアの東です。

PHPerが学ぶgo tour #1 ~基本~に引き続き、

PHPerがTour of Goで学んでいくときのためにPHPとGoでの書き方の比較をしていきたいと思います。

制御構文

今回はTour of Goの制御構文から(https://go-tour-jp.appspot.com/flowcontrol/1)紹介していきます。

制御構文は制御文に括弧がいらなくて戸惑うかと思いいますが、それくらいであとは基本的にシンプルです。

続きを読む

Goのフレームワーク”Revel”を触ってみた

はじめまして、システムエンジニア新卒1年目の若宮です。

今回はGoのフレームワークであるRevelを触ってみたので紹介します。

Revelとは

revel

Revelは機能が豊富なフルスタックフレームワークです。
フルスタックなのでgoの基本的な部分を学ぶのにとても役に立ちます。
webアプリケーションに必要な機能が揃っていてコードを編集すると
自動的にコンパイルを実行できたり、devモードの実行で簡単にデバックができます。
そしてハイパフォーマンスな言語です。

ちなみにGoのフレームワークにはGinやMartiniなどお酒の名前が多いことで有名ですが
Revelは酒盛りという意味があるそうです。酔いしれる。

引用元:https://revel.github.io/

続きを読む