【徹底比較!】AR vs MR!両者の違いから活用事例、VRとの関係性まで分かりやすく解説します!

最近はテレビやネットニュースなどで、AR(拡張現実)・MR(複合現実)という言葉がよく聞かれるようになりましたよね。しかし、VR(仮想現実)は聞いたことがあっても、ARとMRって何?という人もいるでしょう。そこで、この記事ではARとMRの違いや、それぞれの活用事例をVRとの関係性を含めて徹底的に紹介します。

 

AR(拡張現実)とは

 

 

ARとは「Augmented Reality」の略で、日本語では「拡張現実」と言います。そして、ARがどんな技術かというと、私たちのいる現実の世界に仮想の世界(CG)を重ね合わせる技術のこと。

ARで有名なのは、スマホゲームの「ポケモンGO」ですよね。ポケモンをゲットするのにハマってしまった人も多いでしょう。この「ポケモンGO」に使われている技術がARなのです。

私たちの生活にも身近になっているVRは、ゴーグルを装着することによって仮想現実の世界に入り込みますよね。しかしARは、主にスマホの画面に仮想現実の世界を映し出します。

 

MR(複合現実)とは

 

 

MRとは「Mixed Reality」の略で、日本語では「複合現実」と言います。イメージが少し湧きにくいかもしれませんが、MRはARの技術を発展させた技術と考えるとよいでしょう。

MRはVRと同じようにゴーグルを装着します。すると、VRと同じように映像が映し出されるわけですが、VRとは少し違います。

VRは目の前が全て仮想現実の世界になるのに対し、MRでは私たちの現実の世界が映し出されます。その上、さらに仮想現実の映像も映し出されるのです。

しかもMRなら、仮想現実のキャラクターの後ろに回り込んだり、CGの操作をしたりもできます。まさに現実と仮想世界が融合した世界に入り込めるということです。

 

ARの活用事例

 

それでは、ARの活用事例を紹介します。すでにご存知のものから、そんなところで使われているの?と驚かれるものもあるでしょう。

 

現実世界に登場するポケモンを捕まえられる

 

先ほども紹介したスマホゲームの「ポケモンGO」。このゲームが最も私たちの身近にあるARといえるでしょう。「ポケモンGO」では、私たちの現実世界に登場するポケモンにポケモンボールを投げてゲットできます。

スマホに映し出される現実世界のマップを見ながら歩くことで、珍しいポケモンと出会えてしまうことも。自分の家の中や近所の公園にポケモンが現れるので、とても楽しいですよね。

 

自分の部屋に家具を置くシミュレーションができる

 

 

インテリアショップ「IKEA」のアプリでは、AR技術を用いて私たちの部屋に家具を試し置きできます。使い方はとても簡単。家具を置いてみたい部屋にスマホカメラを向けて、アプリで家具を選択します。

するとスマホの画面では、まるで本物の家具を部屋に置いているように見えるのです。このARアプリのおかげで、実際に家具を購入する前に、部屋に家具を置いた状態をシミュレーションできます。

 

ARが道案内してくれる

 

Googleは、グーグルマップとARを組み合わせた「道案内」の技術を発表しました。道でスマホをかざすことで、目の前の情景を映し出すとともに、画面に矢印が現れて道案内してくれます。

平面の地図を見ながら歩くのは苦手な人でも、画面に現れた矢印が行く方向を示してくれると初めての場所でも安心できますよね。

 

建築物の3Dデータを実寸大で表示できる

 

建築に活用するためのVRやARの開発を行っているSolidhausが開発したアプリでは、建物の建築予定地にスマホをかざすだけで、実物大の建物が表示されます。

ARによって、建物を建築する前に建物の外観を確認することで、イメージと違った、などのリスクを回避できるようになります。

 

MRの活用事例

 

次に、MRの活用事例を紹介します。近未来的なイメージの強いMRですが、私たちの生活にもすでに役立っていることを実感できるでしょう。

 

MRによって手術前にシミュレーションができる

 

 

MRはすでに医療現場で活用されています。MRによって、患者の臓器が医師たちの前に映し出されます。医師たちは同じ臓器の映像を見ながら、どのように手術を行うかを事前にシミュレーションできるのです。

複数の医師で同じ患者の臓器の映像を共有できるため、手術の精度が高まります。そして、経験の浅い医師でも3D映像を確認しながら熟練の医師の指導を受けられます。

 

新商品をMRで発表できる

 

新商品のプロモーションにもMRは役立ちます。まだ実物が完成していない新商品を発表する時、紙の資料やスクリーンに映し出される映像だけでは物足りない時がありますよね。

ゴーグルを装着し、MRを活用すると、まだ実物のない新商品も3Dの映像でその場に映し出されます。さらにゴーグルを装着している人のMR画像をスクリーンに映し出すことで、ゴーグルを装着していない人でも3D画像を確認できるのです。

 

Geekly Media ライター

やまりえ

0

データエンジニアを徹底解説!仕事内容から必要なスキル、資格まで分かりやすくご紹介します!

AI(人工知能)やIoT(モノのインターネット)の普及により、データエンジニアという職業が注目されています。データエンジニアリング能力を活かし業務を行うデータエンジニアは、ビッグデータが溢れるこれからの社会に不可欠な存在です。この記事では、データエンジニアの仕事内容や必要なスキル、取得すべき資格を紹介します。

 

データエンジニアリングを駆使するデータエンジニアとは

 

 

近年、工場のIoT化が進んでいます。工場のIoT化とは、現場の機械や設備など工場全体をインターネットにつなげること。例えば、機械にセンサを取り付けたり、工場内にカメラを取り付けたりして、工場の状態を監視し、センサから得られたデータを解析することで、工場全体を効率化・最適化することです。

 

