Monthly Archives: July 2023

OpenStreetMapの未来にチカラを: OpenStreetMap Foundation サイト・リライアビリティ・エンジニアによる1年間の改善作業

. ちょうど1年前、私はOpenStreetMapを支えるテクノロジーとインフラの信頼性とセキュリティを強化することを目標に、OpenStreetMap Foundation (OSMF) に参加しました 。この1年間、私はボランタリの献身的なチームであるオペレーション・ワーキング・グループと密接に協力してきました。私たちは共に、作業プロセスや文書の改善において大きな進歩を遂げ、私達の集団としての有効性強化に到達することができました。私はグループによる支援とコラボレーションに極めて感謝しており、OpenStreetMapの未来のための強固な基盤を構築するため、私たちが実施しためざましい前進を目にできることを嬉しく思っています。

以下で、その内容について少し詳しく説明したいと思います。冗長性、監視、アクセス、およびドキュメンテーションの改善、タイルレンダリングのためのクラウドサービスの利用を拡大、AWSからの寛大なスポンサーの活用、セキュリティ対策の改善、開発環境の刷新を実施しました。

昨年の作業に関してより詳しい話を聞きたい方は、 State of the Map 2022での講演  とGeoMobポッドキャストでのインタビューをご覧ください。そして、みなさんからの連絡も大歓迎です。  osmfuture@firefishy.comまでメールをください。

2022〜2023年におけるサイト・リライアビリティの詳細

私達のサーバのソフトウェア管理

小規模なインフラコンポーネントのコンテナ化(GitHub Actions for building)

私は “Configuration as code” 設定の一環として、以前はchefコードベースの特別メソッドを使用して構築されていた、小規模なサイトの多くをコンテナ化しました。また、ビルドのステップをGithub Actionsに移動させました。今後のコンテナ(”docker”)ベースのプロジェクトに必要となる基盤を構築しました。これらは、OSMFインフラストラクチャでホストされる、私たちの最初のコンテナ/Dockerベースのプロジェクトです。

chefベースのコードは、よりシンプルに、より安全に、そしてより速くデプロイされるようになりました。

chefテストの改善(OPSオンボーディングドキュメンテーション)

. 私たちは、すべてのサーバーとその上で使われるソフトウェアのインフラ(構成)管理にchef.io を使用しています。昨年、chefテストのキッチンテストが拡張され、最新のApple Siliconマシンでも動作するようになりました。テストは現在、CI/PRプロセスの一部として確実に実行されています。テストを行うことで、私たちが行う構成変更に対し、品質管理と保証が加えられます。ARMサーバのハードウェアに移行する前にテストキッチンを使用することができたこともあり、ARMサポートの追加はより簡易になりました。

信頼できるテストがあれば、新しいchefのコントリビュータが参加しやすくなるはずです。

ネットワークインフラの強靭化

アムステルダムのネットワークアップグレード(新しいスイッチ、デュアルリダンダントリンク。ダブリンにも順次反映予定)

アムステルダムのネットワークはこれまで、冗長性を確保するべき箇所に対応できていませんでした。CiscoのSmall Business装置が使われ続けており、ハードウェアの問題で予期せぬ停電に見舞われたこともありました。 また、この機器は将来のアップグレード作業の足かせとなっていました。そこでオペレーショングループは、ダブリンのデータセンターで標準的に使用していたJuniper製のハードウェアに交換することを決定しました。ライブ環境でのダウンタイムを最小限に抑えながら(<)、機器を交換することができました。

ダブリンとアムステルダムの両データセンターでは、標準化された、よりセキュリティの高い構成が採用されています。各サーバーは、冗長性とパフォーマンスを向上させるため、完全に結合されたリンクを持つようになりました。スイッチは、電源とネットワークの冗長性が向上しています。来月には、完全な耐障害性のアップリンクの設置(発注済み)が予定されています。

両データセンターへの帯域外アクセス(4Gベース)

私は、各サイトに帯域外アクセス装置を構築し、設置しました。このデバイスは、シリアルコンソールを使ってネットワークと電源管理機器に直結されています。帯域外デバイスは、プライベート4Gネットワーク(1NCE)への弾力性のある4Gリンクを持っています。 帯域外アクセスデバイスは、冗長電源と4xシリアルコネクタを備えたカスタムメイドのRaspberry PIです。

