タグ

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

  • AWS移行が完了したUS版kintoneと、これからの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、@ueokandeです。 先日6月21日に、日のデータセンターで運用していたUS版kintone (kintone.com) が、ついにAWSに完全移行しました。 このAWS移行プロジェクトは2018年にスタートし、2019年秋の新規顧客向けリリースを経て、この6月に全US顧客のAWS移行が完了しました。 日はUS版kintoneAWS移行と、これからのチャレンジについてお話します。 モノリスシステムからの独立 AWS移行プロジェクトには、2つの背景があります。 1つはUSを含めたグローバル市場の拡大です。 現地のUSリージョンで運用することで、ユーザーからのレイテンシを小さく抑えることができ、より安定したサービスを提供できます。 またこれを機に販売管理システムもUS市場向けに新規開発し、現地に合わせた販売戦略を計画できるようになりました。 2つめの背景として、クラウドネ

    AWS移行が完了したUS版kintoneと、これからの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2020/07/02
  • OSSへの貢献ノウハウ - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、Necoプロジェクトのsatと申します。記事は世間で何かと重要といわれつつもなぜ重要なのかがわかりにくく、かつ、広くやりかたが知られていないOSSへの貢献ノウハウについて述べます。記事は筆者が過去にはLinuxカーネル、現在ではRookというOSSへの貢献に業務で取り組んできた経験に基づいて書きました。 ひとくちに貢献といっても様々な方法がありますが、ここではissue発行やPR発行などのOSSの開発へ開発者が直接かかわるような貢献に焦点を絞ります。 記事の想定読者は次のようなかたがたです。 業務でLinuxKubernetes,MySQLなどの有名どころのOSSを使っている バグや機能不足で困っている OSSへ貢献したことがない 貢献する必要性ががわからない 自分では必要性がわかっているが、会社にうまく伝えられない 貢献したいものの、やりかたがわからない 貢

    OSSへの貢献ノウハウ - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2020/02/17
  • 分散システムの耐障害性テストの取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Necoチームの池添(@zoetro)です。 サイボウズが提供するクラウドサービスcybozu.comでは、アーキテクチャを刷新すべく「Neco」というプロジェクトを実施しています。 そのプロジェクトでは、サーバのライフサイクルを管理するsabakanや、Kubernetesクラスタを構築するためのCKE(Cybozu Kubernetes Engine)などの分散システムを開発しています。 安定してサービスを提供するためには、このようなインフラを支える分散システムの耐障害性が重要になってきます。 記事では、我々のチームが分散システムに対してどのような耐障害性テストを実施しているのかを紹介します。 耐障害性を高めるために 機材故障 サイボウズの管理するデータセンターでは1,000台規模のサーバを扱っており、日常的にハードウェアの故障が発生します。 例えば、以下のような機材故障

    分散システムの耐障害性テストの取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2020/01/22
  • 2019年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。皆様、夏はいかがお過ごしでしたか。 私は毎年実家に帰省し、そして毎年体調を崩すので、絶対風水的になんか合わないんだと思っています。コネクト支援チームのsakay_yです。 先日、2018年の新人研修資料を公開し、たくさんの反響をいただきました*1。ありがとうございました。 2019年もエンジニア新人研修を行いましたので、その紹介と講義資料を公開いたします。 2019年のエンジニア新人研修について 今年の研修は、組織運営チーム*2が取りまとめ、以下のような3構成となりました。 必修講義 誰に: 開発/運用部に配属される新入社員​ 何を: どのチームに行っても必要となる基礎的な知識/技術/ツールを学び、体験できた 選択講義 誰に: 学びたい人が​(=新入社員に限らず) 何を: 興味があることを学べた チーム体験(2週間 * 3チーム) 誰に: 開発/運用部に配属される新入社員

    2019年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/09/05
  • Puppeteerで不要なCSSを消す - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。フロントエンドエキスパートチームの穴井(@pirosikick)です。福岡在住で、普段は福岡のweworkで働いています。他のメンバーは皆、東京に居てリモートで仕事をしていますが、モブでわいわい開発していますし、weworkが快適すぎて、毎日楽しいです! フロントエンドエキスパートチームでは、サイボウズの各プロダクトが抱えるWebフロントエンドの課題を解決するのが仕事の一つです。 blog.cybozu.io 最近の取り組みとして、Puppeteerで不要なCSSを消した事例を紹介します。 このブログは、6/19に福岡で開催した「Google I/O '19のWebをまとめる会」で登壇したときの内容を詳細に説明しつつ、アップデートした部分もあるので、発表見たぞ、スライド見たぞという方も見ていただけますと幸いです。 speakerdeck.com きっかけ とあるプロダクトのCS

    Puppeteerで不要なCSSを消す - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/08/21
  • cybozu.com の SAML 認証のための AD FS 2.0 導入 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。社内インフラ担当の川上です。 今回はサイボウズ社内から cybozu.com の SAML 認証を利用するために、社内に AD FS 2.0 を導入した事例について紹介します。 SAML 認証とは Security Assertion Markup Language (SAML) とは、異なるセキュリティドメイン間で認証情報を連携するための、XML ベースの標準仕様です。 この定義だけではおそらく意味がよくわからないと思いますので、SAML 認証を説明する際によく使われる例を挙げます。 パスポートによる入国のシナリオ: アメリカ合衆国は、日国を信頼している (前提条件)。 日人の A さんは、日国が発行したパスポートを持っている (= 日国により人確認済み)。 A さんが、アメリカ合衆国に対して入国許可を求める。 アメリカ合衆国は、A さんのパスポートを確認し、入国を

    cybozu.com の SAML 認証のための AD FS 2.0 導入 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • kintone REST APIを使ってJenkinsの自動バックアップ - Cybozu Inside Out | サイボウズエンジニアのブログ

    ガルーンチームの川向です。 kintone APIは簡単に実行できて便利ですよね。 というわけで、今回はガルーンチームのkintone APIの活用法の一つとして、 Jenkinsの設定ファイルをkintoneに自動バックアップする方法についてご紹介します。 Jenkins 簡単に説明すると、 定期的にスクリプトを実行してくれるツールです。 ガルーンチームでも日々の開発にJenkinsを使っています。 毎日、製品のビルドや自動テストの実行などに大活躍しています。 このため、もしJenkinsを動かしているマシンが壊れたら大変です。 そこでJenkinsのバックアップをすることにしました。 Jenkinsのバックアップデータ作成 thinBackupというプラグインを使っています。 以下の理由でこのプラグインを使うことにしました。 定期実行できる レストアもしやすい バックアップ中、システム

    kintone REST APIを使ってJenkinsの自動バックアップ - Cybozu Inside Out | サイボウズエンジニアのブログ
  • kintone と連携する図書管理システムを作ってみた - Cybozu Inside Out | サイボウズエンジニアのブログ

    みなさんこんにちは。SRE チームの内田(@uchan_nos)です。 サイボウズでは去年の 11/30 から 12/02 にかけて、4 回目となる毎年恒例の社内ハッカソンが行われました。 業務時間で好きなものを作ってよいので、図書委員でもある私は Raspberry Pi 3 と NFC リーダー、バーコードリーダーを使った図書管理システムを作ることにしました。 (ちなみに、この図書管理システムはハッカソンの審査で大賞に輝きました。うれしい!) 年明け 1 月下旬、ついに図書管理システムが格的に稼働しはじめましたのでご紹介します。 使用機材やソースコードも公開しますので、興味があれば試してみてください。 作ったもの kintone 上の図書管理アプリの貸出・返却ステータスを、遠隔で変更する IoT システムです。 このシステムには社員証リーダーとバーコードリーダーが接続されていて、 誰

    kintone と連携する図書管理システムを作ってみた - Cybozu Inside Out | サイボウズエンジニアのブログ
  • MKL-DNNで学ぶIntel CPUの最適化手法 - Cybozu Inside Out | サイボウズエンジニアのブログ

    初めに サイボウズ・ラボの光成です。 DNN(deep neural network : 深層学習)といえばGPUや専用プロセッサを使うのが主流です。 しかしIntelはCPUで高速にDNNをするためのライブラリ MKL-DNN を提供しています。 MKL-DNNはIntelの最新CPUに対応したオープンソースソフトウェアなのでコードを見ると勉強になります。 ここではMKL-DNNで使われているテクニックをいくつか紹介します。 概要 MKL-DNNの紹介 Xbyakの紹介 呼び出し規約 圧縮displacement ReLU exp 内積 vpdpbusd キャッシュコントロール 想定読者 C++11とx64 CPUのアセンブリ言語の知識をある程度仮定します。 機械学習についてはその知識がなくても最適化手法が理解できるよう、最小限の説明をします。 MKL-DNNの特長 まずMKL-DNNの

    MKL-DNNで学ぶIntel CPUの最適化手法 - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/04/16
  • 他のチームを体験する「モブプロ開発合宿」を開催しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!開発部の外松(@toshi-toma)です。 サイボウズでは3年ぶりに開発合宿を開催しました! 今年の合宿は、複数のプロダクトチームや特定分野のエキスパートチームを含めた31名の方に参加してもらいました。 合宿会場は、箱根湯の「ホテルおかだ」です。 今回の合宿は、モブプログラミングを活用して他のチームを体験するモブプロ開発合宿だったのですが、こんな効果がありました。 他のチームのノウハウやスキル、仕事の進め方が一気に知れる 普段の業務では関わりが少ないメンバーと一緒に開発することで人となりを知れる 特定分野のエキスパートの力を借りて、なかなか進めれなかった改善が実現 個人的にとても良い合宿だったので、その様子を紹介します! 合宿のテーマ 合宿のテーマは「となりのチームを知る」です。 サイボウズでは、今年から新組織体制となり従来のマトリクス組織から各チームがフラットに並ぶ体制

    他のチームを体験する「モブプロ開発合宿」を開催しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/04/03
  • QAもスクラム導入、アジャイルQAとしての取り組み──Cybozu Meetup #11 開催レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    品質保証部の匠です。 2/21(水)に、Cybozu Meetup #11「アジャイルQA」を開催しました! QAプロセスに特化したMeetupで、参加者が集まるか少し不安でしたが、 当日は50名を超える方々にご参加いただき、大盛況の開催となりました! cybozu.connpass.com エントリでは、当日の様子を紹介しつつ、私のトークセッションについての補足をしてみようと思います。 トークセッション サイボウズでは多くの開発チームがスクラムによるアジャイル開発に移行しつつあります。 今回は、各チームのQAがどのようにアジャイルプロセスを導入しているのか、について事例紹介として3つのトークを実施しました。 アジャイルネイティブなQA by 三牧 麻美 アジャイルネイティブなQA from asami1015 www.slideshare.net 新卒入社2年目の三牧 麻美が、開発中の

    QAもスクラム導入、アジャイルQAとしての取り組み──Cybozu Meetup #11 開催レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/03/08
  • 開発・運用本部向け新人研修2018の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    開発・運用本部向け新人研修2018の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2019/02/23
  • React Conf 2018のKeynoteで発表されたHooks、Concurrent Reactのまとめ - Cybozu Inside Out | サイボウズエンジニアのブログ

    フロントエンドエキスパートチームの@koba04です。 10/25,26の2日間、ネバダで開催されたReact Conf 2018に参加して来ました。 今回は、気になっている人も多いKeynoteで発表されたHooksとConcurrent Reactについて紹介したいと思います。 今回紹介された内容は、2014年後半くらいからReactを見てきた中でも、最も大きな変更であると言えます。 React Conf 2018 React Conf 2018のストラップ カンファレンスのトーク自体はすでにYouTubeで公開されているので、全トーク観ることが出来ます。 https://www.youtube.com/playlist?list=PLPxbbTqCLbGE5AihOSExAa4wUM-P42EIJ Hooks Hooksは、GitHub上でも一切公開されておらず、React Conf

    React Conf 2018のKeynoteで発表されたHooks、Concurrent Reactのまとめ - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2018/11/03
  • QAエンジニアのAgile Testing vol.2 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!松山品質保証部の北地です。Agile Testing投稿の第2弾です。 前回記事では、以下2点についてご紹介しました。 私たちが抱えている問題(Agile Testing導入について開発チーム間で情報が共有されにくい) 対策として社内でパネルディスカッションを開催する 今回はパネルディスカッションのテーマをご紹介します。 blog.cybozu.io パネルディスカッションのテーマ 第1回のテーマは「セキュリティテスト」に決定しました! 対象4製品のQAメンバー、及びセキュリティテスト専門メンバー計8名をパネラーとしてパネルディスカッションを行います。なお、LT/パネルディスカッションは、9月から12月にかけて毎月1回開催することにしました。テーマは都度検討予定です。 「セキュリティテスト」に至った背景 テーマについては、ブレーンストーミング形式で出し合いました。 東京-松山間

    QAエンジニアのAgile Testing vol.2 - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2018/10/06
  • さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ

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

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

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

    サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2018/08/08
  • SAML認証ができるまで - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Slashチームの渡辺です。 Slashチームでは、ユーザー管理や認証周りなどの、cybozu.comの各サービスに共通する機能を開発しています。今回は、3月にリリースされた、SAML認証を用いたシングルサインオン機能1についてお話させて頂きます。cybozu.comでのSAML認証の概要にくわえて、それらの機能をどのように設計・実装していったか、という誰も興味ないニッチな話題を扱います。 SAML2 って? 「SAMLなんて聞いたこと無いけどなんとなく興味があるぞ!!」という物好きな方のために、SAMLの概要とcybozu.comでの利用について、簡単に説明します。そんなものは既に知っているというSAML猛者な方は読み飛ばして頂いて構いません。 SAMLはSecurity Assertion Markup Languageの略で、OASIS3によって策定された、異なるセキュリ

    SAML認証ができるまで - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C

    Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2018/01/10
    “CodeCacheFlushing”
  • x86/x64における小数から整数への丸め処理命令の変遷 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、サイボウズ・ラボの光成です。 今回は小数を整数に丸める処理に関して、x86/x64における命令がどのように変わってきたかを紹介します。 C++における小数から整数への変換ルール まずC++における浮動小数点数型(float, double)を整数型(int, int64_tなど)に丸めるルールをおさらいしましょう。 floating-integral conversionsによるとその変換では小数点部分を取り除きます。 つまり1.5, 2.3, -2.9をintにキャストするとそれぞれ1, 2, -2になります。 なお整数型に入りきらないときの挙動は未定義です。 4種類の丸め規則 x86の浮動小数点数を扱うFPUは丸め処理のモードを4種類持ちます。 これはIEEE標準754の丸めモードの規則に従ったものです。 最近接丸め(round to nearest(even) : RN)

    x86/x64における小数から整数への丸め処理命令の変遷 - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2017/08/16
  • 「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの@yokotasoです。 3月11日にBattle Conference U30 というイベントでお話をさせていただきました。 準備がてら作成したディスクリプションを公開します。 キーノートはSpeakerDeckからどうぞ!こちらも参考にしていただければ、嬉しい限りです。 では、どうぞ! 障害にすてるところなし サイボウズ株式会社の横田です。 「障害に捨てるところなし」というタイトルで少しお話させていただきます。お手柔らかによろしくお願いします。 運用障害の話 まずはじめに、今回のお話をするにあたりまして 運用障害でご迷惑をおかけしたみなさま、大変申し訳ありません。 より快適に利用いただけるサービスを目指しまして、対策・改善をおこなっております。 これからも、弊社製品をよろしくお願いいたします。 クラウドの規模と稼働率 障害の話をする前に、サイボウズの

    「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ
    hiroomi
    hiroomi 2017/03/14