そして、その現場でIoTやAIをマネジメントするのが、データエンジニアリングスキルを持つデータエンジニアの仕事。データエンジニアは、現場の状況をよく見て課題を発見します。さらに、課題解決のためにどのようにデータ環境を整えていけばよいのかを考えるのが、重要な仕事です。

 

データエンジニアとデータサイエンティスト

 

 

データエンジニアはただビッグデータを取り扱うだけではなく、現場における課題を考え、適切な課題解決方法を導き出します。そして、データエンジニアが設計したIoT化された工場からは、常に膨大な量のセンサデータやカメラからの監視データがデータベースへ蓄積されていきます。

データベースへ蓄積されたビッグデータを解析し、価値ある情報を引き出すのは、データサイエンティストの仕事。データサイエンティストとは、企業が所持している大量のデータを処理し分析することで、企業にとって重要な情報を導きだす職業です。

データエンジニアは、データサイエンティストに必要なデータを提供する重要な役割を果たすのです。

 

データエンジニアの仕事内容

 

データエンジニアは、現場における課題解決のために、データを活用してどのように現場に役立つ仕組みを作り出すのかを考える仕事です。では具体的にどのような仕事内容なのかを紹介します。

 

工場の運転を行うIoT・AIのマネジメント

 

 

工場では従来、1人の運転責任者が複数の運転作業員を指揮・管理していました。しかし近い将来、工場のIoT化・AI化によって、運転作業員が必要なくなるとも言われています。では、誰が工場の運転を行うかというと、IoTまたはAIです。

そして、工場を動かすIoTとAIを指揮・管理するのがデータエンジニアの仕事です。データエンジニアは、自社の事業目標を達成するため、最適なIoTまたはAIを実装して、工場のマネジメントを行います。

 

機械学習の精度を高める

 

アプリケーションに機械学習のプログラムを実装するのもデータエンジニアの仕事。例えば、ECサイトで利用する商品写真を分類するために機械学習を取り入れ、その精度を高めて分類できる種類を多くするという業務があります。

どのように機械学習における分類の精度を高めていけば、よりユーザーがECサイトを使いやすくなるかを考え、工夫するのもデータエンジニアの重要な業務です。同時に、データサイエンティストが分析しやすいデータ環境を構築していきます。

 

データエンジニアに必要なスキル「データエンジニアリング力」

 

データエンジニアが現場で活躍するために、必要なスキルの一つが「データエンジニアリング力」です。データエンジニアリング力とは、データサイエンスを駆使してサービスやアプリケーションにデータを活用した機能を実装するスキルのこと。

主に、クラウドサービスの知識、プログラミングスキル、フレームワークの知識がデータエンジニア力です。以下で、これらについて詳しく解説します。

 

データエンジニアリング力①クラウドサービスの知識

 

 

クラウドサービスとは、データやソフトウェアをインターネット上でユーザーに提供するサービスです。現在では、ビッグデータ分析の構築場所をクラウド上に設定している企業も増えてきています。

そのため、クラウド上のデータを活用し分析するためには、クラウドサービスに関する知識が必要となります。

 

データエンジニアリング力②プログラミングスキル

 

データエンジニアは、ビッグデータを取り扱うので、業務効率化のためにAIや機械学習をプログラミングするスキルが必要です。特に、機械学習に使われるPythonやRといったプログラミングスキルの習得は不可欠

ビッグデータの中にはテキスト、数字、画像や音声など様々な種類のデータが存在します。そこで、プログラミングスキルを持っていることで、様々な種類のデータを分析可能な形式に加工できます。そして、加工したデータを処理することで重要なデータが導き出せるのです。

 

データエンジニアリング力③フレームワークの知識

 

 

フレームワークはアプリケーションのベースとなるソフトウェアです。その中でも機械学習フレームワークは、機械学習やディープラーニングを行うために重要な役割を果たします。そして、フレームワークは世界中で数多く開発されています。

そのため、ある問題を解決するためにどのフレームワークを用いたらよいかをデータエンジニアは理解しておく必要があります。フレームワークを用いることでアプリケーション開発も容易に進められるので、数あるフレームワークの知識をしっかりと身に着けておきましょう。

 

Geekly Media ライター

やまりえ

0

【必見!】未経験からインフラエンジニアへのキャリアパスを徹底解説!どう準備をすればいいかまで分かりやすく解説します!

IT化された現代の根底を支えているのは、インフラエンジニアというIT技術のスペシャリストです。そんなインフラエンジニアという職業を目指したいと思った時、まず何から始めたら良いかが分からない人も少なくありません。そこで今回は、未経験からインフラエンジニアを目指す準備とキャリアパスについて、分かりやすく解説します!

 

インフラエンジニアはITサービスを支える

 

 

インフラエンジニアとは、ITシステムのサーバーやネットワークの設計や構築、保守や運用に至るまでを司るITエンジニアです。非常に専門性の高い業務でもありますので、いきなり「インフラエンジニアになる」ことは難しいかもしれません。

それはサーバーやネットワークの仕組みや役割を深く理解し、システム全体を把握するスキルが必要だからです。

インフラエンジニアは、大きく以下のように分類できます。

 

・サーバーエンジニア

・ネットワークエンジニア

・データベースエンジニア

 

全てインフラエンジニアの範疇にあり、それぞれの異なる技術が連携し一つになって、ITサービスを支えているのです。インフラエンジニアは、想像するよりも幅広い知識が必要とされます。

 

サーバーエンジニアの役割

 

 

ITシステムにおけるインフラエンジニアと聞けば、まず思い浮かぶのがサーバーエンジニアではないでしょうか。ITサービスのほとんどは、サーバーに置かれたプログラムが、サーバー機能と連携して提供されています。

その役割には次のようなものがあります。

 

・サーバー選定

・サーバーキッティング

・サーバー設計

・サーバー構築

・サーバー運用・保守

 

