タグ

ブックマーク / dev.classmethod.jp (53)

  • Railsの設計に迷ったのでGitLabの設計ドキュメントを読んでみた | DevelopersIO

    Railsプロジェクトがそこそこ大きくなり、ServiceやSerializerなどのカスタムレイヤーを追加してコードを細分化しているものの、レイヤーの役割やインターフェイスのルールが明確に決まっておらずふわふわとしていることを課題と感じていました。課題を解決するヒントを探すため、Railsの超巨大OSSプロジェクトであるGitLabの設計ドキュメントを読んでみました。 ガイドラインの必要性 まず初めにガイドラインの必要性が語られています。レイヤーの抽象化ができたとしても、それを正しく使えないと、あっという間にメンテナンスしにくいコードができてしまうということが説明されています。 例として、あるFinder(Finderはデータベースからデータを検索する抽象)の中で別のFinderを呼び出してはいけないということが挙げられています。もしそうしたなら、Finderにどんどんオプションが追加

    Railsの設計に迷ったのでGitLabの設計ドキュメントを読んでみた | DevelopersIO
  • 【衝撃】AWSのRDSがデータを失わないBlue/Greenデプロイに対応しました #reinvent | DevelopersIO

    「最近は、データベースもB/Gデプロイできるらしいよ?」 「そりゃそうやろ。B/Gデプロイなんて、最近当たり前……… へ?DBが?無理でしょ?ほぇ?どういうこと?」 最初アップデートのタイトルを見たときの、ハマコーの率直な感想です。 Blue/Greenデプロイは、現行バージョンのトラフィックを活かしたまま新バージョンを動作確認し、問題なければ新バージョンをリリースするという、最近の安全なデプロイの概念において無くてはならないものです。 同時に新旧バージョンを稼働させるため、基的にはステートレスなアプリケーション・サーバーにおいて利用するものという固定概念があったのですが、それをデータベースに対して既存のAWS技術を組み合わせつつAWSらしいマネージドな仕組みで解決しようという、意欲的なリリースです。制約事項もそれなりにあるので、皆さんの運用ワークロードに当てはまるかは、事前の検証が必

    【衝撃】AWSのRDSがデータを失わないBlue/Greenデプロイに対応しました #reinvent | DevelopersIO
  • WindowsマシンでDocker Desktopを使用せずにDocker CLI実行環境を整備する方法 | DevelopersIO

    こんちには。 データアナリティクス事業機械学習チームの中村です。 今回は、ローカルのWindowsマシンでDocker DesktopなしにDocker CLI実行環境を整備する方法をご紹介します。 はじめに 前提として記事の内容を実施すると、以下のようになりますのでその点にご注意ください。 Windowsから直接dockerコマンドは実行できなくなり、WSL内からdockerコマンドを実行する必要がある。 dockerコマンド実行時に頭にsudoを付けないといけなくなる可能性がある。 記事では発生しなかったため未検証ですが、sudo usermod -aG docker {ユーザ名}で対処可能なようです。 対処方法が記載されていた記事を、補足1に記述しています。 PC再起動時は、sudo service docker startを起動する必要がある。 ※こちらも対処方法が記載さ

    WindowsマシンでDocker Desktopを使用せずにDocker CLI実行環境を整備する方法 | DevelopersIO
  • EC の在庫はどのように管理しているのか? | DevelopersIO

    事業開発部で prismatix というサービスの導入支援を行っている大矢と申します。 みなさんが普段利用している EC サイトでは、商品の在庫数をどのように管理しているのでしょうか? 今回は、洋服屋さんが T シャツを売る話を例に、考えてみましょう。 EC サイトを始めた洋服屋さん 今回登場する洋服屋さんは、店舗で洋服を売っています。 洋服の在庫は倉庫で保管しています。 洋服は工場で製造し、倉庫を経由して店舗に配送します。 この洋服屋さんが、EC サイトを始めました。 在庫数の登録 倉庫には T シャツが 30 枚あります。 このうち 20 枚は店舗で売るつもりです。残り 10 枚を ECサイト で売ります。倉庫では、店舗用の在庫とEC用の在庫を分けて管理します。 EC サイトに、ECサイト用の在庫数として、「 T シャツ: 10 」と登録します。 *1 倉庫 EC サイトの在庫数 引当

    EC の在庫はどのように管理しているのか? | DevelopersIO
  • AWS Simple Monthly Calculator がついに勇退するようです! | DevelopersIO

    2020/05/26 時点で、サポート終了日に関して変更がありましたので、更新いたします。 とはいえ 2020/6/30 以降の明確な日程は記載されていないため、引き続き AWS Pricing Calculator への移行を進めることをお薦めします。 園部です。 出オチ・タイトルオチ 失礼します! AWS Simple Monthly Calculator(SMC) は、AWS をご利用の皆さんであれば、一度は利用または見たことがあるのではないでしょうか? そんな SMC ですが AWS Pricing Calculator が登場したことで、いつの日か訪れるであろうと思われていた引退の日が、ついにやってくるようです。。今までありがとう!! 現在 SMC にアクセスする以下のメッセージが表示されます。そのまま利用する場合は 簡易見積もりツールを続行 を選択することで利用可能です。 (2

    AWS Simple Monthly Calculator がついに勇退するようです! | DevelopersIO
  • 実践超入門・自炊 〜在宅勤務の食事を楽にカイゼンする手羽野菜スープの設計と実装〜 | DevelopersIO

    事業開発部の塩谷 (@kwappa) です。 新型コロナウイルスの感染は引き続き拡大傾向で、クラスメソッドでも基的に全社員が在宅勤務を継続しています。 在宅勤務が長くなると聞こえてくるのが、コミュニケーションの問題、運動不足の問題、さらには公立小中高の休校に伴う育児の問題などです。もちろんこれらも解決すべき課題なのですが、「事の問題」についてもよく聞くようになってきました。 クラスメソッドのSlackでも、 #misc-lunch というチャンネルが作られて毎日のお昼ご飯写真を投稿したり、家庭料理について話す #misc-home-cookingが盛り上がったりしています(ちなみに社内ルールで雑談チャンネルには misc のプレフィクスをつけるようになっています)。 「事の問題」といってもメニューから手間からいろいろありますが、今回は自炊の経験がない、もしくはあまり積極的にやらない人

    実践超入門・自炊 〜在宅勤務の食事を楽にカイゼンする手羽野菜スープの設計と実装〜 | DevelopersIO
  • [激アツアップデート]ALBだけでカナリアリリース(重み付け)ができるようになりました! | DevelopersIO

    AWSエンジニアは朝5時に起きるらしいと聞いていましたが、まさか自分がそっち側に回るとは思ってもいなかったもこ@札幌オフィスです。 とうとうきてしまいました! とうとう、ALB一つだけでターゲットグループの重み付けが出来るようになってしまいました!!!! Application Load Balancer simplifies deployments with support for weighted target groups New – Application Load Balancer Simplifies Deployment with Weighted Target Groups 従来までのBlue/Green(カナリアリリース) デプロイ方法 重み付けをしてトラフィックの数パーセントを新しい環境に流すような場合は、複数のロードバランサーを用意した環境で、Route53にて重み付

    [激アツアップデート]ALBだけでカナリアリリース(重み付け)ができるようになりました! | DevelopersIO
  • EC2やFargateが最大72%割引となる新しい料金モデル「Savings Plans」がリリースされました | DevelopersIO

    AWSチームのすずきです。 2019年11月7日、AWSのEC2やFargateのオンデマンド料金が 最大72%割引で利用できる新しい料金モデル 「Savings Plans」 がリリースされました。 その概要と、従来のリザーブドインスタンス(RI)との比較について紹介させていただきます。 New – Savings Plans for AWS Compute Services 概要 1年、または3年間の期間で、1時間あたりの利用費をコミットする事により、 コミット分を割引価格で利用する事が可能になりました。 AWSコンソール EC2ダッシュボードに、「Savings Plans」のメニューが追加されています。 コミットメント 1時間あたりの利用費を登録します。 購入コミットメントの最小単位は「$0.001」。 最小コミットのSavings Plans を「期間3年」「全額前払い」で購入し

    EC2やFargateが最大72%割引となる新しい料金モデル「Savings Plans」がリリースされました | DevelopersIO
  • ElastiCacheはMemcachedとRedisのどっちを選ぶ? | DevelopersIO

    こんにちは(U・ω・U) AWS事業部の深澤です。 AWSにはElastiCacheと呼ばれるマネージド型のキャッシュストアサービスがあります。利用を始めようと色々調査すると「RedisとMemcached、どっち使ったらいいの?」というのは結構悩みがちなポイントかと思います。今回は2つの特徴を比べてみて、どちらのサービスを使うか一緒に考えてみましょう! 可用性 ElastiCacheでは最小の構成単位を「ノード」と呼びます。EC2で言うところのインスタンスに相当するものです。このノードを組み合わせた集合体をクラスターと呼びます。ノードに直接接続してしまうと、もしそのノードに問題が発生した場合には新しいノードのアドレス(エンドポイント)をアプリケーション側で書き換えなくてはなりませんし、サービスの成長と共に負荷が上がってくるとノードの台数を増やして負荷やメモリ(キャッシュ)を分散したりとい

    ElastiCacheはMemcachedとRedisのどっちを選ぶ? | DevelopersIO
  • Global Accelerator を利用してBlue/GreenなELB交換を実施してみた | DevelopersIO

    AWSチームのすずきです。 2台のELB(ALB)を利用して Blue / Green 方式のデプロイを実施している環境で、 AWS Global Accelerator によるELB交換を行う機会がありましたので、紹介させていただきます。 構成図 準備 Global Accelerator の エンドポイント として、新しい環境(Green)用のELBを追加しました。 重み付け(Weight)指定、新しい環境(Green)は「0」とする事でスタンバイ相当。従来環境(Blue)のエンドポイントが異常時のみ利用される設定としています。 切替 エンドポイントの重み付け(Weight)を変更し、ELBの交換を実施しました。 新しい環境(Green) : 0 → 255 従来環境(Blue): 255 → 0 確認 ELBのCloudWatchメトリックで、切替が確認できました。 まとめ ELBを

    Global Accelerator を利用してBlue/GreenなELB交換を実施してみた | DevelopersIO
  • ロックインとはなにか?すべてが悪いのか?「開発におけるロックインのリスク評価と考え方」 #AWSDevDay | DevelopersIO

    「いや、そこまでAWSどっぷり使ってもうたら、他に移行するの大変やん?」 あなたがユーザー側クラウド導入推進担当として、あるいはクラウドベンダーの担当として上司やお客様から冒頭の質問を投げかけられた時、どのように答えますか? 自分もクラウドベンダーの一員としてお客様と対峙する時、基的には「AWSにあるものは基的に全て使いましょう。それが結局は一番オトクです」と答えているんですが、それがすべて当なのか?AWSのなかでもマネージドサービス複数あるけど、使えば使うほどええってわけでもないのでは?と不安になり、このセッション聴講してみました。 結果、ロックインという概念の明確化とそれを議論するときの手法が非常に明確に解説されたセッションだったため、非常に学びが多かったです。是非、これは皆さんにも味わっていただきたいと思います。 (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉    

    ロックインとはなにか?すべてが悪いのか?「開発におけるロックインのリスク評価と考え方」 #AWSDevDay | DevelopersIO
  • IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO

    さて、皆様はIAMにどのようなイメージをお持ちでしょうか。プロジェクトに関わる複数人で1つのAWSアカウントを扱う時、各メンバーに配布するアカウントを作れる機能。そして、その気になればアカウントをグループ分けし、権限を厳密に管理できる機能。といったところかと思います。 上記のユースケースで出てきた主なエンティティ(要素)はUserとGroupですね。IAMのManagement Consoleで見てみると、IAMはこれらの他にRoleやIdentity Providerというエンティティによって構成されているようだ、ということがわかります。今日はRoleにフォーカスを当てて、その実態を詳しく理解します。 IAM Role IAM Roleを使うと、先に挙げたIAMのユースケースの他に、下記のようなことが出来るようになります。 IAM roles for EC2 instancesを使ってみ

    IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO
  • 【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS、機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! | DevelopersIO

    全60セッション以上!クラスメソッドの技術、すべて見せます。 クラスメソッドのトップエンジニア総出演 今年で5回目の開催を迎えるクラスメソッド主催のカンファレンスイベント Developers.IO 2019。今回ご用意したセッションの数は60以上。AWSはもちろん、SaaS、AI、DevOps、機械学習、認証、セキュリティLINEデータ分析、DeepRacerなどなど、最新のユーザー体験をもたらすテクノロジーからそれをささえる土台まで、ブログのDevelopers.IOにさらに盛ってお送りいたします。 さらに、レジレス技術やウォークスルー決済などで、Developers.IO CAFE技術セッションでは、クラスメソッド代表の横田聡らが登壇します。 豪華ゲストスピーカーも登場 今年のDevelopers.IOはゲストも多数登場!パラレルマーケターとして多岐にわたる活動を行っている小島英

    【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS、機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! | DevelopersIO
  • AWSが定義する信頼性とは?Well-Architected Frameworkの『Reliability』ペーパーが群を抜いて面白い件(日本語ガイド) | DevelopersIO

    こんにちは。DA事業部の春田です。 AWSには様々な種類のホワイトペーパーが提供されていますが、『Reliability(信頼性)』のホワイトペーパーを読んだことはありますか?Well-Architectedフレームワーク五柱のうちの一つです。ソリューション・アーキテクトを目指す方にとってはお馴染みでしょう。 このペーパー、めちゃめちゃ丁寧かつ面白いんですよ。読んだことがある人にはわかると思うのですが、5つのWell-Architectedフレームワークのホワイトペーパーのうち、『Reliability』だけ気合の入れ方が違っていて、他のペーパーよりも用語の定義や具体例が豊富なため、アーキテクトの経験がなくてもイメージがしやすいものになっています。また、各観点を表にまとめてくれているので、困ったときにパッと見れるTips集的にも使えます。AWSのサービスに絡めた説明が多いですが、システ

    AWSが定義する信頼性とは?Well-Architected Frameworkの『Reliability』ペーパーが群を抜いて面白い件(日本語ガイド) | DevelopersIO
  • Amazon VPC設計時に気をつけたい基本の5のこと | DevelopersIO

    EC2やECS、RDSなどといったサービス利用時にAmazon VPC(以下よりVPC)が合わせて必要になります。 VPCの設計はCIDRとテナンシーの選択のみとシンプルですが、案外迷ってしまいます。 私が設計時に気をつけている5点をまとめてみました。 RFC1918準拠のIPアドレス範囲から指定する IPアドレスの範囲はrfc1918に準拠した範囲を指定することを推奨します。 少し難しく聞こえますが、下記のIPアドレス範囲から指定するということです。 10.0.0.0 - 10.255.255.255 (10/8 プレフィックス) 172.16.0.0 - 172.31.255.255 (172.16/12 プレフィックス) 192.168.0.0 - 192.168.255.255 (192.168/16 プレフィックス) よく見るプライベートIPアドレス範囲ですね。 16ビット以上で

    Amazon VPC設計時に気をつけたい基本の5のこと | DevelopersIO
  • 知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO

    仕事ではよくPythonを書いています。 よく使うのでそれなりに知っている気になっていたのですが、 コードをレビューしてもらったりを読んだりしているうちに”もっと早く知っておきたかった・・・”というネタが溜まってきたので、その中から厳選した5つの小ネタをまとめてみました。 *この記事で使用しているPythonのバージョンはPython 3.7.3です。 この変数、一体何桁? 例えばこんな変数があったとします。 num1 = 100000000 num2 = 10000 num3 = 3023204903 こんな変数がたくさんあったらどうしましょう。 桁を数えるだけで目が疲れそうです。 ぱっと見でだいたい何桁あるかわかるといいですよね。 Pythonでは数値型に_を挟んでも、そのまま数値として計算することができます。 >>> num1 = 100_000_000 >>> num2 = 10

    知っているようで意外と知らなかったPython小ネタ集 | DevelopersIO
  • Blue-Green Deploymentにおける注意点 | DevelopersIO

    こんにちは。こむろです。 今年の札幌の夏はハードモードだ(湿気と暑さ) この先生きのこるためにエアコンが投入されました。 はじめに クラウドネイティブなアプリケーションを設計・構築・運用している皆さんは、普段どのようにアプリケーションやインフラの更新作業を行っているでしょうか。 順次インスタンスやコンテナを切り替えていくRolling Update?それとも環境を複製してDNS Routingの切り替えによるBlue-Green Deploymentでしょうか。他にも様々な方法があるかと思いますが、今回もまたBlue-Green Deploymentにおける実際の現場で発生した事象について報告したいと思います。 あまりネット上にもこういった情報が出てこないようなのですが、皆さんこういった問題は軽々とクリアされているのでしょうか。自分がポンコツなだけなのかととても不安にかられるばかりです。

    Blue-Green Deploymentにおける注意点 | DevelopersIO
  • 大人数でプログラミングする時に気をつけていること(Java) | DevelopersIO

    1人もしくは(すごく能力の高い人だけの)少人数での開発と、大人数での開発ではプログラミングに対して気にするべきポイントに差があるような気がしています。 ここでいう大人数の開発とは、「プログラミングがどれくらいできるのか、自分が把握していない人がコードを書く可能性がある環境」を想定しています。 ここに挙げているポイントは「規模感に関わらず常に気にすべきこと」も含まれていますが、大人数になると特に問題が大きくなりそうなものをピックアップしてみました。 また、レビューに対する工数をすごくたくさんかけられる環境など、開発現場によっては当てはまらないものもいくつか含まれていますが、記事ではあまり気にせず思いついたものを羅列しています。 記事では基的に「レビューでつぶす」という解決方法はあまり考慮していません。粒度によりますが、当に厳密なレビューフローがないと、どこかのタイミングで読みづらいコ

    大人数でプログラミングする時に気をつけていること(Java) | DevelopersIO
  • AWS Systems Manager セッションマネージャーでSSH・SCPできるようになりました | DevelopersIO

    AWS Systems Manager セッションマネージャーに待望の機能(のひとつ)がやってきました! Session Manager launches tunneling support for SSH and SCP サーバーにSSHしたり、ローカル・リモート間での SCP 越しのファイルの送受信も可能になりました。 更には SSH セッション越しにポート転送もできます。 ということで、さっそく試してみましょう! リモートの準備 SSM エージェントをインストール SSH先サーバーに 2.3.672.0 以上の SSM エージェントがインストールされている必要があります。 古いエージェントがインストールされている場合、アップデートしてください。 Manually Install SSM Agent on Amazon EC2 Linux Instances - AWS Systems

    AWS Systems Manager セッションマネージャーでSSH・SCPできるようになりました | DevelopersIO
  • クラスメソッドに10年勤務してるワイが、社長のTweetを見ながら色々と振り返ってみる | DevelopersIO

    はじめに こんにちは!おおはしりきたけです。7月7日は、クラスメソッドの創立記念日でした。2009年1月からお世話になっているクラスメソッドですが、10年経過したので、先日の横田のツイートを見て当時の事を社員として振り返って見ようと思います。 先日の横田のツイートは、以下にまとまっています。こちらをベースに色々と振り返ってみたいと思います。 クラスメソッドの創立記念に、ワイが10年シリーズを書くのを、楽しみにしており、ついにブログを書ける10年間もいたかと感慨深くもあります。 ワイが10年シリーズ クラスメソッドに10年勤務してるワイが魅力と思い出を語ってく【採用/求人】 クラスメソッドの創業期からいるワイがその13年間の軌跡を赤裸々に語っていく【採用/求人】 私の紹介 簡単に、どんな経緯でクラスメソッドに入ったのかを説明させていただきます。2009年頃、当時30歳の私は、フリーランスとし

    クラスメソッドに10年勤務してるワイが、社長のTweetを見ながら色々と振り返ってみる | DevelopersIO