タグ

ブックマーク / thinkit.co.jp (267)

  • GitHubがCI/CDソリューションを発表。GitHub Actionsによる実装

    ソースコードリポジトリーサービスのデファクトスタンダードと言っても良いGitHub。その日法人であるギットハブ・ジャパン合同会社が、GitHub上で実装されたCI/CDソリューションGitHub Actionsに関する説明会を実施した。GitHub Actionsは、2018年のGitHub Universeで発表されたGitHubのワークフローを実装するための仕組みだ。 GitHub Actionsは発表の当初から「ワークフロー」というキーワードから連想される「CI/CD」領域への応用が噂されていたと言える。筆者は2018年11月に開催されたGitHub Universeにおいて、製品担当のVPに「GitHub ActionsはCI/CDツールになるのか?」という質問を行っていた。これに対しての回答は「YesでもありNoでもある」というものであった。 そもそもGitHub社内では「Sc

    GitHubがCI/CDソリューションを発表。GitHub Actionsによる実装
    lizy
    lizy 2019/11/12
  • クラウドネイティブなプログラミング言語Ballerinaとは?

    CNCFがホストしたWebinarで紹介された、クラウドネイティブなインテグレーションを目的とした言語Balerinaとは? 現在、モノリシックなソフトウェアから、コンテナを中心としたサービスが連携するマイクロサービスなシステムへの移行が進んでいる。クラウドネイティブと呼ばれるようなマイクロサービスのシステムでは、コンテナは入れ物でしかないし、Kubernetesはそれを協調させるためのスケジューラーとして、最終的に複数のコンテナが稼働することで突然のアクセスのピークへの対応や、エラー処理を全体として担保することが要点になる。Kubernetesが選ばれるのは、それらの変動に対して基機能として対応できる部分が評価されているからだろう。しかし一部のシステムが稼働していない場合の処理、例えば一定時間のリトライを制御するサーキットブレーカーをどの部分で実装するのか? などに関しては、まだ各々が

    クラウドネイティブなプログラミング言語Ballerinaとは?
    lizy
    lizy 2019/01/07
    cloud(microservice?)向けDSLみたいなものなのかな
  • コマンドラインツールを用いずにCI/CDを行うGitOpsとは?

    DevOpsをさらに推し進めた「GitOps」という開発手法が、KubeCon+CloudNativeConが紹介された。 KubeCon+CloudNativeConではKubeflowやIstioなどの多くのプロジェクトが紹介され、まるでKubernetesのエコシステム展覧会と言ってもいいほどだ。その中から今回は、WeaveworksのCEO、Alexis Richardson氏が提唱するGitOpsについて紹介したい。Richardson氏は、Cloud Native Computing Foundation(以下、CNCF)のTechnical Oversight Committeeのチェアも務めている人物だ。 Richardson氏は、クラウドによってDevOpsへの流れが生じたと語り、その先にあるのは「Push Code, Not Container」とあるように開発者が「コ

    コマンドラインツールを用いずにCI/CDを行うGitOpsとは?
    lizy
    lizy 2018/06/08
    システムのあるべき姿を定義したファイルをgitに入れるまでやったら、その状態への遷移は自動的に行われる仕組み
  • オープンでロックインなし 業務でKubernetesを使うための“最高の仕事道具”とは

    4月19日に開催された「Japan Container Days v18.04」カンファレンス。「今こそKubernetes。最高の仕事道具で使いこなそう」のセッションでは、日アイ・ビー・エム株式会社 IBM Cloud事業部の斎藤和史氏が、これから業務で「Kubernetes」を利用するビギナー向けに実際の構築や運用で必要になることと、そのためのツールを紹介した。 「オープンテクノロジーでベンダーロックインなし」が大前提 斎藤氏は、Kubernetesを活用するまでの課題として「学習コスト」「Kubernetesの周りで必要になるもの」「エンタープライズでどう適用するか」の3つを挙げた。 学習コストについては「勉強するしかないが、最近では多数のベンダーがKubernetesをサービスとして提供していることから、構築などを一から勉強する必要はなくなっている」と斎藤氏は語った。 次の、K

    オープンでロックインなし 業務でKubernetesを使うための“最高の仕事道具”とは
  • Kubernetes、PaaS、Serverlessのどれを選ぶのか? 機能比較と使い分けのポイント

    4月19日に開催された「Japan Container Days v18.04」カンファレンス。「『コンテナ疲れ』と戦う k8s・PaaS・Serverlessの活用法!」のセッションでは、Pivotalジャパン株式会社 Platform Architectの草間一人氏が、自前のKubernetesプラットフォームとPaaS、Serverlessの比較と使い分けについて解説した。 「コンテナ疲れ」はコンテナ技術の抽象度の低さから 草間氏はまず、コンテナ技術が面白くてわくわくする一方で、辛い面もあるということを取り上げた。具体的には「美しいDockerfileを書いていたら半日が過ぎていた」「イメージサイズが大きくなりすぎて改善するのに2日かかった」「社内にプライベートリポジトリ立てて苦労」「Kubernetesの独自の概念を教えるだけで○週間かかる」……といった例を紹介した。 また、草間氏

    Kubernetes、PaaS、Serverlessのどれを選ぶのか? 機能比較と使い分けのポイント
  • パイプラインベースのCI/CDツール、Concourseとは?

    CI/CDにおける「Jenkinsおじさん問題」を解決するConcourseとは? 開発をリードするPivotalのエバンジェリストにインタビューし、その特徴や背景を聞いた。 モダンなソフトウェア開発においては、ウォーターフォールモデルではもう限界だと叫ばれて久しい。その理由として、「素早くソフトウェアをリリースできない」「変化に対応できない」などが挙げられる。そこで素早く開発して細かくリリースするアジャイル開発がもてはやされている。また開発と運用をひとつながりのプロセスとして素早く開発と実装を回すDevOpsも、NetflixAmazonなどで実際に利用されていることは業界では常識だ。しかしソフトウェアの開発プロセスをもう少し詳しく見るとコーディングからビルド、テストなどのプロセスをいかに自動化するか? の部分に大きな進展があることに気づく。いわゆる継続的インテグレーション(CI)、継

    パイプラインベースのCI/CDツール、Concourseとは?
  • Ansibleのインストールとサンプルコードの実行

    Ansible2.0をCentOS 7.2環境へインストールし、サンプルのコマンドやPlaybookを実行できるところまで解説します。 連載の第2回、第3回では、Ansible基礎編と題してAnsibleの導入方法や簡単な使い方について詳しく解説していきます。 第2回では、Ansible2.0のインストール手順と簡単なサンプルコマンド、Playbookを実行するまでの手順について紹介します。 Ansibleについて 前回の記事で紹介があったとおり、Ansibleは指定されたコマンドや、複数のコマンドをまとめて記述したPlaybookを用いて、対象となるサーバーの操作を行うことができます。これは、Ansibleサーバーから操作対象サーバーに向けてSSH接続することで処理を実行しています。 前提環境 今回の環境は、下記のとおりです。 環境ではCentOS 7.2を用いて、ソフトウェアの選択

    Ansibleのインストールとサンプルコードの実行
  • Pivotal Lab、ソフト開発にはプロジェクトマネージャーではなくプロダクトマネージャーが必要

    EMC連合の企業としてPivotalといえばCloud FoundryというPaaSの開発元として有名なのかもしれないが、実際にはエクストリームプログラミングやペアプログラミング、そしてDevOpsを実践している企業なのはソフトウェア開発を行っているエンジニアには有名なことだろう。Pivotal LabはPivotalの中でアジャイル開発、ペアプログラミングを啓蒙するトレーニングの場として広く企業に門戸を開けている。そんなPivotal Labのサンフランシスコオフィスを訪問して、DevOpsを実践するコツをきいてみた。 今回、対応してくれたのはアソシエイトディレクターオブエンジニアリングのジェーアール・ボイエンス(JR Boyens、Associate Director of Engineering)氏だ。 まず最初にPivotal Labのオフィススペースをツアーして一番驚いたのが、ソ

    Pivotal Lab、ソフト開発にはプロジェクトマネージャーではなくプロダクトマネージャーが必要
  • 自動化・省力化のためのSerf入門

    Serfが必要とされる理由 複数のサーバ環境上で、一斉にセットアップ用やデプロイ用のコマンドを実行したり、バージョン番号の確認を行ったりするためには、どのような方法が最適でしょうか。管理対象が数台程度であれば、毎回手打ちでSSHログインを実行し、コマンドを実行する方法もありでしょう。 しかし、その作業が同じ手順の繰り返しである場合や、システムにおける作業対象が十数台~数百台まで増えたとしたらどうでしょう? 人の手で行うとなると、作業にかかる時間が増える上に、作業ミス発生のリスクも高まります。ミスを防ぐためには、チェックの仕組みも必要となります。たとえそれが単純な作業だったとしても、システム全体としては非常に面倒なものになりがちです。 このような問題を解決するためのツールとして、parallel-sshが挙げられます。parallel-sshは名称の通り、ある環境上から対象となるサーバ群に対

    自動化・省力化のためのSerf入門
  • インフラの構成管理を自動化するTerraform入門

    Terraformとは? これまでの連載で扱ってきたVagrantやPackerは、どちらかというと開発者向けのツールでした。それに対して今回紹介するTerraformは、インフラを構築するためのツールであり、開発者だけなく、運用担当者でも必要となりうるツールです。 TerraformはHashiCorpにより、オープンソースとして公開され、GitHub上で開発が進められています。ドキュメントでは、Terraformについて「インフラの構築・変更・バージョン管理を安全かつ効果的に行うためのツールです」と紹介されています。 Terraformは、Amazon Web Services(以下、AWS)だけでなく、DigitalOcean、GoogleCloud、HerokuDocker、OpenStackなどの、様々なインフラに幅広く対応しています。 現時点では、それぞれのクラウドが提供する

    インフラの構成管理を自動化するTerraform入門
  • コード化でDevOpsを支えるHashiCorpのツールと開発背景

    HashiCorpとは? 「HashiCorp」という名前を知らなくても、Vagrantというツールの名前なら聞いたことがある、もしくはすでにお使いの方もいらっしゃるのではないでしょうか。Vagrantは仮想化された開発環境を簡単に立ちあげられるため、開発者サイドにとってはおなじみのツールです。このVagrantを開発したMitchell Hashimoto氏が創業した会社の名前がHashiCorpです。 HashiCorpが提供するツールは、開発者向けのものだけでなく、運用担当者向けのものもあります。連載初回の今回は、HashiCorpとは何であり、どのようなツールを、どのような考えで提供しているのかを紹介します。 HashiCorpの沿革 きっかけはVagrantの開発がスタート地点でした。Mitchell Hashimoto氏が2010年にVagrantバージョン0.1をリリースした

    コード化でDevOpsを支えるHashiCorpのツールと開発背景
  • Docker向けの軽量Linux OS 主要3種を比較する

    Dockerをより効率的に利用するための技術 通常Dockerを利用する場合は、Linux OSが稼働するサーバ上にDockerのパッケージを追加でインストールすることで、環境を構築している。当然ではあるが、Linux OSのインストール時に「最小限の構成」を選んだとしても、Dockerの稼働には必要のないパッケージもインストールされている状態となる。 Dockerを利用する最大のメリットは、「少ないリソースでたくさんのコンテナ(=実行環境)を起動させられる」ことである。たとえ最小限の構成であってもDocker実行環境としては、多くのリソースが無駄に消費されていることとなる。さらに不要なサービスが実行されていることにより、Dockerで利用しない機能に対してもセキュリティー上のリスクが残ってしまうことになり、不要な運用作業が発生することとなる。 そのため、Dockerに対してもハイパー

    Docker向けの軽量Linux OS 主要3種を比較する
  • 開発環境の構築・共有を簡単にするVagrant入門

    Vagrantとは? Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。 VagrantとAtlasの関係 Vagrantは、アプリケーションやシステム開発のバックエンドを簡単にパッケージ化し、共有するためのツールです。このパッケージ化された環境を、「box」と呼ばれる単位で管理します。このboxには、標準で対応しているVirtualBoxをはじめ、AWSなどの各種マシン・イメージに対応したプラグインを介してアクセスします。またboxを共有するための機能としてAtlasという名前のインターネット上のサービスが提供されています。なお、Atlasは以前VagrantCloudと呼ばれていたものですが、現在はHashiCorpの他のツール(Packer、Terr

    開発環境の構築・共有を簡単にするVagrant入門
  • CentOS 7のログ管理「journald」

    今回は、CentOS 7で採用されている新しいログ管理の仕組み「journald」を取り上げます。またjournaldとrsyslogとの連携やシステム全体に渡って様々なログを収集するsosreportについても簡単に触れます。 CentOS 7におけるログ機構「Systemd Journal」を使いこなす CentOS 7は、ログの管理を行う新しい仕組みが導入されています。従来のCentOS 6系では、長年親しまれてきたsyslogがベースのログ管理手法が採用されていましたが、CentOS 7からは、ログに関するより細かい指定や操作を行うことができるようになっています。CentOS 7でのログ管理は、systemdが担当しています。サービス名は、「systemd-journald.service」です。一般的には、「journald」と呼ばれています。CentOS 6までのsyslog

    CentOS 7のログ管理「journald」
  • PostgreSQLのログをFluentdで収集する

    データベースの運用管理にログの情報は不可欠ですが、オープンソースのDBMSであるPostgreSQLが出力するログは、直接取り扱うのに適した形式とは言えません。そこで記事では、オープンソースのログ収集ツールであるFluentdを使って、PostgreSQLのログを運用管理に活用しやすい形に加工する方法を紹介します。 PostgreSQLの運用管理に使う稼働統計情報とログ データベースを安定稼働させるには、データベースを健全な状態に保つ運用管理が必要不可欠です。データベースの運用管理には一般的に死活監視、リソース監視、性能分析、チューニング、バックアップといった項目が挙げられますが、まずは監視によって正しく現状を把握することが、運用管理の第一歩と言えるでしょう。PostgreSQLで監視に使える機能には、稼働統計情報とログがあります。稼働統計情報はPostgreSQLの様々な稼働情報を蓄積

    PostgreSQLのログをFluentdで収集する
  • Serverspecテストコード実例の紹介とコード記述の際のポイント

    第1回では、Serverspecの概要とテストコードを書くまでの事前準備についてご紹介しました。第2回では、より具体的な環境を例として、実際に即したServerspecのテストコードの書き方をご紹介します。テストコードを記述する際のポイント等をまとめ、テストコードの記述をスムーズに実施できるようになることを目的として解説します。 LAMP構成のシステムのテスト 具体的なシステムとして、LAMP(Linux、Apache HTTP server、MySQLPHP)構成の環境を想定し、この環境に対するテストコードの一例を紹介します。 LAMPの構成を採るシステムの例として、今回は統合監視ソフトウェアのZabbixを稼働させるための環境を取り上げます。LAMP環境のベースとなるLinuxは、CentOS 6.5を想定しています。 稼働状況のテストとして、大まかに以下の4つの部分に分けて各部分の

    Serverspecテストコード実例の紹介とコード記述の際のポイント
  • VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー

    Virtual SAN(VSAN)はVMwareの目指す「Software-Defined Storage」を実現するための主となるテクノロジです。VSANはVMware vSphereが構成されたESXiホスト上に搭載されているローカルディスク、フラッシュデバイスを抽象化しそれをプール化します。プール化したローカルディスクは分散型共有ストレージとして利用することができます。これにより物理ストレージをなくしてvSphere HAやvMotionなどの機能を実現することが可能です。VMwareがストレージの抽象化技術として今後注力している技術の1つです。 VSANの特徴は各ESXiホストに搭載されている内蔵ストレージを集約し、1つの分散型共有ストレージとしてESXiホストが利用することです。ESXiホストに搭載されている内蔵ストレージはSASやSATAといった大容量かつ低価格なハードディスク

    VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー
    lizy
    lizy 2014/04/04
    ESXiが3台以上あるだけで、マシン独立のSAN的なストレージを構築できる?
  • Node.jsとExpress.jsで開発したWebアプリをeXcaleで動かす

    はじめに 記事では、注目を集めるNode.jsを使ったWebアプリ開発と作成したアプリケーションを、国産PaaSの1つで筆者が開発に携わっている「eXcale」を利用して公開する方法を解説していきます。 eXcale概要 昨今、各種クラウドサービスの中でもPaaSは話題性や注目度が高く非常に盛り上がりを見せています。米国の代表的なPaaSとしてForce.com/HerokuSalesforce)やWindows Azure(Microsoft)、国内でも2012年に入って各社から相次いでサービスが開始されています。 eXcaleはTIS株式会社が2012年10月よりβサービスとして開始したプラットフォームサービスで、開発者はアプリケーションを公開するためのサーバやネットワークを考えることなくインターネット上にアプリケーションを簡単・迅速に公開することが可能です。eXcaleの特徴とし

    lizy
    lizy 2013/01/22
    node.jsが動く国産PaaSがあるのね
  • youRoomとPivotalTrackerではじめる無駄のないコミュニケーション

    前回はiPhoneアプリ「AnkiBlank」をご紹介した後、アプリを開発し続けながらサーバ側も開発し続ける上での課題を挙げ、その解決策として適切なツールを使っていく必要があるということを説明しました。今回はコミュニケーションツールとして使用したyouRoomとPivotalTrackerについて、より詳細にご説明してまいります。 youRoomとは youRoom(http://youroom.in/)はグループでの情報共有と共同作業を支援するツールです。ソニックガーデンではyouRoomの開発/運用を行う傍ら、youRoomをフル活用して様々なプロジェクトを推進しています。 youRoomをコミュニケーションの要としている理由として、以下が挙げられます。 チャットと違い、非同期であること コメントが構造化されること タスク管理と統合されていること ここからは、それぞれの理由について説明

  • これまで企業向けSIに関わってきたエンジニアのためのサバイバルガイド

    イントラの業務システムを作るSIが姿を消しつつある様子を、タイトルにも言う「SIの終焉」という少々刺激的な言葉で説明してきたのだが、果たしてそこに長年従事してきた企業やエンジニアその人たちは今後どうしていけばいいのか?最終回はさらに放談していこうと思う。 放談というのは、あくまで私の独善的な視点であるためだ。私は昔にエンジニアだったこともあるが、今はまったくエンジニアと名乗る資格は無い。すでに5年近く現場から離れてしまっている。一方で多数のエンジニアを雇用する立場ではあって、簡単に言うと「スーツ」。想定するこの記事の読み手に対しては仮想敵の立場だ。つまり、今回は大概のエンジニアにとって不愉快なことを述べようと思っている。 企業側の視点でエンジニアリソースの性質を考える 今でも職人気質にて燃え盛るデスマーチ案件のリカバーに飛び込んでいったり、難しいマルチベンダー案件にて、エンドユーザー側の立