メンテナンスを容易にするインフラストラクチャの文書化(ラック/電源)

データセンターの各ラックユニット、電源ポート(Power Distribution Unit)、ネットワーク接続、ケーブルをドキュメント化しました。これにより、サーバの管理が容易になり、ミスが減り、リモートハンド(外部サポートプロバイダー)に適切な指示を出すことができるようになり、私たちの代わりにチャンスを作ってくれるようになりました。

Oxidizedの利用(ネットワーク機器の可視化)

ネットワークや配電の設定をgitに保存し、変更点を報告するようにしました。これにより、変更の見通しが良くなり、セキュリティも向上しました。

構成は継続的に監視され、サイト間で構成がずれた場合でも、解決が容易になりました。

Terraform Infrastructure as Code(管理・再現性の向上)

TerraformはInfrastructure-as-Codeツールです。現在リモートモニタリングサービス(statuscake)の管理に使用しており、AWSとFastlyのインフラの管理にも導入する予定です。

以前は、これらのコンポーネントはすべて、それぞれのウェブUIを使用して手動で管理されていました。Infrastructure-as-Codeは、運用チームが共同で変更作業を行うことを可能にし、可視性を高め、変更の再現性やロールバック処置を容易にします。

私たちは、dnscontrolコードを使用して、すべてのドメインのDNSを管理しています。 CIテストを追加して外部との連携を強化するなど、昨年から少しずつ改良を加えています。

クラウドサービスの利用拡大

レンダリングインフラにAWSを使用。AWSのコストを最適化を実施。セキュリティの向上。バックアップの改善。さらなるパイプラインの追加。

オペレーションチームは、数年にわたりAWSの利用を徐々に増やしてきました。私は、AWSのベストプラクティスガイドラインに従って、請求管理とセキュリティを改善するために、AWS組織モデルを使用し、複数の用途別AWSアカウントを構築してきました。レンダリングインフラを拡張するために、AWSのスポンサーシップを惜しみなく獲得しました。私たちは、AWS Graviton2 EC2を使用して、ARMアーキテクチャを使用した実験的な新しいレンダリングインフラを構築しました。
これまでARMベースのサーバーを使用したことはありませんでした。chef(configuration as code)の改良の一環として、Apple Silicon(ARM)のローカルテストサポートを追加していましたが、ARMサーバーに必要な互換性をchefに追加するために必要なのはわずかな作業だけでした。

OSMタイルレンダリングスタックを実行するためのAWS Graviton2 EC2インスタンスのパフォーマンスには感銘を受けました。 また、AWSでレンダリングスタックをさらに改善するために、オンデマンドスケーリングとインスタンスのスナップショットをテストしました。
データバックアップ目的でのAWSの利用も増加しています。

セキュリティの向上