などです。

 

ネットワークエンジニアの役割

 

 

ITシステムにおけるほとんどのサービスは、ネットワークを通じて提供されています。このネットワーク通信が効率よく利用できるように設計・構築を行い、ネットワークトラブル時にも通信障害を最小限に抑えるのがネットワークエンジニアです。

その役割には次のようなものがあります。

 

・ネットワーク機器選定

・ネットワーク機器設定

・ケーブル配線

・ネットワーク設計

・ネットワーク構築

・ネットワーク運用・保守

 

などです。

どれか一つでもミスや障害が起これば、通信障害が起こり、大規模な事故に発展してしまいます。

 

データベースエンジニアの役割

 

 

データベースエンジニアは、ITシステム上のデータを効率よく運用するため、サーバー上にあるデータベースの設計や設定過負荷に合わせたチューニングなどを行います。

その役割には次のようなものがあります。

 

・データベースの選定

・データベース設計

・データベース構築

・データベースチューニング

 

などです。

データベースエンジニアは、特にソフトウェア開発との連携も多いエンジニアです。

 

Geekly Media ライター

佐久森

1+

【あなたは知っていますか?】「労働時間の定義ってなに?」を徹底解説!

昨今では、就職先の労働時間に疑問を持つ人も多いようです。あまりにも理不尽と思える働き方についても、インターネット上のSNSなどでは、いわゆるブラック企業という通名で表されていますね。そこで今回は、労働環境が正しいのか否かを判断するための指標の一つである「労働時間の定義」について徹底解説します。

 

労働時間の定義

 

労働時間には、大きく分けて以下の2種類を意識しておく必要があります。

 

・法定労働時間

・所定労働時間

 

労働時間は、労働者の時間を法的に定められた「法定労働時間」を基準に企業が作った「所定労働時間」があり、基本的に労働者は雇用契約で定められた「所定労働時間」に沿って労働を行います。

 

法定労働時間は18時間で1週間に40時間まで

 

 

労働時間は、労働基準法によって定められています。

まず、原則としては以下が定められています。

 

使用者は、労働者に、休憩時間を除き一週間について四十時間を超えて、労働させてはならない。(労働基準法32条1項)

 

これは、雇用する企業側が原則として守らなければならない規則です。

もちろん、これを超える労働環境は存在しますが、企業ごとの雇用規約は、上記を基にその他のルールも絡めた形で守られています。

規則を無視して、明らかに労働者に負担となる労働時間を“強いられる環境”が、いわゆるブラック企業と言われています。(もちろん、その所以は長い労働時間だけが原因ではありませんが、その一端となり得るものです。)

 

所定労働時間は雇用契約で定められた労働時間

 

 

所定労働時間とは、雇用する側の企業が法定労働時間の範囲内で独自に決める労働時間のことです。

あくまでも法定労働時間に従う形での規約となりますが、どうしても法定労働時間内では足りない場合は、“変則的な労働時間”として厚生労働省が示すルールに沿った労働時間を決めることができます。

私たちが企業に就業する際、雇用契約書に記載されている労働時間は所定労働時間としてとらえましょう。

万が一、雇用契約において明らかに法定労働時間を逸脱している場合は、しっかりと契約前に確認する必要がありますので、私たちも法定労働時間のルールをしっかりと把握しておく必要があるのです。

 

変則的な労働時間

 

フレックスタイム制

 

 

多くの企業に適用されている労働時間に対する制度の一つが「フレックスタイム制」です。既にフレックスタイムを日常的に適用している人も多いのではないでしょうか。

フレックスタイム制とは、例えば一週間と決められた範囲でフレックスタイム制を導入した場合、法定労働時間で定められている1週間に40時間まで」というルールの範囲内であれば、従業員の意思で自由に労働する時間帯を決められる、という制度です。

ですので、月曜日に3時間しか労働しなければ、その他火曜日〜土曜日において、計40時間になるように調整するという働き方ですね。

もちろん、コアタイムという出勤しなければならない時間帯が設けられていますが、それ以外の時間は、出勤や退勤は自由ということです。

ちなみに、自由に労働できる時間帯をフレキシブルタイムと言います。

 

みなし労働時間制

 

 

みなし労働時間制とは、企業が従業員の労働時間を把握しにくい業務において適用する制度です。簡単に表現すると、条件に合った職務に対して定められた時間分労働したこととみなすルールです。

社内で勤務する従業員に対しては、労働時間を組織単位で管理することが可能ですが、社外で勤務する従業員に対しては、労働時間を把握することは困難ですし、従業員自身に時間管理を任せた方が効率の良い業務も存在します。

 

変形労働時間制

 

 

繁忙期や年度末などは、どうしても業務負担が多くなりがちです。そんな時適用されるのが変形労働時間制です。

例えば、1週間の変形労働時間制適用された場合には、月曜日に10時間労働を行い、火曜日は4時間労働など、変則的な労働時間を1週間に40時間を超えない労働を行います。

ただし、月曜日に10時間労働をしたからといって、ここに残業代は発生しません。1週間に法定労働時間を超えない限り、時間外労働とはみなされず、企業は残業代を支払う必要が無いという制度なのです。

雇用契約に変形労働時間制が明記してある場合は、この制度を理解しておくことが大切ですね。

 

労働時間とみなされるもの

 

 

雇用契約において、労働時間とみなされるものを把握しておくことは重要です。業務を開始するには準備も必要ですし、業務が終われば退勤準備の片付けも必要ですよね。”常識“的な行動は大切ですが、それが労働時間に含まれるのか否かをしっかりと把握しておくことも重要ですので、まずは労働時間とみなされるものについて見ていきましょう。

 

Geekly Media ライター

佐久森

1+

【面接マナー】これだけでも抑えておこう!正しい言葉遣いからマナーまで徹底解説!

