並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 815件

新着順 人気順

分散システムの検索結果441 - 480 件 / 815件

  • 次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering

    ※こちらは先日実施された DeNA インフラエンジニア / SRE MEETUP で話した内容を Blog 記事化したものです! こんにちは!IT基盤部の熊谷です。IT基盤部にて大規模ゲームのインフラを見ている 新卒2年目のインフラエンジニアです。この記事では “DeNA でのデータベース運用とそのツラミ” と、“TiDB導入への検証・検討” をご紹介させていただきます。 データベースの最適解 DeNA のデータベース構成は最適解を求めて改良を積み重ねてきました。最初期の構成、(便宜上、第1世代と呼びます) では VM Instance 上に MySQL を構築し管理する MySQL on EC2 構成。続く第2世代では、マネージドサービスを駆使した Aurora MySQL 構成。この2世代の中で生じた “ツラミ” を解消する次の世代、言わば 第3世代に該当する新しいデータベース構成を現

      次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering
    • Cloud Spanner Unofficial Hacks

      Cloud Spanner は分散システムであり、SQL クエリの実行は場合によっては複雑な分散ストリーム処理となりうる。 よって、パフォーマンス劣化を起こさないように SQL の表現力による利益を得るには Cloud Spanner の低レベルアーキテクチャと高レベルのクエリ実行について両方理解する必要がある。 しかし、実行計画の活用やクエリチューニングについてはまだ公式にもコミュニティでも十分語られているとは言えない。 ここでは Cloud Spanner のクエリパフォーマンスに関係するドキュメントや API のレスポンスに含まれる実行計画の内容について、 公式には説明されていないことも含めた理解とその活用方法を解説する。 主にどのような特性を持つかについて説明しており、ベンチマークを行うのであれば実際のデータやワークロードの傾向について知っている立場で行うことを推奨する。 Use

      • ドメインイベントを伝達するためのモデリング技法 - KAKEHASHI Tech Blog

        前回は、アーキテクチャの進化はドメインイベントが起点になるという記事内で、ドメインイベントの重要性を語りました。本稿では、ドメインイベントを伝達する際にシステム要件を満たした上で、どのようにしてデータモデル並びにドメインモデルを象るかを説明します。 なお、ビジネスドメインを深掘りドメインモデルを探索する手法の説明は、世にたくさん解説されているため詳しくはそちらに譲ります。特にAlberto Brandolini氏が提唱するモデリング手法であるEvent Stormingは、ワークショップ形式でドメインイベントを深く理解し、一連の業務プロセスやドメイン領域を探索的に発見することができる手法であり、Event Sourcingを前提とするアーキテクチャと相性がいいので参考にするとよいでしょう。 ドメインイベントのデータモデルの属性 ドメインイベントの記録および伝達に着眼した構成を紹介した前回の

          ドメインイベントを伝達するためのモデリング技法 - KAKEHASHI Tech Blog
        • 初心者向けREST API解説|APIとは何かも理解する - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

          API API プロトコル RESTとは? REST API アドレス可能性(エンドポイント) クライアントとサーバーの分離 統一されたインターフェース ステートレス 接続性 最後に Webアプリ開発において、フロントエンド開発者に必要なスキルは多岐にわたります。 例えば、テスト・デバッグ、バージョン管理、UI・UX、コミュニケーション能力、SEO、クライアントの理解、クロスプラットフォーム、クラウドインフラ、セキュリティ、アジャイル開発手法などが挙げられます。 これらの中でも、REST APIの理解は必須スキルの一つとなっています。 REST APIの学習は、主にバックエンド開発者が行いますが、現代ではフロントエンド開発者もREST APIの基本的な理解が必要となる場合があります。 REST APIは、最も人気のあるAPIの一つであり、初心者にも理解しやすいものです。 REST APIを

            初心者向けREST API解説|APIとは何かも理解する - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
          • Google面接合格への道 - Qiita

            本記事は、元Amazon・現GoogleソフトウェアエンジニアのShantanu Kshire氏による「My Preparation Journey for Google Interviews」(2020年12月24日公開)の和訳を、著者の許可を得て掲載しているものです。 はじめに すべてのソフトウェアエンジニアは、自分の技術力でインパクトを与えたいと願っています。世界的なテクノロジー界の巨人は、何十億人ものユーザーにエクスペリエンスを提供できる、技術者にとって素晴らしい職場です。 Photo by Achintha Maddumabandara on Shutterstock 最近、面接を何度か経験し、GoogleやAmazonからオファーを受けました。ここ数年、面接対策をする上でオンラインコミュニティにとても助けられました。この記事では、私の面接対策をすべて共有し、学んだことを還元した

              Google面接合格への道 - Qiita
            • July Tech Festa 2021 winter で CockroachDB と TLA+ について話してきました - チェシャ猫の消滅定理

              こんにちは、チェシャ猫です。 インフラ技術のカンファレンス July Tech Festa 2021 winter で、形式手法ツール TLA+ が CockroachDB の設計に使用された事例について発表してきました。公募 CFP 枠です。 www.youtube.com 今回の登壇は、昨年の CloudNative Days Tokyo 2020 と同じ題材を扱っています。ただ、前回より持ち時間が長くなった分、前回のスライドで説明不足だった部分を拡充してあります。特に、CockroachDB 以外の TLA+ 採用事例や、分散システムにおける Chaos Engineering の位置付けについて解説を追加しました。 なお、前回の登壇報告は以下の記事をご参照ください。 ccvanishing.hateblo.jp 当日出た質問 実時間を含む性質 今回の時相論理では「いつか成り立つ」と

                July Tech Festa 2021 winter で CockroachDB と TLA+ について話してきました - チェシャ猫の消滅定理
              • プログラミング初心者でもLinuxを無料で学べる入門講座が新登場 - paiza times

                こんにちは。谷口です。 paizaラーニングに新規講座「Linux入門編1: Linuxの基本を理解しよう」が追加されました! 「Linux入門編」では、システム開発に欠かせないLinuxの基本、利用形態やシステム構成を把握するとともに、パッケージングシステムやシェルコマンド、ファイルシステムなどについて学べます。 今回は「Linux入門編1: Linuxの基本を理解しよう」の講座内容をご紹介します。 プログラミングは少しできるようになったけど、Linuxについてはよく知らない 仕事でLinuxを使うことになったけど、実は使ったことがない… といった方におすすめです。 Linux入門編1: Linuxの基本を理解しようの内容紹介 Linuxの特徴 Linuxは、Unix互換のオペレーティングシステムです。オペレーティングシステム(OS)は、WindowsやmacOSと同じように、コンピュー

                  プログラミング初心者でもLinuxを無料で学べる入門講座が新登場 - paiza times
                • 分散システムのパターン

                  原文(投稿日:2019/06/29)へのリンク Mathias Verraes氏が一連のブログ記事を投稿して、自身が仕事で出会った、有用な分散システムのパターンについて説明している。目的は、パターンをその有用なコンテキストとともに識別し、命名し、文書化することだ。その中で氏は、誤った状況で使用することが、パターンをアンチパターンにする場合の多いことを強調している。 DDD Europeの創業者兼コンサルタントであるVerraes氏は、現時点で16のパターンを、デカップリング、汎用メッセージング、イベントソーシングという3分野に定義した上で、各パターンについての問題と解決策を、時には例や実装を含めて説明する。 "Completeness Guarantee"は、プロデューサから送信されるドメインイベントセットの定義を目標とする部分と、プロデューサの状態をコンシューマが再現可能であることを必要

                    分散システムのパターン
                  • CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020

                    CloudNative Days Tokyo 2020 で使用したスライドです。 バグのない分散システムの設計は果たして可能でしょうか? この問いに対する一つの答えとして、CockroachDB では形式手法ツール TLA+ を用いて分散トランザクションの正しさを担保しています。 形式手法はシステムの挙動を数学的に解析する技法で、「ノードが特定のタイミングで故障した場合にのみ発生するバグ」といった再現困難な問題を確実に検出することができます。 本講演では、CockroachDB の事例を通して、形式手法が実世界で活用されている様子をお伝えします。 イベント概要:https://event.cloudnativedays.jp/cndt2020 ブログ記事:https://ccvanishing.hateblo.jp/entry/2020/09/10/044848

                      CockroachDB から覗く形式手法の世界 #CNDT2020 / CloudNative Days Tokyo 2020
                    • リーダーノードを使えばデータの整合性担保は容易になる 分散システムの耐障害性向上におけるAmazonの工夫

                      技術記事『Amazon Builders' Library』にフォーカスを当てた勉強会「AWS Tech talkNight#5 クラウドネイティブ時代のエンジニアが押さえておきたい ソフトウェアの構築・運用で考慮すべき5つのポイント ~AWSプリンシパルエンジニアの技術記事をソリューションアーキテクトが解説~」。ここで、ソリューションアーキテクトの松田氏が登壇。続いて、リーダーノードについて話します。前回はこちらから。 リーダーノードを設ける3つのメリット 松田丈氏:次に、この問題を単純にしてくれるリーダーノードという考え方について説明します。リーダーノードとは何でしょうか。(まず)リーダーノードを設けるメリットについて見ていきます。 1つ目のメリットは、データの整合性担保をリーダーノード内で完結させられることです。例えば競合する書き込みがあった際に、その順序性をリーダーノード内で整理す

                        リーダーノードを使えばデータの整合性担保は容易になる 分散システムの耐障害性向上におけるAmazonの工夫
                      • 【AWS】AWS認定『ソリューションアーキテクト- アソシエイト』(SAA)に未経験から合格した話:学習の流れ - Rのつく財団入り口

                        実際の学習の流れ AWS認定『ソリューションアーキテクト- アソシエイト』(SAA)を攻略したので振り返るエントリの2回目です。1回目のふりかえりのエントリ、思いのほか多くのアクセスを頂きありがとうございました。当ブログのブクマランキングNo.5更新です。 今度は実際の学習に直接関わるところを、流れとして振り返ってみます。 実際の学習の流れ 参考書による学習 公式提供のリソースを参照する AWS Technical Essentials 1 AWS Technical Essentials 2 Developing on AWS 3冊目の本でまとめ学習 ネット上の問題集で学ぶ おまけ:各種数値も集計しておく 公式模試を受ける サンプル問題(見ませんでした) 受験日程を正式に決める Udemyの講座で学ぶ 当日まで無事に過ごす(予定) 試験会場の話 試験当日 試験会場へ テストセンターでの受

                          【AWS】AWS認定『ソリューションアーキテクト- アソシエイト』(SAA)に未経験から合格した話:学習の流れ - Rのつく財団入り口
                        • おすすめ書籍を決める「ITエンジニア本大賞 2022」のベスト10が選出!上位3点はプレゼン大会へ

                          翔泳社が主催する「ITエンジニア本大賞 2022」にて、一般投票の結果、技術書部門とビジネス書部門のベスト10が選出されました。各部門の上位3点は2月17日(木)の「Developers Summit 2022」内で開催するプレゼン大会に臨み、ITエンジニアが最もおすすめしたい書籍を決定します。 ITエンジニア本大賞 2022は、ITエンジニアが1年間で読んだ書籍のうち、最もおすすめしたい書籍を決めるイベントです。 今回、一般投票を終えて技術書部門とビジネス書部門のベスト10が選出。各部門上位3点の書籍が2月17日(木)の「Developers Summit 2022」内で開催するプレゼン大会(オンライン)に進出し、視聴者の皆さんの投票によって大賞を決定します。 プレゼン大会では各書籍の読みどころや著者・編集者の狙いなどが語られますので、ぜひご視聴ください! プレゼン大会の詳細・視聴応募は

                            おすすめ書籍を決める「ITエンジニア本大賞 2022」のベスト10が選出!上位3点はプレゼン大会へ
                          • データ指向アプリケーションデザイン - たけぞう瀕死ブログ

                            監訳者の@taroleoさん経由で発売前に頂いたのですが、分量が多く(約600ページ)内容もぎっしりで読むのに時間がかかってしまいました。紙媒体のものを希望してお送り頂いたのですが、あまりの厚さに持ち運びが困難なので電子版にすればよかったと若干後悔しました…。 データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理 作者: Martin Kleppmann,斉藤太郎,玉川竜司出版社/メーカー: オライリージャパン発売日: 2019/07/18メディア: 単行本(ソフトカバー)この商品を含むブログを見る 近年クラウドの発展に伴い、小規模なアプリケーションといえども分散データシステムに関する知識が不可欠になってきました。AWSなどのクラウドプラットフォームでは手軽に分散ストレージや分散データベースを利用することができますし、WebアプリケーションとRDBを使う

                              データ指向アプリケーションデザイン - たけぞう瀕死ブログ
                            • 7年の読書 - 運河

                              ある年から年末にその年に読んだ本のベストを記録している。SNSでシェアすることもある。去年までで7年分になった。 1年全体で読んでいるのは大体年間20-40冊程度で、その中から毎年5-6冊選んでいる。7年間のベストを合計すると大体40冊になる。 時間をおいて読み直す その中の半数程度は何度も事あるごとに読み直している。 意外にも同じ本を読むのでも、何年か寝かして読むと、受ける印象が変わったり、新しい発見があったりして面白い。 前回読んだときに心に響いたパンチラインがチープに感じたり、逆にあまり心に響かなかった一節がスルスル脳に入ってくることもある。 普段意識してないが、自分の経験と照らし合わして、あれこれ自分の中で噛んだり吐き出したりしながら内容を吸収している。 「本は自分自身との対話」だと岡本太郎は言っていたし、誰かは本は手鏡のようなものだと言っていたけど、その意味が今ではよくわかる。

                                7年の読書 - 運河
                              • Idempotency-Key Headerの現状・仕様・実装の理解を助けるリソースまとめ - valid,invalid

                                Idempotency-Key Header に関する調査と実装を半年ぐらい前に行ったので、そのとき参考にしたリソースと 2021 年 9 月時点で得られる最新情報をメモしておく。 前提: Idempotency-Key Header とは HTTP リクエストのうち冪等ではないとされるリクエスト*1を冪等にし、安全なリトライを可能にするための仕組みの 1 つ。 Jayadeba Jena, Sanjay Dalal, Erik Wilde 氏らによって 2021 年 11 月に仕様が提案された。現在は IETF のもと、インターネット標準化過程(Standard Track)にあり、IETF Meeting や GitHub issues にて議論が行われている。real world ではすでに多くの企業で類似する実装が行われている。 現状と今後 GitHub issues を見る限り論

                                  Idempotency-Key Headerの現状・仕様・実装の理解を助けるリソースまとめ - valid,invalid
                                • システム開発の新潮流 モジュラーモノリス

                                  マイクロサービスは優れたアーキテクチャーだが、設計・開発・運用の難度が高い。そこで、マイクロサービスの利点を一部手放す代わりに導入の難度を下げた「モジュラーモノリス」が注目されている。その実像を解説するとともに、このアーキテクチャーを採用した4社の事例を掘り下げる。 マイクロサービスはそれぞれのサービスを独立したアプリケーションとして構築し、それらが互いにデータをやり取りすることで全体のシステムを構築するアーキテクチャーだ。米国の巨大IT企業や日本のメガベンチャーが導入し、大きな成果を上げている。 複数のサービスが混在する一枚岩のようなアプリから成る従来型のシステムは「モノリス」と呼ぶ。各サービスを別のアプリとして分離・独立したマイクロサービスでは、サービスの変更が他のサービスに与える影響を気にする必要がなく、モノリスに比べて開発スピードが上がる。マイクロサービスが企業競争力を高めることを

                                    システム開発の新潮流 モジュラーモノリス
                                  • データ指向アプリケーションデザインのまとめ - kuromt blog

                                    www.oreilly.co.jp 昨年夏から続けてきたデータ指向アプリケーションデザインの輪読がほぼ終わったので、書かれていた内容を咀嚼するために理解した内容をアウトプットすることにしました。 それぞれの技術レイヤで一般的な選択肢と選択基準を文章化して、後から見返したときにデータシステムを設計の参考になるように基準となる軸が明確になるよう意識しています。 詳しい方から見ると私の理解が甘く間違いを書いてしまっているところもあるかもしれません。見つけられたらご指摘下さい。 整理した観点 単一のシステム (データモデル x ストレージエンジン) x データシステム間の通信フォーマット x データ処理のエンジン x トランザクションの一貫性と分離レベル 分散システム (データモデル x ストレージエンジン) x データシステム間の通信フォーマット x (レプリケーション x パーティション) x

                                      データ指向アプリケーションデザインのまとめ - kuromt blog
                                    • システム理論の続き - 宣言的ネットワーキング - Qiita

                                      Cisco Advent Calendar 2019 第24日目! 1. はじめに 2019年も早くも年末となりました。Cisco有志で綴るAdvent Calendarも今年は3回目。私はこの、年末恒例行事になったわくわくするAdvent Calendarに、わくわくする(?!)システム理論的なことを書くことにしています。過去二回のエントリーもぜひご覧いただけたら嬉しいです。 2017年 ネットワーク・エンジニアリングから学ぶこと − システム理論の見地から 2018年 システム理論の続き - 生命モデルの限界と克服 2. システム理論って何? 「わくわくするシステム理論」などと言いながら、そういえば「システム理論とは何か」についてきちんと記述していませんでした。Wikipediaによる「システム理論」解説 によると「現象のマクロな挙動を直接的にモデル化して扱う科学理論のこと」と書かれて

                                        システム理論の続き - 宣言的ネットワーキング - Qiita
                                      • 「Verda」――LINEが独自に開発したNATサービスの裏側 | gihyo.jp

                                        インタビュイー LINE ITSC Verda Network Development Team シニアソフトウェアエンジニア 城倉弘樹(右) LINEのプライベートクラウドである「Verda」のネットワーク開発を担うシニアソフトウェアエンジニアである城倉弘樹氏は、「⁠LINE DEVELOPER DAY 2020」において、「⁠Hyperscale distributed NAT system and software engineering」のタイトルで講演しました。そこで解説されたNATサービスを開発した背景や利用した技術、得られた知見などについて、城倉氏にお話を伺いました。 LINEがプライベートクラウドでサービスを運用する理由 ――LINEで使われている「Verda」はどのようなインフラなのでしょうか。 城倉:LINEの多くのサービスは、Amazon Web Services(A

                                          「Verda」――LINEが独自に開発したNATサービスの裏側 | gihyo.jp
                                        • (日本語訳) Vector databases (Part 1): What makes each one different?

                                          ベクトルデータベースに関しては、カリフォルニアのベイエリアで明らかに"多く"の活動が行われている!また、資金調達と評価の額には大きなばらつきがあり、データベースの能力と資金調達額に相関関係がないことは明らかである。 プログラミング言語の選択 高速でレスポンスが良くスケーラブルなデータベースは、近年、GolangやRustのようなモダンな言語で書かれることが一般的である。ベクトル特化ベンダーの中で、Javaで書かれているのはVespaだけである。Chromaは、C++で構築されたOLAPデータベースであるClickhouseとオープンソースのベクトルインデックスであるHNSWLibの上に構築されたPython/TypeScriptラッパーとなっている。 興味深いことに、Pineconeも[2]、LanceDBのベースとなるストレージフォーマットであるLance[3]も、元々はC++で書かれて

                                            (日本語訳) Vector databases (Part 1): What makes each one different?
                                          • 日本発のブロックチェーンゲームを支えるアーキテクチャはどうなっている?【 Startup Architecture Of The Year 2019 ファイナリストによる寄稿シリーズ】 | Amazon Web Services

                                            AWS Startup ブログ 日本発のブロックチェーンゲームを支えるアーキテクチャはどうなっている?【 Startup Architecture Of The Year 2019 ファイナリストによる寄稿シリーズ】 皆さんこんにちは、スタートアップマーケティングの石渡です。 先日開催した Startup Architecture Of The Year 2019 では、7社のファイナリストによる熱いピッチコンテストが繰り広げられました。(イベントレポートはこちら) このイベントは時間の関係もあり、各社5分という限られた時間でのピッチをお願いしました。当日は私も舞台袖から皆さんのピッチを聞いていましたが、ご登壇頂いた皆様の内容は、知恵と経験の詰まったもので、当日イベントに参加されなかった方にも是非お伝えしたいと思いました。そこで、ファイナリストの皆様に寄稿をお願いして、ここ AWS Sta

                                            • Database Internalsを輪読している話

                                              この記事は自作DBMS Advent Calendar 2020の23日目です。このアドカレは全国100万人のDB自作勢がノウハウを共有してくれるものですが、当記事では「将来的に自分もDBを開発したい!」という方向けに(?)役立ちそうな書籍を紹介します。 Database Internalsとはどんな本か? タイトル通り、データベースの内部構造に関する本です(2020年の年末時点では翻訳版は未発売)。 著者の書籍紹介ページにあるように、データベースの基本的な概念を解説することに焦点が当てられており、DBMSの開発者や知識欲が旺盛なDBエンジニアを対象読者としています。 This book’s main intention is to introduce you to the cornerstone concepts and help you understand how databases

                                                Database Internalsを輪読している話
                                              • コンテナ時代におけるオブザーバビリティの基礎|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                コンテナ時代におけるオブザーバビリティの基礎 この数年であちこちで見かけるようになった「オブザーバビリティ」という言葉。コンテナが利用されるシーンが増えてきた現在におけるオブザーバビリティの基礎についてミクシィでみてねのSREグループマネージャーをつとめる清水 勲さんに解説いただきました。 オブザーバビリティとは VMとコンテナにおけるオブザーバビリティの違い コンテナにおいて収集すべきログとメトリクスとは ゴールデンシグナルの計測方法 収集されたデータを分析するためには さいごに 1. オブザーバビリティとは この数年で「オブザーバビリティ」という言葉はあちこちで見かけるようになりました。2022年3月にはObservability Conference 2022 というオブザーバビリティに特化したテックカンファレンスが国内で開催されたこともあり、非常に関心の高い分野であるということが伺

                                                  コンテナ時代におけるオブザーバビリティの基礎|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                • モノリシックアプリケーションからマイクロサービスへのリファクタリング

                                                  GMOアドマーケティングのT.Oです。今回は以下の書籍、および同じ著者によるサイトの内容をもとに「モノリシックアプリケーションからマイクロサービスへのリファクタリング」についてご紹介します。 書籍 『実践的システムデザインのためのコード解説 マイクロサービスパターン』 Chris Richardson(著) 長尾 高弘(訳) 樽澤 広亨(監修) サイト microservices.io, 「What are microservices?」, https://microservices.io/index.html, (参照 2023-07-12) 1.モノリシックアプリケーションとは モノリシックアプリケーションとは分割されていない1つのモジュール(ファイル)から構成されたアプリケーションのことです。 アプリケーションの規模が小さいうちは、モノリシックアプリケーションには以下のような利点があ

                                                    モノリシックアプリケーションからマイクロサービスへのリファクタリング
                                                  • tRPCとは?TypeScriptでAPIの型安全性を高める注目のRPCフレームワーク|TSD公式エンジニアブログ「TSD CoLab」

                                                    TypeScriptによる静的型付けがWebアプリケーションのベストプラクティスの1つになりつつある昨今ですが、フロントエンドとバックエンド、もしくはBFF (Backends for Frontends)とのやりとりにおいて型を安全に保つ必要性が求められています。 この課題を解決するため、APIに静的な型をつけることができるtRPCというフレームワークが最近人気を博しているそうです。 そこで、今回はtRPCについて調べてみました。 RPC(Remote Procedure Call:リモートプロシージャコール)とは そもそもRPCとは、ネットワークで接続された他のコンピューターでプログラムを呼び出し実行させるための手法、あるいはそのプロトコルのことを言います。 ネットワーク経由でプログラムの処理を呼び出し・実行することで、遠隔地にあるコンピューターが処理を行い、その処理結果を受け取ること

                                                      tRPCとは?TypeScriptでAPIの型安全性を高める注目のRPCフレームワーク|TSD公式エンジニアブログ「TSD CoLab」
                                                    • 障害が起きても誰も責めずに最大限活かす環境ができている LINEのサーバーサイドエンジニアが大切にしている思想

                                                      LINEで働くエンジニアが、各職種別に日々の業務内容や開発体制、働く環境、今後の展望などについて学生向けに話した「新卒採用 職域別エンジニア会」。今回はサーバーサイドエンジニア会において、LINE Platform開発のサーバーサイドエンジニアとして働く中村俊介氏がLINEにおけるプラットフォーム作りの組織と大切にしていることについて紹介しました。 サーバーサイドエンジニアの全体的な話 中村俊介氏:では、私からサーバーサイドエンジニア会の全体的な話をします。よろしくお願いします。 まず簡単に、私の自己紹介をしますが、LINEの東京オフィスにある「LINE Platform Development Center 1」は、開発1センターあるいはLPDC1と呼ばれていますが、その開発1センターの中で、Messaging Platform開発室のマネージャーをやっています。 今日の発表内容ですが、

                                                        障害が起きても誰も責めずに最大限活かす環境ができている LINEのサーバーサイドエンジニアが大切にしている思想
                                                      • Ethereumでのスマートコントラクト開発

                                                        Web3.0が各所から聞こえるようになってきて、以前に軽く触った程度の知識でしたが、もう一度掘り起こしてみようと思い、その備忘録として残します。 当時読んでいた本の知識を実際にコードに起こしながらやっているので、書いている内容が古い場合があります。 作ったもの Etereumに関して 暗号通貨の用途として作られたビットコインに対して、汎用的なアプリケーションを動かすために作られたプラットフォーム。「ワールドコンピューター」とも呼ばれます。ブロックチェーンの構成要素としてはビットコインのものをいくつか踏襲しているが、残高に関するデータ構造が違ったりします。今はビットコインと同じく PoW のコンセンサスアルゴリズムを採用しているが、PoS へ移行中です。 イーサリアムの中で発行されている通貨がEtherで、この通貨自体が他の暗号通貨と同じように価値を持っており、これから説明するスマートコント

                                                          Ethereumでのスマートコントラクト開発
                                                        • .NET 6によるHTTP Client SDKの作成と利用

                                                          今回の記事では、本格的なDad Jokes API Clientを開発します。サービスの目的は"dad jokes(おやじギャグ)"を提供することです。それでは始めましょう。ソースコードはGitHubから入手可能です。 APIで使用するClient SDKを開発する場合は、(APIとSDK間の)インターフェースコントラクトから着手するとよいでしょう。 public interface IDadJokesApiClient { Task<JokeSearchResponse> SearchAsync( string term, CancellationToken cancellationToken); Task<Joke> GetJokeByIdAsync( string id, CancellationToken cancellationToken); Task<Joke> GetRand

                                                            .NET 6によるHTTP Client SDKの作成と利用
                                                          • Kubernetes で実践するクラウドネイティブ DevOps "監視とオブザーバビリティ"編 / Cloud Native DevOps with Kubernetes (Monitoring and Observability)

                                                            Kubernetes で実践するクラウドネイティブ DevOps "監視とオブザーバビリティ"編 / Cloud Native DevOps with Kubernetes (Monitoring and Observability) コンテナと Kubernetes の到来によりソフトウェアをデプロイおよび運用する方法は大きく変わりました。ソフトウェアはコンテナ化された分散システムとなり、Kubernetes(または類似の基盤)の上で自動化を通じて動的に管理されるものになっています。そうしたアプリケーションを開発し、本番(プロダクション)に高頻度でデプロイしながらも安定した運用を実現することが今求められています。 本セッションは「OpenShift Meetup Tokyo #9 - DevOps/GitOps編」での発表の続編としてアプリケーションの運用、監視におけるメトリクスやオブザ

                                                              Kubernetes で実践するクラウドネイティブ DevOps "監視とオブザーバビリティ"編 / Cloud Native DevOps with Kubernetes (Monitoring and Observability)
                                                            • カオスエンジニアリングの原則 - Principles of chaos engineering

                                                              カオスエンジニアリングの原則 最終更新: 2021年3月 カオスエンジニアリングは、システムが本番環境における不安定な状態に耐える能力へ自信を持つためにシステム上で実験を行う訓練方法です。 大規模で分散したソフトウェアシステムの進歩により、ソフトウェアエンジニアリングの趨勢は変化しています。業界では、開発の柔軟性と速度を向上させる取り組みを迅速に採用しています。複雑なシステムで本番適用することにどれほどの信頼性を持っていますか、という執拗な質問はこれらの利点に続きます。 分散システム内のすべての個々のサービスが適切に機能している場合でも、それらのサービス間の相互作用は予測不可能な結果を引き起こす可能性があります。本番環境に影響を与える稀ではあるが破壊的な現実のイベントが混在する予測不可能な結果により、これらの分散システムは本質的に混沌としています。 我々はシステム全体が異常な挙動に陥る前に

                                                              • 外資ITソフトウェアエンジニアの面接の秘訣とは?(面接対策、オファー内容掲載)|サカモト@エンジニアキャリア論

                                                                こんにちは、サカモトです。ソフトウェアエンジニアが年収を上げるのに、最も効率が良いのはシンプルに年収の高い企業に行くことです。外資IT+日本トップテック企業はまさに先程上げた年収の高い企業になりますが、こちらの企業は入社難易度が高く、前もって面接対策をしなければ(凡人は)通りません。 そこで国内外で半年で20社(外資IT+日本トップテック企業)受けた @gaijineers さんに面接の秘訣をインタビューしました。以下は @gaijineers さんのTwitterです。年収の高いテック企業に行きたい方は是非フォローしてください。 https://twitter.com/gaijineers@gaijineersさんのプロフィール元々は日本のベンチャー企業でバックエンドエンジニアとして勤務。使用言語としてはScalaやgolangを使って、AWS基盤の上にバックエンドシステムを開発をしてい

                                                                  外資ITソフトウェアエンジニアの面接の秘訣とは?(面接対策、オファー内容掲載)|サカモト@エンジニアキャリア論
                                                                • Apache Kafka 超入門 - 赤帽エンジニアブログ

                                                                  こんにちは、ソリューションアーキテクトの蒸野(ムシノ)です。 今回は「AMQ Streams」のベースとなっている「Apache Kafka」の超概要を説明をしたいと思います。 Apache Kafka とは 2010年にLinkedInで開発され、2011年にLinkedInから公開されたオープンソースの分散メッセージングシステムです。 Apache Kafkaはストリームデータのために設計された分散システムであり、大量のログやイベントデータなどの大量のデータをハイスループット/低レイテンシで収集・配信することが目的で、スケールアウト、対障害性、分散データストリーム処理やイベントドリブンアプリケーションを可能にします。 Apache Kafka の公式ドキュメントでは次のように示されています。 Apache Kafka is an open-source distributed even

                                                                    Apache Kafka 超入門 - 赤帽エンジニアブログ
                                                                  • [論文まとめ] 「NewSQL」 の 「New」 の部分は一体何ですか - Qiita

                                                                    この記事は DMM advent calendar 2020 8日目の記事です。 NewSQL という言葉を聞いたことがある方がいらっしゃるでしょうか。「NewSQL」 の 「NEW」 の部分は一体何ですか等の疑問がありませんか? 筆者は最近 TiDB を勉強する時に、上記の疑問がよく頭に浮かび上がるので、調べてみました。そして、「What’s Really New with NewSQL?」 という論文を見つけた。 作者の Andrew Pavlo と Matthew Aslett は両方ともコンピュータサイエンスの専門家なので、この文章は非常に参考になれると思うため、概要をまとめました。自分は英語力が弱いので間違えたことろがあるかもしれませんが、深い興味があればリンクのPDFを読んでもいいと思う。 1. A Brief History of DBMSS 世界初のデータベース: IBM

                                                                      [論文まとめ] 「NewSQL」 の 「New」 の部分は一体何ですか - Qiita
                                                                    • データは財産である LINE Data Platform室のSREが大切にしているミッション

                                                                      LINEユーザーとビジネスの価値をつなぐためのSREとは、いったいどんなことをするのか。LINEの7つの領域から9名が登壇し、業務内容や体制、開発における課題、働く個々人のやりがいなどについて話します。奥田輔氏は、LINE Data PlatformのSREについて紹介しました。 LINEのData Platform室におけるSRE 奥田輔氏(以下、奥田):私からは、LINEのData Platform室におけるSREで、どういうチャレンジがあるのか、どういう仕事なのかを紹介します。よろしくお願いします。 まずは、自己紹介からです。Data Platform室のData Engineering1というチームで、エンジニアリングマネージャーをしている奥田と申します。2013年に、弊社のLINEに新卒入社です。もともとは、LINE GAMEのDBAをやっていました。そこから社内異動で、LINE

                                                                        データは財産である LINE Data Platform室のSREが大切にしているミッション
                                                                      • Webアプリを100倍に最適化するのは、99台のサーバーを追加するようなもの

                                                                        この記事は、著者の許可を得て配信しています。 https://lukerissacher.com/blog/optimizing_your_web_app Webアプリを100倍に最適化するのは、99台のサーバーを追加するようなものです。 最近の技術的な議論の多くは、膨大なトラフィックを処理するためにWebアプリのインフラストラクチャをスケーリングすることに焦点を当てています。 Hacker Newsには、Kubernetes、分散システム、データベースのレプリケーションに関する記事が多数掲載されています。GitHubのLarge-Scale System Design Primer は非常に評判が良く(113kスター獲得)、memcacheクラスタやDB シャーディングに関するアドバイスが満載です。 Webベースのノートパットアプリを毎日100億人のユーザーに対応できるようにしようという

                                                                          Webアプリを100倍に最適化するのは、99台のサーバーを追加するようなもの
                                                                        • vSphere 7 の新機能「vSphere with Tanzu」とは?|技術ブログ|C&S ENGINEER VOICE

                                                                          vSphere with Tanzu とは、vCenter Server と ESXi による仮想化基盤上に、Kubernetes によるコンテナ技術のワークロードを稼働させるソリューションです。まずは、Kubernetes について概要をご説明します。 Kubernetes は、多数のコンテナを起動するための仕組みです。Google によってオープンソースとして公開されたもので、大規模な分散システムのワークロードを管理できるように作られています。 コンテナ技術については、「Docker」が特に有名だと思います。Linux や Windows のような OS に、Docker をはじめとしたコンテナの実行環境を用意して、そこでアプリケーションをパッケージングした「コンテナ」を起動します。 アプリケーションをコンテナにするメリットとして、依存ソフトウェア一式をまとめたパッケージをさまざまな環

                                                                            vSphere 7 の新機能「vSphere with Tanzu」とは?|技術ブログ|C&S ENGINEER VOICE
                                                                          • Microsoftがリードするモダンな分散システム用ランタイムDaprとは?

                                                                            MicrosoftはCNCF(Cloud Native Computing Foundation)が主催するWebinarで、クラウドネイティブなシステムにおいて分散処理を実装するランタイムであるDaprを解説するセッションを実施した。CNCFのWebinarページには、CNCFにホストされている多数のプロジェクトのセッションだけではなくCNCFのメンバーによる技術解説が公開されている。今回紹介するセッションは2020年10月1日に公開されたもので、CNCFのプラチナムメンバーであるMicrosoftがコンテンツを提供したものになる。 参考:Dapr, Lego for microservices セッションのタイトルは「Dapr, Lego for Microservices」というもので、マイクロサービスを構築する際にランタイムとして機能するDaprの最新情報を紹介する内容となった。

                                                                              Microsoftがリードするモダンな分散システム用ランタイムDaprとは?
                                                                            • Cloud Native Kafka - ZookeeperのいらないKafka - Qiita

                                                                              ** 本エントリはDistributed computing Advent Calendar 2021の12/22エントリです。 はじめに Apache Kafka v.2.8はKIP-500という特別な機能改善が含まれたリリースでした。この変更はKafkaの全体構成への大規模な変更であり、Cloud Nativeな環境で動くKafkaにとって大きな前進となる変更です。KIP-500は現時点 (2021年クリスマス時期) でもまだ本番稼働で利用できるステータスとはなっていませんが、最も新しいKafka 3.0では主要な機能は既に含まれた状態となっています。 本エントリではKIP-500の概要ならびにこの変更がもたらすCloud Nativeな世界におけるKafkaについてご紹介します。 本エントリは先日 (2021/12/17) 実施されたApache Kafka Meetup Japan

                                                                                Cloud Native Kafka - ZookeeperのいらないKafka - Qiita
                                                                              • Fedibirdってなに?(紹介) - noellabo's tech blog

                                                                                この記事は、Fedibird Advent Calendar 2019の1日目の記事です。 ひとまず導入として、Fedibirdについて改めて説明しておこうと思います。 Fedibirdは、SNS・マイクロブログ機能を提供するWebサービスの一つです。 短い文章や写真やイラスト・映像・音声を投稿できる仕組みの中で、発信し、楽しみ、フォローし、リアクションし、共有することを通じて、より楽しく便利な情報交換と交流の場を提供しています。 従来のSNSとの大きな違いとして、Fedibirdと世界中の様々なサービスが互いに繋がっていて、Fedibirdを通じて大きなひとつのネットワークに参加することができるという特徴があります。この大きなネットワークのことをFediverse(フェディバース)と呼んでいます。 まず、少しだけFediversの話をしましょう。 Fediverseには、マストドン(Ma

                                                                                  Fedibirdってなに?(紹介) - noellabo's tech blog
                                                                                • マイクロサービスはアンチパターン

                                                                                  マイクロサービスの矛盾先日、「マイクロサービス?モノリス?SaaSアーキテクチャのPros/Cons | SaaS.tech #1」(youtube)(togetter)というイベントを観ました。これは、マイクロサービスのイベントだったのですが、新規のシステム開発において積極的にマイクロサービス化をすすめる方が少なかったのが意外でした。 マイクロサービスの開発経験のある優秀なエンジニアであっても、まずはモノリスからはじめてプロダクト境界を意識して設計していき、functionベースで切り出せるもの(認証や通知、メール送信、バッチ等)は切り出しつつ、必要であればモジュラーモノリスかマイクロサービス化を慎重に検討するということでした。素晴らしい冷静な判断です。 というのは、ドメインの専門知識がないうちにマイクロサービスの複雑なシステムを設計するのは、多くのソフトウェアプロジェクトが陥りやすいリ

                                                                                    マイクロサービスはアンチパターン