昨年、多くの一般的なセキュリティが改善されました。例: サーバーへのアクセスはsshキーで行うようになりました(パスワードによるアクセスは無効になりました)。また、運用チームが使用していたgpgベースの特注パスワードマネージャーから、gopass  (https://www.passwordstore.org/  の機能豊富なバージョン)に移行しました。gopassは、鍵の管理とパスワードストアの共有を改善します。

さらに、インストールされているコンポーネントを減らし、インラインアップデートを無効にし、XMLRPCアクセスを無効にすることで、WordPressインスタンスのロックダウンを強化しました。また、アクセス権を持つユーザーを減らし、使用されていないアクセス権を削除する作業も行っています。

改善を要する脆弱性に関し、主要な領域をドキュメント化(冗長性、セキュリティ、その他)

技術的な脆弱性についての文書化: 改善が必要な脆弱性の主要な領域(冗長性、セキュリティなど)に関する報告書を作成しています。この報告書をもとに、将来的に投資を集中し、リスクへの暴露をさらに減らしていく予定です。

開発者環境の刷新

新しい開発サーバ

昨年、すべての開発ユーザを新しい開発サーバへ移行させました。旧サーバーは耐用年数(~10年)を迎え、容量(CPUとストレージ)の限界に達していました。新しいサーバはアムステルダムのデータセンターに直接配送され、現地作業員によって物理的なラッキングが行われた後、私が作業を行い、すべてのユーザーとプロジェクトを移行しました。

Subversionの引退

私は昨年、 古いsvn.openstreetmap.org のコードリポジトリを引退させました。このコードリポジトリはプロジェクトの発足当初から使われており、プロジェクトにおけるコード開発の豊かな歴史が含まれていました。私は reposurgeon をカスタマイズした設定で使用し、 svn コードリポジトリを git に変換し、完全な貢献履歴を維持したまま、以前の貢献者(350人以上)をそれぞれの github や関連アカウントに正しくリンクするよう注意を払いました。 古いsvnのリンクは維持され、現在はgithubのアーカイブにリンクされています https://github.com/openstreetmap/svn-archive https://github.com/openstreetmap/svn-archive

フォーラムの移行

旧フォーラムの移行では、100万件の投稿と16年分の投稿をdiscourseに移行しました。 すべての投稿は、fluxbbのマークダウンからdiscourseのマークダウン記法に変換されました。すべてのアカウントを統合し、  認証をOpenStreetMap.org の”シングルサインオン”ベースの認証に変更しました。

すべての古いフォーラムのリンクは、ユーザー、カテゴリー(国など)、スレッドトピック、そして個々の投稿など、正しいコンテンツにリダイレクト(インポートされたものへのリンク)されました。

OSMにとって State of the Map カンファレンスが大切な理由

State of the Map(SotM)カンファレンスに参加されたことがある方なら、SotMはGISや地理空間に関する最高の知識、スキル、トレーニングが提供される場であることをすでにご存知でしょう。SotMはその上、楽しく魅力的な社交の機会がたくさんある素晴らしいネットワーキング・イベントでもあります。もしあなたがOpenStreetMapコミュニティに参加したばかりで、まだSotMに参加したことがないのであれば、あるいはSotMのスポンサーになろうと考えている会社の一員で、チームを派遣して参加しようと考えているのであれば、この投稿はまさに、そんな方々のためのものです。

Image credit: Parker Michels-Boyce Photography. Please tag @OpenStreetMapUS in social media posts when using these photos.

SotMとは?

OSMerは、地図データの改善という共通の目標に向けて、コミュニティを築き、ツールやリサーチを共有し、お互いにネットワークを作る手段として、State of the Mapでの会合を毎年開催しています。 その規模は様々で、ローカル、リージョナル、グローバルに組織されていますが、その目的はいつも同じです。  ローカルとリージョナルのSotMは地域コミュニティによって組織され、グローバルSotMはOSM財団によって組織されます。 

State of the Mapカンファレンスは、OSMマッパー、コミュニティ活動家、オープンソース開発者、大学や学術機関の研究者、デザイナー、地図製作者、民間企業や公的機関の技術専門家などの架け橋となります。

議題となるトピック

トピックの範囲は、コミュニティと同様に多岐にわたります。プレゼンテーションの種類は、5分間の”ライトニング・トーク”から15~20分のプレゼンテーション、75分のワークショップまで様々な種類があり、トピックも、ウェブサイトやツールの開発、データ分析、人道マッピングなど、様々です。プレゼンターは地域コミュニティ、Youthmappers、HOTOSM、maplibre、FOSS4G、学界、その他の非営利団体、大小の企業に所属しています。

2022年にイタリアのフィレンツェで開催されたグローバルのSotMは、SotMで代表される情報やスキルの幅広さを示す良い例です。 セッションのタイトルの一部を紹介しましょう: “ベクトルタイルとしてのOSM Carto; OpenStreetMap派生データベースのイノベーション”, “小さな街のマッピング”,  “maplibre-rs: Rustを使ったクロスプラットフォームの地図レンダリング”、”10年目のiD Editor-これからの道筋”、”OSMを使ったアマゾンの森のリバーサイドコミュニティのマッピングにおける女性のリーダーシップ”などです。

これらはほんの一例です。  全プログラムプレゼンテーションの録画はこちらにあります。ポスター展示はこちら – はい、2022年のSotMでは、壁さえも知識に満ちてます! そして、こちらは学術的な講演発表の要約になります。

このようにして、SotMは地理空間技術、OpenStreetmap、フリーでオープンなソフトウェアやデータの未来に興味のあるすべての人へ、インスピレーションと知識を提供します。

OpenStreetMapコミュニティは1年365日、最高の世界地図を共に作り上げています。State of the Map USは、最高のコミュニティを構築するために、実際に数日間を共に過ごすチャンスです。 このイベントは、 多様なトピックと参加者が集まる、地理学におけるユニークな取り組みです。民間企業、個人の趣味家、学界、政府機関が一堂に会し、ネットワークを広げ、革新し、学び合うのです。

 
 –Maggie Cawley, Executive Director, OSMUS

State of the Mapカンファレンスへのスポンサリングが重要な理由

はい、その理由もまた、多岐に渡ります!

  • すべてのSotMで共有される専門知識は、OpenStreetMapの品質へ直接影響します。
  • OSMから利益を得ている企業は、データの帰属を表示するだけでなく、コミュニティをサポートするべきです。OSMFを通じたプロジェクトへの 寄付、SotMへのスポンサー、企業会員になること、ツールやデータを共有することは、感謝の循環を回すものです。
  • OSMFは素晴らしいリクルーティングの機会でもあります。GISと地理空間における最高の頭脳が一堂に会する場所が他にあるでしょうか?
  • プロフェッショナルとして成長する絶好の機会です。OSMを使って活動する他の会社とつながり、他のエンジニアやアナリストから学び、何十もの興味深い新しいツールやプロジェクトから刺激を受けることができます。
  • 企業の社会的責任を通じて、ブランドの認知度を高めることができます。より良い世界を作るために投資している企業に対して、顧客のロイヤリティが高いことはよく知られています。

SotMはあまりにも多く開催されており、ここですべてを紹介することは難しいのですが、最近の例をいくつか紹介します。

2023年に開催されるSotMへの支援

リージョナルのSotMとして4つの大規模なイベントが控えており、その全てがスポンサーを必要としています。

FOSS4G Oceania
Aukland, 2023年10月16〜20日: sponsorship prospectus

このカンファレンスはFOSS4GとSotMを1つのイベントに統合し、オセアニアのオープンソース地理空間への取り組みに焦点を当てます。このカンファレンスはオセアニア地域の地図作成者に、開発者とユーザーのグローバル・コミュニティへの接続機会を提供し、OSGeoとOpenStreetMap財団の支援を受けています。メルボルン、ウェリントン、スバで開催された前回のFOSS4G SotMオセアニアカンファレンスは圧倒的な成功を収めました:

  • メルボルンとウェリントンは完売し、各カンファレンスに250人以上が参加
  • 参加者はオセアニアだけでなく、カナダ、イギリス、アメリカなど14カ国以上から
  • 参加者には、GISの専門家、開発者、趣味者、人道支援活動家、政府機関などが含まれています

State of the Map EU
Antwerp,  2023年11月10〜12日:  sponsorship prospectus

このカンファレンスは、多様な人々が出会い、OSMの利用や改善のための知識や経験、計画を交換する機会を提供します。ヨーロッパをはじめ世界中から約400名の参加が見込まれています。この会議はハイブリッドイベントとして開催され、直接参加できない場合はライブストリームで追加参加することが可能です。

“State of the Mapは、プロジェクト全体の鼓動を最も身近に感じられる場所です。グローバルなSotMは世界中を駆け巡ることができますし、そうあるべきです! しかし、ヨーロッパに存在するあまりにも多くのマッパーとデータユーザーのために、大きなOpenStreetMapカンファレンスが2年連続ヨーロッパで開催されることは今後ないでしょう”

–Joost Schouppe, OSM Belgium, co-organizer of SotM EU 2023

State of the Map Asia
Bangkok, 2023年11月21〜25日: sponsorship prospectus 

昨年フィリピンで開催されて成功を収めたSotM Asiaは、今年、タイのバンコクで開催されます! アジア地域のみならず世界各国から300-500人の参加者を集め、OpenStreetMapやオープンデータツール、プロジェクト、課題、そしてアジアの多様な文化を紹介し、つながり、議論したいと考えています。

State of the Map Africa 
Cameroon, 2023年12月1〜3日: sponsorship prospectus

OSMアフリカはアフリカ大陸の国々におけるOpenStreetMap貢献者、利用者、支援者の地域コミュニティです。これにはマッパー、科学研究者、人道主義者、NGO、政府機関、中小企業、そしてアフリカ大陸内に事業を持つ、または支援するグローバル企業などが含まれます。このネットワークは、アフリカにおける地理空間データの質、完全性、持続可能性を高めるために、OpenStreetMap上でアフリカの完全かつ詳細な地図を成長させ、作成することを目的としています。