自分の人生を左右する面接は、誰もが緊張します。また、面接を受ける際のマナーを調べると、沢山のマナーが紹介されていて、更に緊張をしてしまいますよね。しかし、実際には最低限の常識的なマナーを守り、相手に対して失礼がなければいいのです。そこで今回は、面接マナーとして最低限抑えておきたい正しい言葉遣いやマナーを徹底解説します。

 

面接マナーで抑えておくこと

 

 

面接マナーには、面接に行く服装や持ち物、面接場所に到着してから担当者に会うまでの準備の他にも、面接当日に失礼のないよう準備をしておくこと全てがマナーに含まれます。

 

・他社を訪問する際には「時間」「場所」「相手の名前」「相手の連絡先」を事前に確認しておく

・服装は、目につくシワなどの無いなど、相手が気になる”だらしなさ“がないこと

・相手を待たせないように、5分前には到着する

・訪問先では、名前と目的、訪問先相手の名前をしっかりと告げる

・相手と対面した際には、改めてしっかりと挨拶をする

・面接場所は相手の場所ですので、椅子に座る場合なども相手に合わせる

・話をする時は、適度に相手の目を見て話す

・質問されたら「はい」「いいえ」で終わることのないコミュニケーションを大切にする

・面接終わりや退室の際には、改めて挨拶をする

・努めて正しい言葉遣いを意識する

 

とは言っても、これは面接でなくとも、公の場で人に会う時に“失礼のないように“守るマナーであって、特別な心構えというわけではありません。

しかし、面接という特殊な緊張感が上乗せされることで、特殊なマナーだと思いがちです。この考え方を見直すことで、”失礼のないように“振る舞うことマナーであることが分かってきます。

普段からマナーを意識しているかどうかは、面接時でのぎこちなさにも現れてきますので、面接マナーで抑えておくことがあるとすれば、上記のようなマナーを普段から自然に身につけておくということです。

 

正しい言葉遣いと使ってしまいがちな言葉

 

 

正しい言葉遣いは、堅い言葉遣いとは違います。言葉の意味を理解した上で、誤解が生じないコミュニケーションをとるための言葉遣いであり、それは敬語であり尊敬語であり丁寧語です。

もちろん、普段の話し言葉を使うのは大人として失礼に当たりますよね。これは論外ですが、普段言葉の意味を間違って使っているものを直しておく必要があります。

例えば以下のような例があります。

 

・私:読み方は「わたし」や「わたくし」です。男女共に私と表現することが望ましいです

・参ります:「行きます」ではなく「参ります」を使いましょう

・存じ上げる:「知っている」ではなく「存じ上げる」を使いましょう

・伺う:「聞く」ではなく「伺う」を使いましょう

・拝見する:「見る」ではなく「拝見する」を使いましょう。

・おっしゃる:相手が言ったことに対しては「おっしゃる」を使いましょう

・後ほど:後で何かをする場合は「後で」ではなく「後ほど」を使いましょう

・問題ございません:大丈夫だと判断した場合は「問題ございません」を使いましょう

・では:「じゃあ」という言葉は使ってしまいがちですが「では」を使いましょう

・承知致しました:「了解しました」ではなく「承知致しました」を使いましょう

 

などです。

ある程度の敬語は意識しなくても使えるものですが、普段使いの言葉を口にしてしまいがちです。ですので、相手を目上の人であるという意識を持って接することが、基本的な心構えになります。

 

マナー 〜訪問編〜

 

建物内では上着を脱いでおきましょう

 

 

面接を行う建物に到着したら、コートなどの上着は入り口で脱いでおきましょう。コートを羽織ったままというのもマナーとしては良くありませんし、コートを訪問先の備品に引っ掛けて壊してしまうなどの粗相を予め防がなければなりません。

 

リュックの場合は手に持ち替えておきましょう

 

 

近年では、ビジネス用リュックも流行っています。面接では基本的に手持ちのバッグが推奨されますが、もしビジネス用リュックを着用している場合には、リュックを下ろし手持ちに変えておきましょう。

これは、見た目やマナーはもちろんのこと、資料などをすぐに出せる体制を整え、相手を待たせないという配慮にもつながります。

 

Geekly Media ライター

佐久森

3+

RDBMSとNoSQLを徹底比較!特徴からそれぞれのメリット・デメリットまで、わかりやすく解説!

RDBMSは誕生当初破壊的イノベーションと言われる様なデータベースで、今もなお多くの企業で利用されています。しかし情報量やデータ量の増加に伴いより適した形のデータベースシステムとして誕生したのがNoSQLです。本記事ではそんなRDBMSとNoSQLの特徴からそれぞれのメリット・デメリットなど分かりやすくまとめてみます。

 

RDBMSからNoSQLへ

 

 

RDBMSは階層型データベースが主流だった1960年代に誕生し、1970年からは多くの企業がRDBMSを利用したサービスを開発し、データベースの主要システムの座を奪いました。しかし時代が経つにつれてRDBの処理が重かったり、分散性がなかったりという点に不満視する声が広がり、今のニーズにあったデータベースシステムがあっても良いのではないか?という声からNoSQLが誕生しました。

 

RDBMSとは

 

 

RDBMSはRelational Database Management Systemの略で、その名の通り関連性のあるデータを表形式( Excelのように)で紐づけて管理するデータマネジメントシステムです。データベースのやりとりにはSQLという言語が使用されます。

RDBMSでは表形式のデータをテーブル、項目をカラムと呼びます。例えば商品についてデータをまとめているテーブルが有ったとして、その中に商品番号・商品名・商品IDというカラムを作成し、データを格納するという感じです。

各カラムは別のテーブルと紐づける事が可能で、上の例を使うと商品IDと商品の販売店舗テーブルを紐づける形です。

