• Microsoft Inspire 2018に参加して感じたこと

    くらまねプロジェクトの湯川です。 2018年7月15日から19日にアメリカ・ラスベガスで開催されたMicrosoft Inspire 2018(Microsoftのパートナーイベント)に参加してきました。 弊社のドレッド(石原)と一緒に。 Microsoft Inspireとは? とても簡単に書くと、Microsoftの新年度の戦略などをパートナー企業のセールス&マーケティング向けに共有するイベントです。 期間中の午前中にCorenote(基調講演)、午後にブレイクアウトセッションが多数準備されています。 世界140カ国以上17,000人以上のパートナーが集まるイベントなのでパートナー間の交流も盛んに行われています。 Azure中心にCorenoteなどで話されたことをいくつか感想も交えて。 ちなみに、私自身は2015年から参加しているので今回で4回目の参加です。 ISAOとMicrosoftの関わりとしては、いわゆるクラウドインテグレーターとしてのAzure周りがメインとなっていますが、年々その辺りの話のボリュームが増えてきているという印象です。 今回の大メッセージとしては、クラウド化の初期ステージはクリアした、この調子でデジタルトランスフォーメーションを推進していこうぜ!と受け取りました。 Azure 93%成長 前年度に引き続き大きくビジネスが拡大した様子。 私の肌感としても1-2年前にAzureを使い始めたユーザーのコンサンプションが大きく伸びてきていたり、いわゆる大手企業がAzureを使い始めてきているという実感のある年でした。 Microsoftの売上1千億ドルくらい、Microsoftとパートナーで1兆ドルの経済圏 知ってはいましたが、あらためて大きな経済圏だなと思いました。 パートナーを含めた経済圏でいうと日本のGDP(国内総生産)の1/5くらいの規模、ちょうどインドネシアのGDPと同じくらい。 注力領域はこの5つ Modern life Modern workplace Business application Application & infrastructure Data & AI 前3つはOffice365とかDynamics365とかの話がメインで、日本で言われる「働き方改革」と近い内容という印象でした。 ISAOはAzureの領域を主な生業にしているので、Application & infrastructureとData & AI気になります。 去年度はGPUやSAPなどさまざまな用途に対応できるVMが増えてきたことや、DevOpsを後押しするAKSなどのサービス群、移行の際のツールが充実してきたこと、DBもSQLだけでなくOSS系の展開もひととおり出揃ったり、CosmosDBのようなAzure独自のDBサービスが出てきたりといろいろ積極的な展開があったように思います。 また、Microsoftが長年研究開発してきているCognitive系のサービスについては、まさにテクノロジーで今までできなかったことをできるようにしてきていてワクワクします。 ISAOとしてもPoC(概念実証)フェーズが中心ではあるものの実案件が増えてきており、今後より注力していきたい領域です。 IoT系の話も勿論あり、50億ドル投資するそうです。 個人的に気になったことはEOS関係、ビジネス的にはかなり…! Microsoftの想い スマートになりたい人ではなく、人々をスマートにしたい人にMicrosoftにジョインしてほしい Corenote内で最高経営責任者(CEO)のSatya Nadella氏が発言した言葉です。 私自身ここ4-5年ほどMicrosoftとお付き合いしていますが、この会社のカラーをうまく表現している秀逸なコメントだなと感じました。
    ...
  • AWSエンジニア、Microsoft Build 2018に参加する〜その2〜

    こんにちは、インフラエンジニアの赤川です。 引き続きBuild 2018に参加しています。 初日と本日はKey Noteがあったのですが、Azureだけに留まらず、HoloLensやMicrosoft製品、Visual Studioなどのアップデートも盛り込まれており、特にOffice製品周りは聞いていてもちょっと良くわからない・・となることが多かったです。 ちなみに本日一番の盛り上がりはnotepad(メモ帳)のLF改行コード対応、でした。 Key Note後はセッションやWork Shop、展示会場が用意されています。 本日はContainerサービスについて両クラウドの比較をしてみたいと思います。 Container Key Noteやセッションリストを見てもContainer、とりわけkubernetesの文字が目立ちました。 AzureのContainerサービスをこちらから確認すると、 Azure Kubernetes Service (AKS) Azure Container Instances(ACI) Azure Container Registry(ACR) Azure Service Fabric Azure App Service Azure Batch があるようです。 一方AWSもこちらから確認すると、 AWS Fargate Amazon Elastic Container Service(ECS) Amazon Elastic Container Service for Kubernetes(EKS) Amazon Elastic Container Registry(ECR) が上げられていました。
    ...
  • Microsoft Build 2018 2日目レポート

    こんにちは。 インフラエンジニアの橋本です。 (あれ、このアイキャッチ見たことあるぞ。) 引き続きMicrosoft Build 2日目に参加しています。 昨日とは違いレジストレーションがないので、比較的余裕を持って入ることができました。 Keynote2日目はMicrosoft 365についてです。 大きくChannel1〜4に分けられていて、それぞれは以下のようでした。 ch1 - Windowsの新しい発表について ch2 - Windows開発者向けの発表について ch3 - Office開発者向けの発表について ch4 - MicrosoftGraphについて 速報レベルでのまとめはすでにこちらのブチザッキさんのこちらのブログにまとめられていたため、そちらを参照ください。 今回はBuildに参加して気づいたことをレポートしてみたいと思います。 気候について シアトルは位置的に、北海道の上、南樺太と同じくらいの緯度に位置します。 そのため、年間を通じてあまり気温は高くなく、今回の5月でも12℃〜24℃と過ごしやすい気温でした。 日照時間は日向に出れば暑く、影に入ればちょっぴり寒いくらいの温度でした。 降水量は年間で154日は降るらしく、3日に1度は雨が降るようです。本日も通り雨がありました。 会場について 複数のホテルに会場があったAWSのre:inventとは違い、Buildは会場が2箇所にあります。 Keynoteが開催されたワシントン州会議場、そこから歩いて3分ほど先にあるシェラトンホテルです。 ワシントン州会議場では技術セッション、Keynote、EXPOがメインで、シェラトンの方は技術セッション、ワークショップがメインのようです。 セッションについて まず参加についてですが、先着順で、人気のセッションはドアがクローズされて入れないということが1度ありました。 メインとなるセッションは早めの行動を心がけましょう。 次に、内容についてですが、他のイベントや国内のイベントと同じく、前に登壇者がいて、資料をモニターに映します。 re:inventの時は翻訳機や音声のリアルタイム翻訳アプリがありましたが、ちょっと見当たりませんでした。 代わりに、一部のセッションにて、専用のURLへ接続すれば、選択した言語の字幕のみ表示されるものがありました。 翻訳のレベルは昔のGoogleのような感じです。 開始前に表示されるURLへ接続すると、登壇者の発表が字幕のみ表示されます。 休憩所について セッションのある各階にあります。 また、Expo会場の手前に広場があり、電源つきのソファ、マッサージエリア、決まったお題に対してフリー参加で話ができるTalkShopというようなコーナーなど、リラックスできるものから楽しめるものまで様々でした。(うさぎやポニーと触れ合える場所までありました) うさぎやポニーと触れ合えます。 手前のテーブルの下に電源プラグが。 食べ物、飲み物について セッションのある各階に飲み物が置いてあります。 - スターバックスのコーヒーがフリーで飲める(ミルク入れ放題) - ミネラルウォーター、コーラ、ダイエットコーラ他、アメリカで飲みそうなジュース類はほぼある
    ...
  • AWSエンジニア、Microsoft Build 2018に参加する〜その1〜

    こんにちは、インフラエンジニアの赤川です。 GW明け(正確には最終日)からアメリカのシアトルに来ています。 AWSエンジニアの方ですとシアトル言えばAmazonの本社があり、Amazon Go、The Spheresなど聞いた事があると思いますが、実はMicrosoft本社もシアトルから少しの距離にあるレドモンドにあるそうで、こちらもお膝元となっています。 今回は橋本豪とMicrosoft Build 2018をレポートします。 初回は私の様に初めてBuildに参加する方向けの準備や会場についての説明となります。 Microsoft Buildって? Microsoftの開発者向けカンファレンスのようです。 Azure Build、ではなくMicrosoft Buildとなっているので、Microsoft関連の最新アップデート発表会と言ったところでしょうか。 Session Schedulerを見ても、Office 365やらPower BIのセッションもあったりしました。 以前から参加している人に聞くと、年々Azureの取扱が多くなってきているとのことです。 どうやって行くの? 去年はツアーがあったとのことでしたが、今回は個別申し込みでした。 PTSさんがホテル、航空券、Build参加申し込みまでしてくれました。 行くまでにやっておくこと Build参加登録をするとContact Preferencesを確認して下さいとメールが来ますので登録します。 登録が完了すると、登録完了メールが飛んできます。 登録にはLinkedInアカウントまたはMicrosoftアカウントが必要になります。 re:inventやAWS Summitでは人気セッションを早く予約しないと、と焦ってセッションリストとにらめっこしますが、 そこは大丈夫。1週間くらい前にならないとセッション一覧が発表されませんでした。気長に待ちましょう。 セッション一覧から気になるセッションを確認します。 k8s、IoTなどを中心にスケジューリングしました。 また、セッション一覧公開と共にBuildアプリも公開されますのでスマホにインストールしておきます。 いざ出発 成田から約8時間でシアトルへ到着します。 空港からシアトルのダウンタウンへはシャトルバスやらタクシーなどもありますが、今回はリンク・ライト・レールと呼ばれる電車で移動しました。 所要時間は40分程。10分間隔位で運行しているようです。 到着日は大谷がセーフコ・フィールドで登板する日で、途中のスタジアム駅では沢山の人が降りていきました。 到着後 ホテルにチェックインするまで時間があるので、Microsoft本社・・ではなくAmazon本社を見学に行きます。 Microsoftは冒頭に記載したように少し離れたレドモンドなので、移動には時間がかかります。 弊社古山が本社見学した際の記事はこちらになりますので、気になる方はご覧ください。 中も入れるものだと思っていましたが、休日だからか?The Spheres以外は入ることが出来ませんでした。 気を取り直してAmazon Goへ。事前にアプリケーションの登録が必要です。 色々手にとっては戻したりしましたが、最終的に持ち出した商品がちゃんと記録されていました。 間違っていた場合はキャンセルもできるようです。 我々はメールを見落としていたのですが、どうやら前日にRegistrationできるようです。。 当日だと混んでいて時間がかかるので事前にRegistrationすることをオススメします。
    ...
  • Microsoft Build 2018 1日目レポート

    こんにちは。インフラエンジニアの橋本です。 去年11月のAWSのre:inventに続き、今回はMicrosoftのBuildに参加しています。 Buildって Microsoftのソフトウェア開発者向けのカンファレンスです。 今年も引き続きアメリカはワシントン州シアトルのワシントン州会議センターにて、5月7日〜9日まで開催されます。 日本出発〜会場到着までにやることについては、共に来ている赤川の記事が参考になるかと思います。 Keynote Day1について Keynoteの様子(動画)はこちら 今年も様々な発表がありました。 とりわけ、AIやIoTに関するものが多く、クラウドファーストから一歩進んだ、ただサーバ+アプリケーション組み合わせではなく、クラウドとドローンのようなデバイスにAIを組み合わせた新しいサービスを提供していくように見えました。 例えばAI for Accessibility AIを用いて障がい者を支援するプロジェクト。 こちらのデモでは、視覚情報を直接音声で伝えてくれるAI、視線の先を追ってキーボードを入力するAI、会話をリアルタイムに翻訳するAIなど。 これらを実現するため、Microsoftは5カ年計画で2500万ドルを開発者向けに投資しているようです。去年もパーキンソン病の患者の手の震えを抑えるデモがありましたが、AIの可能性に積極的に投資していく姿勢が伺えます。 例えばAzure IoT Edge ドローン大手のDJI社と提携することにより、ドローンで収集したデータをWindows10で利用できるようにし、リモート制御するためのSDKもリリースするとのこと。 これにより、開発者はドローンをリモート制御し、収集データをリアルタイムにストリーミングするアプリケーションを開発できます。 デモでは、Azure上でプログラミングされたAIが搭載されたドローンでした。 ドローンが撮影したパイプの映像から問題のある箇所を黄色でマークし、利用者はリアルタイムで送信されてくる映像から確認ができる仕組みです。 こういうものが原発や災害地のように、人が立ち入れない場所で活躍するんでしょうか。 その他 ここでは全てを紹介しきれませんが、他にもHoloLensにRemote Assist、Microsoft Layoutのアプリが追加されていたり、Microsoft365としては議事録AIが取ってくれたり、CortanaからAlexa、もしくは、AlexaからCortanaを相互に呼び出すことができるようになっていたりしてます。(2017年内実現のはずが、長引いているようですが) 「Cortana & Alexa」はまだクローズドβの段階のようなので、興味がある方はこちらからアクセスしてみてください。 Azureに関して Visual Studio Live Shareがプレビューしてました。 複数の開発者が同じビューを見ながらコードを開発していくツールのようです。 修正されている部分が相手方にもリアルタイムにシェアされるため、チームで開発しているような方はいいのではないでしょうか。(AWSでも似たようなのがありましたね) こちらもデモで実際に扱ってました。 また、Githubとの提携も発表されています。 AKS Azure Container Service がAzure Kubernetes Serviceへ名称変更しました。 CosmosDB NoSqlであるCosmosDBがマルチマスター書き込みに対応しました。 複数リージョンでの書き込みに対応するようです。
    ...
  • Azure Web App で静的サイトをホスティングした事例

    こんにちは、Azure系エンジニアの秋山です。 今回は Azure Web App で静的サイトをホスティングした事例についてご紹介します。 前提 サイトジェネレータ Jekyll を利用 一部 PHP を利用 サイトを更新するユーザーは Jekyll を知らない、意識させたくない 構成 構成は単純に Web App を Web サイトとして使ったのみです。 静的ファイルのみならば、 Web サイトの PaaS である Web App を使う必要はないのですが、一部で PHP を利用する要件があったことから Web App を採用しています。 デプロイフロー 順を追って説明します。 今回、CMS として CloudCannon というサービスを利用します。 このサービスを使うことで Jekyll を意識せず、エンジニアでなくともページの更新や微調整を行うことができます。(手順1) CloudCannon では GitHub と連携できるようになっています。 CloudCannon 上でリアルタイムに jekyll build されたコンテンツをプレビューしつつ、各ページを更新することが可能です。(手順2)
    ...
  • Azureエンジニアから見たDockerを取り巻くDevOpsサービスのまとめ

    Azure系エンジニアの秋山です。 最近 Azure で Webサービスを Docker で動かす PaaS の Web App for Containers が GA となり、プレビューの頃から使っていた 立場としては嬉しい限りです。 今回は Production での導入が広がっていきそうな Docker を取り巻く Dev/Ops のサービスをまとめてみます。 Docker を取り巻く要素 Docker を使って Dev/Ops を構成するためには、 Dockerfile を含めたリポジトリを管理するソースコード管理システム(VCS) Docker イメージをビルドするビルドシステム ビルドした Docker イメージをホスティングするホスティングサービス の3つが必要です。 図に表すと以下のとおりです。 それぞれのサービスのポイントを書いてみます。 ソースコード管理 Visual Studio Team Service Git で PullRequest ベースでの開発が可 ライセンスが MSDN サブスクリプションに付いてくるため、既に持っていれば導入しやすい Scrum やアジャイルに沿ったプロジェクト管理が可 GitHub Git で PullRequest ベースでの開発が可 使い慣れたエンジニアが多い(特にWeb系) GitLab Git で PullRequest ベースでの開発が可 Freeプランがある SaaS を利用できないポリシーに対応可 ビルド Visual Studio Team Service Azure と連携しやすい ビルド時間課金 CircleCI 予約ホスト課金 2.
    ...
  • Microsoft MVP(Azure)を受賞しました!

    みなさん、こんにちは(^^)/ ブランディングプロジェクトのあいです。 本日はおめでたいニュースがあったので、共有しちゃいます♡ なんと、Azureエバンジェリスト原が「Microsoft MVPアワード」を受賞しました! Microsoft MVPアワードとは? Microsoft MVP (Most Valuable Professional) アワードは、マイクロソフトの製品やテクノロジーに関する豊富な知識と経験を持ち、オンライン・オフライン問わず活躍する人物に贈られます。 受賞者は全世界で約4,000人、日本ではわずか200名程度となります。 受賞カテゴリはマイクロソフト製品ごとに分かれており、今回原は「Azure」カテゴリでの受賞となりました。 原の活動履歴 日々Azureに関して知見を広げ、マイクロソフト関連のイベントにて、Azureの導入・移行などの技術セッション・ハンズオンやプリセールスに向けた研修など、幅広い内容で登壇しております。 主な活動内容 de:code2017 登壇 「事例とデモでお送りする Microsoft Azure 活用パターン」 ACEトレーニング 登壇 「これからAzureに取り組みたいMSパートナー向け研修」 Microsoft Apollo 計画 登壇 「ゲーム業界での圧倒的な実績をもつISAOが教える、導入前に必ず知っておきたいこと3つのこと」 日経クラウドファースト寄稿 「知られざるAzureバージョンアップ問題」 その他活動はこちらからご確認ください。 受賞のコメント 2017年7月1日より、Microsoft Azure のカテゴリーでアワードを受賞しました。 ご一緒させて頂いたコミュニティの皆様、活動をバックアップして頂いたチームの皆様、ありがとうございました。 ますます多方面にわたって機能が充実し続けるAzureの魅力をお届けできるように頑張っていきたいと思いますので、これからも引き続きよろしくお願いいたします。 最後に くらまね for Azureでは、原を筆頭にAzureの豊富な知識を持つエンジニアたちが、導入から運用・監視までワンストップでサポートします。 Azureでお困りの方は、ぜひISAOまでご相談ください。
    ...
  • LAMP のシステムを Azure の PaaS に移行しました

    こんにちは。Azure系エンジニアの秋山です。 今回は LAMP のシステムを AWS から Azure に移行したことについて書きます。 移行前のアーキテクチャ システムはオーソドックスな LAMP 構成です。 以下のとおり、よくある構成ですね。 DNS(Route53) ロードバランサー(ELB) Webサーバー(EC2) バッチサーバー(EC2) キャッシュ(ElastiCache) データベース(RDS) 問題点 何のために移行するのか、解消したい問題点は以下のとおりでした。 Web サーバーがオーバースペックになっている Production へのデプロイは開発環境のEC2をAMIコピーして行う また開発環境が1台のみでソースコードのバージョン管理がされていない 外注で制作したが社内で誰も手を入れられていない Azure のメンバが面倒見ているサービスが AWS で動いている 移行後のアーキテクチャ このシステムは自社で運用していますが、ユーザ数がそこまで多くなく、サービスダウン時の影響の少なさから、現時点でプレビューである WebApp on Linux や Azure Database for MySQL を採用しています。 これによって IaaS を排除した PaaS のみの構成となりました。 2017/09/12追記: WebApp on Linux は Web Apps for Containers に名前を変えて GA しました。
    ...
  • Cognitive Services の Custom Vision Service を試す

    エンジニアの秋山です。 日本では de:code 2日目ということで、各種サービスへの注目が集まっています。 今回は先日の Build2017 で発表されました Custom Vision Service を試すための手順についてまとめました。 Custom Vision Service 概要 Custom Vision Service のページ を直接開くか、Azure の Custom Vision Service ページ から Try Custom Vision Service をクリックします。 現在はプレビュー期間のためか、利用料金がかからないことになっています。 分類器を作る Custom Vision Service にサインインします。 Azure ポータルとは異なり、Microsoft アカウントのみの認証となっています。 ログインすると、プロジェクト一覧だけのシンプルなページが開きます。 New Project で今回の分類器を作成します。 次に画像を登録します。 ここでは最低5枚登録する必要があります。 画像のパターン数が精度につながるため、さまざまな画像を用意しておくのがいいでしょう。 画像に対してタグ付けします。 このタグが教師データということですね。 判別したいタグの数だけ画像登録を繰り返して正解データをつくります。
    ...
  • Microsoft Build 2017 Azure アップデートまとめ ~ストレージ編~

    日本に帰ってきました。 エンジニアの秋山です。 現地時間の 5/10~12 にシアトルで開催されてました、Microsoft Build 2017 に参加し、今回は帰国後にレポートを投稿しています。 なお、Build の様子は Channel9 でご覧いただくことが可能です。 Big Data on Azure Blob Storage 今回は Azure のストレージ周り、表題のセッションについてまとめます。 というのもこのセッションがあった最終日の3日目はキーノートもなく、油断して聴いていたところ、思った以上にアナウンスが出てきたため、慌ててこの記事を書きました。 セッションの動画は以下のURLから確認できます。 Big data workloads with Azure Blob Storage 1日目のキーノートは こちら、2日目のキーノートは こちら、Azure 全般のまとめは こちら を参照ください。 Storage 大半はストレージそのものに関わる機能の発表です。 AzCopy Storage データを CLI で扱うユーティリティツール AzCopy はこれまで Windows のみでしたが、Linux 版である AzCopy on Linux がプレビュー公開されました。
    ...
  • Microsoft Build 2017 Azure アップデートまとめ

    シアトルからおはようございます。 エンジニアの秋山です。 現地時間の 5/10~12 にシアトルで開催されております、Microsoft Build 2017 に参加し、現地からこのレポートを投稿しています。 なお、Build の様子は Channel9 でご覧いただくことが可能です。 Azure 新機能 今回は Azure 全般の新機能紹介セッションの内容についてまとめます。 Azure Compute: New features and roadmap なお、1日目のキーノートで発表した内容は除外しています。 1日目のキーノートは こちら、2日目のキーノートは こちら、Azure ストレージのまとめは こちら を参照ください。 Virtual Machine ND(P40), NCv2(P100s) More GPUs, more power, more intelligence まずは軽い話題から。 Build の3日前くらいにアナウンスされていましたが、機械学習などの用途で使うような GPU 特化のインスタンスが発表されました。 利用は上記URLでプレビューに申し込む必要があります。 Dv3, Ev3 同時に nested virtualzation という、VM 上で VM を動かすことができるインスタンスが発表されました。
    ...
  • Microsoft Build 2017 初日キーノートまとめ

    シアトルからおはようございます。 エンジニアの秋山です。 現地時間の 5/10~12 にシアトルで開催されております、Microsoft Build 2017 に参加し、現地からこのレポートを投稿しています。 なお、Build の様子は Channel9 でご覧いただくことが可能です。 初日キーノートについて さっそくですが、Microsoft Build 2017 初日のキーノートをざっくりまとめます。 2日目のキーノートは こちら、Azureアップデートについては こちら、Azure ストレージのまとめは こちら を参照ください。 将来の可能性を感じるいくつかのデモ デモが中心で動画を見ないと伝わらないと思いますので、簡単に紹介程度にとどめます。 画像認識により、生活のさまざまなシチュエーションで危険予知が進む。 たとえば病院。体調が悪い患者を見つけて看護師に通知される。 たとえば建設現場。チェンソーなどの危険な道具が辺りに放置されると管理者に通知される。 細かいレベルで認証ができるようになる。特定の人に特定の工具を使う権限を与えると、それ以外の人がその工具を持っただけで管理者に通知される。 Cortana がミーティングの調整をする。 デバイスはPCやスマホに限らず、車の Cortana がミーティング参加を促す。 Teams と Microsoft Graph が Bot としてミーティング参加し、資料を開いてくれるなどアシスタントとして活躍する パーキンソン病の手の震えを相殺するデバイス Microsoft researcher creates wearable which smooths handwriting in Parkinson’s Disease (video) Microsoft Azure 私が MSP プロジェクトでよく使っている Azure の発表が多くありました。
    ...
  • MeetUpを開催しました!「Azure Machine Learning ハンズオン入門」

    はじめまして、秋山です。 3/23 (木) にISAOで9回目のMeetUpを開催しましたので、そのご報告をさせていただきます。 内容 【Azure Machine Learning ハンズオン入門】実践からはじめる機械学習 connpassイベントページはこちら 最近勉強会が活発に行われている機械学習をテーマとしました。 これから始める人向けに、1時間程度のハンズオン。 以下に資料も公開しておりますので、興味をお持ちでしたらお試しいただければと思います。 20170323 Azure Machine Learning Handson for Beginner from 康平 秋山 弊社では Azure・AWS・GCP や各種国内クラウドをMSP事業・自社サービスで積極的に活用しております。 今回は私、秋山が日頃よく触っている Azure を紹介させていただきました。 Azure Machine Learning, Cognitive Services の事例紹介 日本マイクロソフト 竹内 宏之 様に、事例を紹介いただきました。 Microsoft 社内のエレベータで ML を使っている例や、Uber で本人認証のために CognitiveServices を利用している例など、多彩な事例を紹介いただきました。 下の動画は Uber の事例です。 さまざまな事例を聞いていると、こんなことができるんじゃないか、など想像(妄想?)が広がりますね。 私も身近にあるデータから何かを作りたい気持ちになりました。
    ...