ブックマーク / blog.cybozu.io (47)

  • CKEがKubernetes Conformance Softwareに認定されました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Necoプロジェクトの池添(@zoetro)です。 このたびサイボウズがCNCF(Cloud Native Computing Foundation)にシルバーメンバーとして加盟しました。 それに伴い、我々の開発しているCKE(Cybozu Kubernetes Engine)がKubernetes Conformance Softwareに認定されました。 CKEはKubernetesクラスタの構築と運用を自動化するためのソフトウェアです。 記事ではCKEの概要と、他のツールとは異なる特徴的な機能について紹介したいと思います。 Kubernetes Conformance Softwareとは Kubernetes Conformance Software ProgramとはCNCFが実施している認定プログラムです。 www.cncf.io 認定を取得するためには、Sono

    CKEがKubernetes Conformance Softwareに認定されました - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2019/11/12
  • Kubernetesでローカルストレージを有効活用しよう - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回は、Kubernetes向けにTopoLVMというCSI (Container Storage Interface) プラグインを開発したので紹介したいと思います。 TopoLVMは以下のような特徴を持っており、Kubernetesでローカルストレージを有効に利用することができます。 LVM (Logical Volume Manager) によるボリューム管理 トポロジーを考慮したダイナミックプロビジョニング ノードの空き容量に応じたスケジューリング github.com 記事では、CSIプラグインを自作するに至った経緯とTopoLVMの特徴の紹介、Elasticsearchのストレージとして利用する例を紹介します。 ストレージへの取り組み Kubernetesでストレージを扱うことは難しいとよく言われています。しかし

    Kubernetesでローカルストレージを有効活用しよう - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2019/11/08
  • AWS + Azure ADによるSingle Sign-Onと複数AWSアカウント切り替えのしくみ作り - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、生産性向上チームの五十嵐(@ganta0087)です。 今回はAWSアカウントの管理についてのお話です。 AWSアカウントをみなさんの組織ではどのように管理されているでしょうか? シングルアカウントで運用していると、人やチームが増えて規模が大きくなってきたときに権限管理が中央集権的になり、管理者への負担が増大してしまいます。また、新規ユーザーの登録だけでなく、退職時の削除漏れにも注意が必要です。利用者側としても管理するパスワードが増えるのは避けたいです。 そこで、生産性向上チームではマルチアカウント構成によるシングルサインオン(以下SSO)とチームに委譲できる権限管理のしくみを作ることでこれらの問題を解決し、社内でAWSを活用しやすくなるようにしました。 サイボウズには社員のアカウント情報を管理しているActive Directory(Azure AD)があります。今回はそのA

    AWS + Azure ADによるSingle Sign-Onと複数AWSアカウント切り替えのしくみ作り - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2019/10/18
  • 開発・運用本部向け新人研修2018の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。そろそろプロ野球シーズンの開幕が待ちきれなくなってきたコネクト支援チーム*1の酒井(@sakay_y)です。 サイボウズでは、新入社員全体研修の後に、開発系の新入社員に対して1ヶ月程度の開発研修をおこなっています*2。内容は、毎年改善を重ねていますが、基的には講義+実習です。記事では、先日公開した2018年の研修の講義資料を、全体の流れに沿って紹介したいと思います。 開発・運用研修について 研修は「開発部・運用部に配属される新入社員が、部署配属後に必要となる基礎的な知識/技術/ツールを学び、体験できる。」ことを目的にしています。 新入社員3〜4名を1チームとして、そこに担当のメンターが1名付いて研修を進めていきました。講義では先輩社員に講師をお願いし、開発演習では各チームにメンターとは別の先輩社員が担当スクラムマスター(!)として付きました。 スケジュール 7/2 〜

    開発・運用本部向け新人研修2018の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2019/02/22
  • KubeCon + CloudNativeCon North America 2018 現地レポート 0日目 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Necoプロジェクトの @ueokande です。 現在、Necoのプロジェクトメンバーは全員で、KubeCon + CloudNativeCon North America 2018に参加しています。 今日から4日間、KubeCon + CloudNativeCon North America 2018の現地レポートをお送りしたいと思います! KubeCon + CloudNativeConは CNCF (Cloud Native Computing Foundation) が主催するカンファレンスで、コンテナ関連のカンファレンスでは世界最大です。 これまでに世界各地で開催されており、2018年は以下の場所で行われました。 2018年05月: KubeCon + CloudNativeCon Europe 2018 2018年11月: KubeCon + CloudNativ

    KubeCon + CloudNativeCon North America 2018 現地レポート 0日目 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2019/01/09
  • Kubernetesのネットワークプラグインを自作した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、インフラ刷新プロジェクトNeco」の@ueokandeです。 日はインフラ刷新プロジェクトで開発したKubernetesネットワークプラグインについてお話します。 Necoでは現在のアーキテクチャを刷新して、機材管理やアプリケーションのデプロイを簡単にするために、オンプレミス環境でKuberneteを運用できる仕組みづくりに取り組んでます。 その成果物の1つである、Kubernetesネットワークプラグイン「Coil」についてご紹介します。 github.com Kubernetesは管理者がプラグインを選択・作成することで、実行環境や要件に合わせて自由にカスタマイズできます。 ネットワークプラグインもコンテナの実行環境に合わせてカスタマイズ可能です。 サイボウズが自社データセンターでKubernetesを運用するために、Kubernetesネットワークプラグインを作成しま

    Kubernetesのネットワークプラグインを自作した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/12/20
  • ルーティングソフトウェア BIRD の使いかた - Cybozu Inside Out | サイボウズエンジニアのブログ

    Neco プロジェクトの ymmt です。記事では Neco のネットワークの実装を理解するために、ルーティングソフトウェアである BIRD の仕組みと設定方法を解説します。 公式文書がすこしとっつきにくいので、こちらを読んでから公式文書にあたるとスムーズに理解ができると思います。見所は、Invalid NEXT_HOP への工夫をこらした各種対処方法です。 以下、社内向けの解説文書からコピペしているので文体が変わります。悪しからずご了承ください。 BIRD とは アーキテクチャ 重要な機能 プロトコル トラブルシューティング 備考 まとめ BIRD とは BIRD は Linux 等で動作する BGP や RIP などのルーティングプロトコルを実装したプログラムである。2018 年 10 月時点の最新版は 2.0.2 で、2.0 と 1.6 の両系列がメンテナンスされている。 記事の

    ルーティングソフトウェア BIRD の使いかた - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/11/01
  • データセンター内で使う BGP の基礎知識 - Cybozu Inside Out | サイボウズエンジニアのブログ

    Neco プロジェクトの ymmt です。記事では Neco のネットワークの実装を理解するために必要となる範囲で Border Gateway Protocol (BGP)の基礎知識を解説します。 BGP はインターネット全域の経路制御に使われているプロトコルで、非常に複雑なルーティング要件を実装可能ですが、記事では詳説しません。対象読者は 「BGP? 知ってる知ってる、インターネットのあれでしょ!」 という程度のソフトウェアエンジニアです。 以下、社内向けの解説文書からコピペしているので文体が変わります。悪しからずご了承ください。 ルーティングプロトコル BGP の概念 BGP の特徴 iBGP の動作 データセンター内での BGP 利用 まとめ ルーティングプロトコル ルーティングプロトコルとは、簡単に言えば目的の IPv4/IPv6 アドレスへパケットを送り届けるのにどのような

    データセンター内で使う BGP の基礎知識 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/11/01
  • サイボウズのオープンソースソフトウェアポリシーを紹介します - Cybozu Inside Out | サイボウズエンジニアのブログ

    OSS準備室長を務めていた ymmt (@ymmt2005) です。 過去形なのは、OSS準備室は 7 月末で解散したためです。 OSS準備室では、サイボウズ社員がオープンソースソフトウェアに関する活動を行いやすくすることを主な目的として、会社の基方針を「OSSポリシー」という文書にまとめる作業を行いました。 完成したOSSポリシーはCC0 (いかなる権利も保有しない、いわゆるパブリックドメイン)で広く他の企業の方々にも活用いただけるよう以下で公開しました。記事ではその内容と、サイボウズにおけるオープンソース活動のこれまでとこれからを紹介いたします。 OSSポリシー(日語) (GitHub) OSS Policy (English) (GitHub) オープンソースについて オープンソースソフトウェア(Open Source Software, OSS)とは、オープンソースの定義に基

    サイボウズのオープンソースソフトウェアポリシーを紹介します - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/09/08
  • さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成しており、それらは全て ImageMagick によって生成されていました。 そこで得た知見はこちらの記事で公開されています。 blog.cybozu.io しかし現在、サイボウズから ImageMagick は消え去りました。その理由と、我々が取った代替手段について紹介します。 ImageMagick を外した理由 言うまでもなく ImageMagick は優秀なツールで、画像変換に関する何らかのサービスやツールを作る場合には採用の第一候補になることでしょう。あらゆる画像フォーマットに対応し、出力画像をきめ細かに制御できる膨大なオプシ

    さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/08/21
  • サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQLJOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年

    サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/08/08
  • ファイルシステムサイズの拡張時にデータベースアクセスがスローダウンする問題の解決 - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、技術顧問のsatです。 サイボウズでは、ファイルシステムサイズ拡張時にデータベースアクセスがスローダウンするという問題に長年悩まされてきました。記事では運用部の藤田と深谷がこの問題を解決した流れについて報告いたします。問題を解決するために2人はLinuxカーネルを修正しました。修正は社内に閉じたものではなく、執筆当時の最新 Linuxカーネルであるv4.17にマージされています。 問題 以下の操作の後にデータベースへのアクセスが一時的にスローダウンする ブロックデバイスのサイズを拡張する 上記デバイス上にあるファイルシステムのサイズを拡張する 原因 linuxカーネルはブロックデバイスのサイズ変更(縮小および拡張)時に、当該デバイス上にあるファイルシステムのページキャッシュ(後述)を無効化する*1 解決方法 ブロックデバイスのサイズ拡張時にはページキャッシュを無効

    ファイルシステムサイズの拡張時にデータベースアクセスがスローダウンする問題の解決 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/06/28
  • CoreOS Container Linuxにおいてリアルタイムプロセスを実行できない問題 - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、技術顧問の武内です。 記事はサイボウズの次期インフラ開発チーム(Necoチーム)が遭遇した、CoreOS Container Linux (以降 CoreOS)においてリアルタイムプロセスを実行できないという問題について、次のようなことを記載したものです。 どういう問題なのか どのように根原因を突き止めたのか 今後どのように対処するのか 問題要旨 来なら成功するはずのroot権限におけるリアルタイムプロセスの実行が失敗する 根原因 CoreOSではカーネルのリアルタイムグループスケジューリングという機能が有効になっている 同機能が有効な場合、cpu cgroup配下のプロセスはデフォルトではリアルタイムプロセスを実行できない systemd環境下で生成されたプロセスは何らかのcpu cgroupに所属させられる 対処方法 リアルタイムプロセスが属するcpu c

    CoreOS Container Linuxにおいてリアルタイムプロセスを実行できない問題 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/06/22
  • ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E

    ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2018/05/29
  • mdadmの検証中に発見したバグと今後の取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、技術顧問の武内です。 Linuxにはmultiple devices(以下md)と呼ばれるソフトウェアRAID機能があります。この機能はmdadmというツールを使って管理します。サイボウズのSREチームは、Ubuntu16.04のmdadmを検証をした際に次のような2つのバグを発見しました。 mdのresync*1時に使うwrite intent bitmap*2(以後bitmapと表記)のサイズが所定量を超える場合、mdを構成するストレージデバイスに不良セクタを検出した際にbitmapを破壊する mdのサイズ拡張時にbitmapの付与に失敗する これに関して、エントリでは、次のようなことをお伝えしたいと思います。 これらのバグが具体的にどういうものなのか サイボウズはこのよう場合に、自分たちが使うものだけを修正するのではなくupstreamのOSSを修正するという

    mdadmの検証中に発見したバグと今後の取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/10/30
  • アーキテクチャ刷新プロジェクト「Neco」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山です。 今回は開発部と運用部のメンバーが協力して進めている cybozu.com やサイボウズ Live のアーキテクチャ刷新プロジェクトNeco」について紹介します。 Neco を 3 行で説明すると、 サイボウズのクラウドインフラのいけてないところを洗い出して、 5 年程度を目安に改善するつもりだけど、 やりたいことが多すぎるので、We are hiring! で済んでしまうのですが、それだけでは面白みに欠けますので、いけてない内実を暴露しながら解説いたします。 サイボウズはクラウド 5 年生 正確に言うとサイボウズ Liveなど一部のサービスはもっと以前から取り組んでいたのですが、格的にクラウドサービスといえるインフラを構築してサービス提供を開始したのは今から 4 年前の 2011 年 11 月となります。そこでオープンしたのが cybozu.co

    アーキテクチャ刷新プロジェクト「Neco」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/10/23
  • SRE チームを設立します - Cybozu Inside Out | サイボウズエンジニアのブログ

    運用部長を務めている山泰宇です。 運用部は社内の情報システムを担当する情報システム部と cybozu.com など自社クラウドサービスを運用するサービス運用部からなる部門です。 日、サービス運用部にて SRE チームを設立しました。この記事ではチーム設立にいたった経緯と今後の活動計画を紹介いたします。 Site Reliability Engineering (SRE) とは 今年の 3 月に O'Reilly から出版された "Site Reliability Engineering" で有名になりましたが、Google のプロダクトやサイトを安定運用するための活動やその活動に従事する人・チームを指します。特徴としては基的にソフトウェアエンジニアからなる集まりで、自律的な仕組みや自動化を日常的に行っていることです。 サイボウズでも 5 月から社内で SRE の輪講を開催し、理

    SRE チームを設立します - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/10/23
  • Safari 11 Intelligent Tracking Preventionについて - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめまして、開発基盤部フロントエンドエキスパートチームの小林(@koba04)です。 チームメンバーがまだひとりなので、仲間を募集中です! macOS High Sierra及びiOS11のSafariで導入されたIntelligent Tracking Preventionについて紹介します。 詳細は、下記のWebKitのブログに書かれていますが、Intelligent Tracking Preventionはクロスサイトトラッキングを制限することを目的とした機能です。 Intelligent Tracking Prevention クロスサイトトラッキングとは まず最初にクロスサイトトラッキングとは、複数サイト間でのユーザーの行動をトラッキングすることです。 クロスサイトトラッキングを行うには、トラッキングしたいサイトに、Cookieを設定した共通のリソースを埋め込みます。 これによ

    Safari 11 Intelligent Tracking Preventionについて - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/10/13
  • 技術顧問に聞いてみた──小崎資広さん、武内覚さんインタビュー - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。コネクト支援チームの風穴(かざあな)です。 この度、あの小崎資広さん、武内覚さんに、サイボウズの技術顧問に就任していただくことになりました。 小崎さんは、日を代表するLinuxカーネル開発者の一人です。また武内さんも、Linuxカーネル開発者として知る人ぞ知る存在で、最近では、AMD Ryzenプロセッサの問題を追究したことでも注目を集めました。 ということで、さっそくお二人にお話を伺ってきました。 サイボウズSREチームのメンバーと(前列左から4人目が小崎資広さん、同5人目が武内覚さん) ──そもそも、このお話の経緯は? 小崎さん(以下、敬称略):山さん(編注:山泰宇、サイボウズ執行役員・運用部長)から、「技術顧問になっていただけませんか?」とオファーをいただきまして。 ──それまでは、山とは知り合いでした? 小崎:以前、2、3回、お会いしたことがあり、お名前は認識

    技術顧問に聞いてみた──小崎資広さん、武内覚さんインタビュー - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/09/07
  • スレッド名にデバッグ情報を埋め込むと激しく捗る件 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 今回、Java のちょっとしたデバッグテクニックを紹介したいと思います。Java で運用中何かトラブルが発生した場合、スレッドダンプを取得することはしばしばあると思いますが、スレッドダンプだけだとちょっと情報が足りないことがあります。今回はスレッドダンプから得られる情報を増やして、素早く障害対応したりデバッグに役立てる方法を紹介します。 まずはじめに: スレッドダンプの取り方 基ですが、改めてスレッドダンプの取得の仕方を紹介しておきます。スレッドダンプを取得する対象のプロセス ID を仮に 12345 として、下記のように jstack コマンドを実行すればスレッドダンプが取得できます(※Linux上で操作する想定)。 $ jstack 12345 対象のプロセス ID は ps aux | grep jav

    スレッド名にデバッグ情報を埋め込むと激しく捗る件 - Cybozu Inside Out | サイボウズエンジニアのブログ
    daiki_17
    daiki_17 2017/07/10