このようにデータの定義や関係性を厳格に行う事で複雑なデータ構成にもが対応する事ができます。

 

NoSQL

 

NoSQLとは

 

 

NoSQLはNot only SQLの略で、RDBMS以外のデータベースシステムを表す際に使用されます。RDBMSが対応しきれなかったような所を改善するために開発されており、SQL言語を使用しなくてもデータベースを使用する事が出来ます

 

一般的にNoSQLはキー・バリュー型のデータベースを指して使用される事が多いです。キー・バジュー型はその名の通りキーに値が付いたシンプルなデータベース構造で、商品1=りんご、商品2=みかん、といった感じです。

他にもXMLやJSONといったデータ構造を容易に変更することができるドキュメント型のものなど、様々なサービスが有ります。

 

RDBMSとNoSQLの違い

 

 

NoSQLはRDBMSが対応できない部分を改善するために生み出されたため、2つは大きく違います

RDBMSは複雑なデータベースでも厳格に設計できるような仕組みになっており、格納されたデータを処理するためにSQL言語が使用されます。一方NoSQLはSQL言語を使用しなくても一般のプログラム言語でデータを呼び出せるような自由な設計になっています。

これは、RDBMSとNoSQLが誕生したきっかけにも関係してくるのですが、両者には処理速度やデータの分散化といた分野で得意不得意が有ります

次の項目からそれぞれのメリットとデメリットを紹介し、より具体的にそれぞれの違いについて説明しますが、両者の違いについて分かりやすいように表でまとめてみます。

 

RDBMS NoSQL
分散性 ×
拡張性 ×
一貫性 ×
検索 ×

 

 

それぞれのメリットとデメリット

 

RDBMSのメリット

 

 

RDBMSはデータ処理の一貫性が保証されているというメリットがあります。

データベースの処理が正常に行われた場合結果が表示され、処理が正常に行われない場合は処理前の状態に戻ります。この処理についてエンドユーザーは確認する事ができず、結果のみを確認する事が出来ます。

また複数のテーブルを連結されてデータベースを構成する事で、追加・削除・更新といった処理コストを低減させる事が可能になります。

更に複雑なデータ構成での検索や集計もSQL言語を使用することで正確に引き出すことができます。

 

NoSQLのメリット

 

 

 

NoSQLはデータの処理速度が早いというメリットが有ります。

NoSQLはデータの一貫性やバリデーションといった機能を排除し、サーバーを水平分散できるようにしました。そのためデータの処理速度を比較的早くすることが可能になりました。

また、データが大規模になってきてもサーバーを水平分散させる事ができることから必要な分だけ自由に拡張する事ができる様になります。

度々出てきている水平分散とは、1つの仕事を複数台のコンピューターが協力して行う事ができるようにすることです。

 

Geekly Media ライター

とげみ

1+

SLAとは!SLOとの違いは何?ITサービスを発注するなら知っておきたいワードを解説します!

ITサービスの発注を行う際はSLAという契約やSLOという目標値を確認することが必ず行われます。それらの内容について理解せずにお金を支払い、サービスを利用してしまうと後でトラブルの種になってしまう可能性があります。今回はSLAとSLOの違いやそれぞれの説明、サービス契約における注意事項などを紹介します。

 

SLAとSLOの違い

 

 

SLAがサービス提供者とユーザーの間で取り決める契約で有るのに対して、SLOはサービス提供者がユーザーに対して実際にサービスを提供することができる根拠・目標値を提供するための物になります。

ユーザーは自身が必要としているサーバーやストレージの容量や稼働率をSLOで確認し、満足な内容であれば、SLAのステップに進みます。SLAを確認し、対象サービスの稼働率や稼働しなかった場合の返金方法など契約の保障を確認し契約に進むという流れです。

 

SLA

 

SLAとは?

 

 

SLAServiceLevelAgreementの略で、どの程度の(Level)サービス提供(Service)を合意(Agreement)するかという保障契約の名称です。

サービス提供者とユーザーとの間で結ばれる契約ですが、サービス提供者がどの程の品質のサービスを保証するのか、またそれを達しなかった場合どのような方法で解決するのかなどをユーザーとの間で取り決めを行うために使用されます。

 

SLAの要件基準

 

 

SLAの要件設定基準は稼働率やサービスの定義・レベル、またそれに対する返金規約など4つの項目で記載されていることが一般的です。ここではそれぞれの要件について簡単に説明します。

 

・月間稼働率

月間稼働率は一月の間にどの程度稼働し続けているかを表しており、システムが停止している時間を差し引いた稼働時間で表示されます。

 

たとえばSLA99.99%や99.999%のような形で記載されており、その数字が高ければ高いほどシステムの安全性が高く、故障が少ないことが分かります。

 

・サービスの定義

サービスの定義はそもそもこの契約によってどのようなサービスを提供するのかという大前提を表しています。

例えば一つのパソコンで使用できるサービスの契約を行いたいとユーザーが思っているのに、契約書には4台分で使用可能なライセンスが含まれているとユーザーとサービス提供者の間で意思の合致がされておらず、契約が成立しません。

 

・サービスのレベル

サービスレベルは数値や可視化できるサービスの内容を表しています。これはSLOにも似ていますが、サービス提供者がサーバーやストレージ、通信速度などどの程度高いサービスを提供するのかを数値で示します。

 

・返金規約

返金規約は他の3項目で設定した基準値や定義を違反又は下回った場合にどのような形で返金・解約対応を行うのかといったことを定めている項目です。

 

SLO

 

SLOとは?

 

 

SLOServiceLevelObjectiveの略でどの程度の(Level)サービス提供(Service)を目標値として設定するか(Objective)というサービスの目標値の名称です。

SLAで設定された契約内容を履行するためにサービス提供者側がサーバーやストレージといった領域の可用性・性能・セキュリティなどの目標値を数値化しユーザーに提供することで、ユーザーはどの程度の実用性があるのか理解しやすくなります。

 

SLOの設定基準

 

 

SLOで設定されている目標は企業や業態によって様々ですが、可用性・セキュリティ・作業手順・サポート体制などの項目で設定されていることが多いようです。

 

・可用性

可用性は月間でどの程度稼働することが出来るのか、またメンテナンス等でシステムが停止する頻度や、その告知方法などが記載されています。

 

・セキュリティ

セキュリティはサービス提供がどのような形でシステムのセキュリティ制度を高めているか、またどのようなセキュリティ基準に準拠しているかを記載しています。

 

・作業手順

作業手順はサービスを利用する際にどのような手順で使用することができるのかという説明書の役割を果たしており、初めてサービスを利用する人でも理解できるような形で記載されています。

 

・サポート体制

サポート体制はユーザーからの質問やトラブルがあった際にどのような方法でサポートを行うか、またそのサポート時間などについて記載しています。

 

契約前にSLAとSLOの確認は必須

 

 

SLOSLAの確認は契約前に必ず確認する癖をつけておきましょう。サービスの内容や、その根拠はもちろんですが特に気をつけておきたい項目は返金の規約です。

サービスの基準値を下回った場合にどのような方法で返金・対応を行うかは各事業者によって内容が様々です。

例えば価格が安くサービス内容が高い事業者だと思い契約を結んだが、SLOの目標値に到底及ばず、月に何度もシステムが停止し返金を申し出た際にSLAには返金は一切しないと書かれていた場合諦めるしか方法が無くなります。

 

もちろんユーザーが望むサービスのレベルでサービス提供業者を選ぶ必要がありますが、基準値に満たなかった場合の返金方法などはトラブルを防ぐためには必ず確認しておいた方が良いでしょう。

 

クラウドサービスのSLA比較

 

AWSAzureで比較

 

 

代表的なクラウドサービスであるAmazonAWSMicrosoftAzure2つのサービスを比較しながらSLAの違いや特徴について紹介します。

尚AWSは12のサービスでSLAが設定されており、Azureでは111のサービスでSLAが設定されています (*尚この調査は2019/04/02時点での結果のため今後内容が変わる可能性が有ります)

 

返金対応に違い

 

 

AWSの稼働率は、99%~99.99%の稼働率を保証しているものが多いです。一方Azureも99%~99.99%の稼働率保障を行っており、稼働率に差はありません。

稼働率の保証値を下回った場合、AWSの場合はサービスクレジットという形で対応を行ってくれますが、返金はしてくれないようです。

AWSのサービスクレジットとは、将来的に支払う金額に対しての減額サービスで、Amazonが提供するサービスに充当できるクレジットを発行しますという形です。Azureの場合は実際に返金対応してくれます。

 

AWAの場合は稼働率が99.99%を下回った場合に 10%、99%を下回った場合に30%のサービスクレジット付与で、Azureの場合は10%~25 %の幅で返金対応とどちらも大きな問題が発生しても100%の対応は無いようです。

 

Geekly Media ライター

とげみ

0

【まとめ】Kotlinとは?!その開発環境からできることまで幅広くご紹介します!

2011年に新しく登場したKotlinといいプログラミング言語を知っていますか?Androidの開発環境においては多くのひとが利用しており、公式の開発言語として認められているほど人気の高いプログラミング言語です。本記事では、Kotlinについてその特徴や出来る事、また別の言語との違いから導入している会社など幅広く紹介していきます。

 

Kotlinとは?

 

JetBrainsが中心で開発したプログラミング言語

 

 

KotlinはプログラムをコンパイルしJVM(Java Virtual Machine)上で動作させる事ができる静的型付けオブジェクト指向言語です。

統合開発環境であるIntelliJ IDEAで有名なロシアのJetBrainsが主導して開発したプログラミング言語で、2017年からはAndroid開発への公式言語として正式に採用されています。

KotlinJavaと相互運用できるような設定で作られており、Kotlinを使用してJavaコードを呼び出す事が出来、その逆もまた然りです。更にJavaよりも簡潔で安全に記述する事が可能です。

 

Kotlinが利用される背景

 

 

Kotlinが利用されるようになった背景としてはJavaJVMと言うキーワードが重要になってきます。

Javaは長い歴史を持ち、様々なアプリケーションで運用されています。未だに進化を続けているJavaですが、Java単体でコードを記述しようとすると冗長な文が必要となり、安全性への問題も指摘されています。

そういった問題を解決するために簡潔かつ安全なJavaコードのプログラミングを行えるJVMとその開発言語が誕生しました。JVMは対応言語で記述した簡潔なコードを様々なOSでJavaのソースコードにコンパイルしてくれる翻訳者の様な役割で、JVM上で動作させることができるプログラミングとして複数の言語が開発されました。

 

上記の様な理由で誕生したプログラミング言語の一つがKotlinです。

 

Kotlinで開発出来る事

 

アプリケーション開発ができる

 

 

Kotlinで出来ることはシンプルにアプリケーションの開発です。Web上のアプリケーションからスマートフォンなどのアプリケーション開発を行うためのバックエンド言語として使用する事が可能で、特にAndroidのアプリケーションを開発する現場においては多くの現場でKotlinが使用されています。

 

Kotlinの特徴

 

静的型付けオブジェクト指向

 

 

オブジェクト指向には、静的型付けと動的型付けの2種類があり、Kotlinは静的型付けオブジェクト指向の言語になります。

静的型付けは、コードをコンパイルする際にチェックする言語で、JavaやC、C#といった言語がこれにあたります。特徴としてプログラムの実行速度が早いというメリットが有りますが、毎回コンパイル作業を行う必要が有ります。

一方動的型付けはプログラムを実行する都度チェックする言語で、JavaScriptやPython、Rubyといった言語がこれにあたります。特徴としてコンパイル作業を毎回しなくても自動で行なってくれるメリットが有りますが、静的型つけ言語と比較してプログラムの実行処理速度が比較的遅いという面が有ります。

 

Javaの簡単記述と相互運用

 

 

Kotlinは型推論やラムダ式、拡張関数などサポートしており、シンプルかつ簡潔なコードを記述する事が可能です。

また、KotlinはJava と相互運用することを目的に開発されているのでKotlinからJavaをJava からKotlinをJVM上で呼び出す事が出来ます。

 

Null参照の安全性が高い

 

 

Kotlinは不必要なNull参照を排除できるように設計されているため安全性が高いです。

Nullとは何もないことを表しており、何もない実行が起こった際にコンパイルが通らないようにし、不正なアクセスを防ぐことをNull参照と言います。

Kotlinでは、Nullを持つ変数と持たない変数を区別して判別します。これにより、安全性の高いコードを記述する事が可能になります。

 

Android開発が容易

 

 

KotlinはJetBrains社が提供しているAndroidStudioを使用してアプリケーションの開発を行う事が出来ます

アプリケーションを開発する上で統合開発環境は非常に重要なのですが、AndroidStudioを提供しているのもKotlinを開発したのも同じJetBrainsです。

現在Androidのアプリケーション開発の現場において多くの人がAndroidStudioを使用しています。そういった環境からKotlinを利用したアプリケーションの開発は非常に行いやすいという利点があります。

 

Googleが公式言語として採用

 

 

Google2017年にKotlinAndroidの正式言語にすると発表し、サポートを行うことを宣言しました。

これはKotlinがNull安全性や既存のAndroid用のライブラリーと相互運用できると言う点から安全性や効率性の面でJavaよりも高いと評価した結果のようです。

この様なサポートもあり、KotlinはiOSのSwift言語のような立ち位置になるのでは?と言われています。

 

現場iOSの開発を行うのであればSwift言語で開発することがほとんどです。現在多くの人がAndroid開発を行う際にKotlinを使用しているひとが増えてきているため、Androidを開発したいならKotlinと呼ばれる未来も近いのではないでしょうか。

 

Geekly Media ライター

とげみ

0

【ハイブリッドクラウドとは】オンプレミス環境とクラウド環境の違いから徹底解説!

ITインフラを全て構築していた時代から、クラウドサービスを業務に導入するようになり、会社によって社内ITインフラとクラウドサービスを同時併用するハイブリットクラウドを利用する企業が増えてきました。本記事では、そんなハイブリットクラウドの特徴をオンプレミスとクラウド環境の違いを説明しながら紹介します。

 

ハイブリットクラウド

 

ハイブリットクラウドとは?

 

 

ハイブリットクラウドは、オンプレミスな環境やパブリックなクラウド、プライベートクラウドなど最適な環境を組み合わせて(ハイブリット)構築した環境のことを指します。

近年データ処理に必要な運用コストや理想的なIT基盤を構築するためにデータをインターネットに接続する環境でどこでも使用出来る様にするクラウドという技術に注目が集まっています。

しかし、企業の重要な情報・システムを全てクラウド化してしまうとセキュリティー面や資金面で不安が残ります。そう行った場合に、企業の根幹に関わるような情報は社内のサーバーで従来通り扱い、社内サポートのためのアプリケーションやデータについてはクラウドサービスを利用するといったように必要な部分のみを選択してクラウド化したい場合にハイブリットクラウド環境が選ばれています。

 

オンプレミス環境とクラウド環境をハイブリットクラウドと比較するために、それぞれの特徴や欠点を先に紹介します。

 

オンプレミス環境

 

オンプレミス環境とは?

 

 

オンプレミス環境とは自社でサーバーやストレージ、ソフトウェアなどの情報システムを構築し運用している環境の事です。

会社独自のシステム体制を自由に作成でき、強固なセキュリティー体制を構築できるメリットは有りますが、システムのアップグレードやメンテナンスなど拡張や運用保守に対する時間や金銭的な運用コストが非常に高いというデメリットが有ります。

 

オンプレミス環境の特徴

 

 

オンプレミス環境は高いセキュリティー環境の中で自由にシステムをカスタマイズし、既存の社内システムと連携を取ることが出来るという特徴が有ります

自社で運用している情報システムのため、欲しい機能や性能を自前で構築することができ非常に拡張性が高いです。また、パブリックなインターネットに繋がっていない環境でシステムの保守・運用を行うことができるためハッキングやサイバーテロのリスクを軽減させることが出来ます。

更に自社で環境構築・拡張を行うため、既に採用している社内システムとの連携を前提にシステムの作成ができます。

 

オンプレミス環境の欠点

 

 

オンプレミス環境の欠点は金銭や時間的な運用コストが非常に高い点です。

オンプレミス環境を整えるためには、自前でサーバーやストレージ、ソフトウェア、ネットワーク機器などを購入する必要がありそれらの初期投資にお金が掛かります

また運用するための電気代、運用保守を行ってくれる人の給料を支払う必要が有りますし、システムの購入から構築まで数ヶ月の期間を要する場合が有ります。

更に、システム障害などが発生したい場合は専門家や従業員が現地へ出向いて作業を行う必要があり、大企業などでシステム障害が起こってしまうと早朝でも深夜でも対応しなければならないという大変な事態が発生します。

 

クラウド環境

 

クラウド環境とは?

 

 

クラウド環境とはインターネットに接続されたサーバーの事を指しており、この環境を利用して提供するサービスのことをクラウドサービスと言います。

利用者はインターネットに接続できる環境さえあればどこからでもサービスを利用することが可能で、どこのサーバーと繋がっているのか意識する必要が有りません

スマートフォンやPCを個人利用している人は、知らないうちに使用しているということも多く、googleが提供しているGmailやgoogle Driveなどもクラウドサービスになります。

 

クラウド環境の特徴

 

 

クラウド環境は低コストで、利用したいサービスをすぐに使用することができるという特徴があります。

例えば社内でファイル共有や進捗管理などの営業ツールを利用したい場合、それを提供しているクラウドサービスを利用すれば、登録するだけですぐに使用することができるようになります。

これらのシステム運用は全てサービスの提供元が行ってくれるため、利用者はアップグレードや、システムの保守といった点に気を使う必要がなくなります。

 

クラウド環境の欠点

 

 

クラウドサービスの欠点はオンプレミス環境と比較してやセキュリティーやシステムの連携面で劣る点が挙げられます。

クラウドサービスは、プライベートネットワークを使用した接続を行なっているため基本的にセキュリティーは高いのですが、完全に閉鎖された環境ではないためハッキングや、そもそもサービス提供者が内容を閲覧できる環境下でないことの保証など不安が残る可能性が有ります。

またサービスによっては、競合対策として既に取り入れているシステムとの連携がとれなかったりする可能性があります。例えば既存の内部システムとしてメールはA社のアプリケーションを利用しているが、画像やファイルの保管用にB社のクラウドサービスを導入すると連携できず、B社のメールアプリケーションを利用しなければならないという感じです。

 

実際には上で挙げたようなことが発生することは考えにくいですが、あくまで可能性の話として捉えて頂けると幸いです。

 

Geekly Media ライター

とげみ

1+

【eスポーツ】気になる将来性から市場規模まで徹底解説!これから本当に流行るのか?

皆さんはeスポーツという言葉を聞いた事がありますか?年々需要や市場規模が上昇しており、特に若い世代の人はeスポーツの知見が詳しかったり、既にそれを目的にゲームを行なったりしている人もいるのではないでしょうか。
本記事では、そんなeスポーツについて将来性や市場規模、人気のオンラインゲームなどをまとめて解説します。

 

eスポーツとは?

 

デジタルゲームを使用した競技

 

 

eスポーツは、デジタルコンテンツを使用した競技です。バスケットボールやサッカーと同じ様にオンライン上で対戦相手と勝負を行い、世界1や地域1を決める大会、賞金、プロチームなどが存在することから、インターネットスポーツとして認知される様になりました。

 

オンラインでゲームを行える環境から普及

 

 

昔からシンプルなルールや低グラディックゲームであればオンライン上での対戦も容易に行なう事ができました。しかしゲームの性能を高めると、そもそもプレイするためのPCやゲームハードのスペックに問題が発生したり、日本と国外のプレイヤーとの対戦の際に遅延が発生したりなどフェアなゲーム作成というのが難しい環境でした。

その後通信環境やコンピューターの基本スペックが改善、スマホの普及などが行われることによって高クオリティーかつオンライン上で別のプレイヤーと対戦する事が容易になりました。

そういった環境の改善から多くのプレイヤーの人口が増加し、eスポーツと呼ばれるほどのゲームが誕生してきました。

 

eポーツの市場規模

 

2000億円を超える市場規模

 

eスポーツの市場規模は2018年で16.2億ドル(2000億円)2023年には23億ドル(2500億を超えてくると予想されています。

eスポーツのプレイヤー人口は年々増加しており、2016年から2018年にかけて世界人口が3億人から4億人近くまで上昇しています。このままの人口成長率を維持すると、2021年には6億人近くまで人口が上昇する見込みが立っています。

 

それと同時に賞金総額も増加傾向にあり、Dota2というMOVA(Multiplayer Online Battle Arena)系ゲームでは今までに16900万ドル(180億円)の賞金を提供しています。

市場規模2000億円という大きさは、国内の電子書籍の市場と近いものがあり、市場としても無視できないほどの規模になってきています。

 

日本でも優勝賞金1億円のイベントが開催

 

 

日本でもeスポーツの大会は開催されていますが、サイバーエージェントの子会社CyberZが開催したRAGEというイベントは国内最大級の1万人を動員したイベントとなり話題を呼びました。

その中で行われたShadowverseというオンラインカードゲームの世界大会で、優勝賞金1億円という金額を提供し日本でもeスポーツ人気が白熱していることをアピールするきっかけになりました。

 

日本でのオンラインゲームの普及は遅い

 

オンラインゲーム市場への参入が遅い

 

 

日本では、任天堂やSONYの優れたゲームメーカーによるコンシューマー向けのゲームハードの普及が長い間続きました。そのため、ゲーム=テレビ画面や専用のゲーム機で行うものという考えが定着しており、PCなどのオンライン上でゲームを行うという考えが少なかったようです。

その間PC上やスマホでのオンライゲームの開発は海外で活発に行われており、オンラインゲーム市場への先導権は奪われてしまい、日本は出遅れてしまったと考える人もいるようです。

 

賞金の法規制

 

 

海外では、高額な賞金を提供する大会が数多くあるが、日本では中々高額な賞金を提供することが法律上難しいという現状があります。これは、高額な賞金を出eスポーツが日本の刑法上の賭博罪にあたるのでははという懸念からです。

例えば1億円の賞金を出すゲームの大会を日本で開催するとして、その大会に出場するための参加料を1000円に設定し、参加者100,000人がこの大会に参加すると参加費で賞金を賄うことができます。

このような参加料を徴収して賞金を出すタイプの大会は刑法上の賭博に該当するとして日本では開催することが出来ません。

 

そのため、日本でのeスポーツの大会において現状賞金は企業やスポンサーが全て賄う必要が有り、参加者から費用を取ることが認められていません。こう行った条件下では海外のように高額の賞金を提出するのが難しくなり、eスポーツの大会の盛り上がりもやや出遅れているという形になっています。

 

Geekly Media ライター

とげみ

0