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

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

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

 

ハイブリットクラウド

 

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

 

 

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

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

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

 

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

 

オンプレミス環境

 

オンプレミス環境とは?

 

 

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

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

 

オンプレミス環境の特徴

 

 

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

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

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

 

オンプレミス環境の欠点

 

 

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

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

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

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

 

クラウド環境

 

クラウド環境とは?

 

 

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

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

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

 

クラウド環境の特徴

 

 

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

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

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

 

クラウド環境の欠点

 

 

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

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

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

 

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

 

Geekly Media ライター

とげみ

1+

ApacheとNginxを徹底比較!両者の違いや、それぞれのメリット・デメリットまで、分かりやすく解説します

数多くあるWebサーバの中でも根強い人気がある「Apache(アパッチ)」と人気急上昇中の「Nginx(エンジンエックス)」。Webサーバはシステムの基盤の重要な部分です。理解せずに使うとクライアントへのレスポンスにも影響を与えます。本記事では「Apache」と「Nginx」のWebサーバを比較しながらメリット・デメリットを紹介します。

 

ApacheとNginxの基本情報

 

Apacheとは?

 

 

ApacheはApacheソフトウェア財団によって開発されたOSSです。元々は米国立スーパーコンピュータ応用研究所 (NCSA) が開発したNCSA HTTPdに改良という形で開発が行われていました。

その後、2000年頃にBrian Behlendorf(ブライアン・ベレンドルフ)の手によってソースコードは完全に書き換えられました。彼はApacheの基盤を作成した主要開発者です。

Apacheの正式名称はApache HTTP Server(アパッチ エイチティーティーピー サーバ)。

名前の由来はアメリカインディアンの一民族であるアパッチ族への尊敬の念を込めて付けられたのことです。

 

Nginxとは?

 

 

NginxはNginx,Inc.のCTOのIgor Vladimirovich Sysoev(イーゴリ・ウラジーミロヴィチ・シソエフ)によって開発されたOSSです。2002年に開発が始まり、2004年に初公開されました。

その頃もApacheのWebサーバが絶大な人気がありました。しかし、Apacheの仕組み上どうしても発生しうる問題がありました。それがC10K問題です。

その問題をきっかけにNginxが開発され始めました。

 

C10K問題とは?

 

「C10K問題」(クライアント1万台問題)とは、同時接続するクライアントが多すぎるとソフトウェア上の問題によりサーバーがパンクしてしまうことです。

例えば想定されるのがプロセス番号です。

UNIX系のOSの場合、メモリ上でプログラムに与えられるプロセス番号は符号付き16ビット整数と決まっています。言い換えるとプロセスは1~32767までの番号が割り付けられます。つまり、1リクエストに対して1つのプロセスを生成するWebサーバ(Apache)の場合、約3万リクエストが最大の同時接続数となります。

ハードウェアの性能上問題がなくてもアーキテクチャ(設計)によってはソフトウェアで上限が決まっているということです。

 

ApacheとNginxを比較

 

Webサーバのアーキテクチャ

 

 

上述しましたが、Apacheでは1リクエストに対して1プロセスが処理されます。

例えば100の同時接続があれば、100のプロセスが必要となります。数多くのプロセスが立ち上がるとプロセス番号の限界やメモリが大量に消費されてしまうという問題があります。

対してNginxでは1プロセスで複数のリクエストに対応します。

同時接続数の上限が設定可能で、具体的な設定パラメータを挙げると「プロセス数」と「プロセス内で最大の同時処理数」の乗算で上限が決まります。

例えば「プロセス数」を2つ、「プロセス内で最大の同時処理数」を1000に設定すると最大同時接続数は2×1000=2000となります。

 

処理能力

 

軽量なコンテンツの同時接続100アクセス状況下の実験結果、ApacheよりもNginxの方が1.2倍~1.5倍ほど高いという情報が出ています。更に同時接続数が増えれば増えるほど処理能力差が顕著に出てきます。

 

同時接続数

 

 

マルチプロセス(Apache)とシングルスレッド(Nginx)の違いからNginxはApacheの10~100倍ほど対応できると言われています。

 

適したコンテンツ

 

マルチプロセス(Apache)は動的コンテンツのような重たい処理が得意ですが、シングルスレッド(Nginx)は向いていません。

軽量なコンテンツはどちらも得意と言えますが、同時処理数が増えるとシングルスレッド(Nginx)が有利になります。

 

メモリ消費量

 

シングルスレッド(Nginx)は同時処理数が増えてもそれほどメモリ使用量は変わりませんが、マルチプロセス(Apache)はリクエストの量に応じてメモリが消費されます。同時処理数が少ない場合には両者にあまり違いはありません。

 

Geekly Media ライター

バスコ

1+

【徹底比較!】CTO vs VPoE!両者の違いからそれぞれに求められる役割まで分かりやすく解説します!

会社の組織体系のトップに位置するのはCEOですが、技術部門のトップに位置する人のことをCTOと呼びます。更にこの技術部門の中を見て見ると、CTOを中心として、VPoEやVPoPなど様々な役職が有ります。本記事では、そんな開発の現場で良く混同されるCTOとVPoEの2つの役職をピックアップし、両者の違いから、それぞれに求められる能力などをご紹介します。

 

CTO

 

CTOとは?

 

 

CTOはChief Executive Officerの略で、日本語では最高技術責任者と訳します。その名の通り技術部門のトップとして会社の経営に参加し、 経営視点で技術部門を指揮する立場になります。

技術部門の方向性や開発方針の舵取りをする責任者という重大な役割を持っていますが、会社法によって設置を義務付けられたものではありません。そのためあくまで会社によって決められた役職ということになります。

情報技術の発展によりどこの会社でも技術部門を設立するようになり、CTOという名前が付けられることが一般的になりました。

 

VPoE

 

VPoEとは?

 

VPoEはVice President of Engineerの略で、日本語では技術部門のマネジメント責任者と訳されます。

VPoEはエンジニア組織が円滑に仕事をできる環境や、開発を行えるべく技術力を向上させるために採用や指導、環境改善などを行うことによってチームのマネジメントを行う役割を担っています。

主に欧米などでは以前からVPoEの役職は一般的でしたが、日本でもメルカリやSpeee、Gunosy など多くの会社でVPoEのポジションが設置されており、確実に浸透しつつあります。

CTOは聞いたことがあっても、 VPoEは初めて聞いたという方もいらっしゃるのではないでしょうか。

 

CTOとVPoEの違い

 

 

CTOは開発や技術方針の舵取り、VPoEは組織のマネジメントという説明をしましたが、その言葉通り両者にはエンジニア部門での責任者という共通点と課題解決と組織マネジメントという相違点があります

CTOもVPoEもエンジニア組織の責任者として、それぞれの役割を全うする責任を持ちますが、CTOは経営の視点に立ち、会社が今後仕事を継続・発展していくための技術的方向性や開発方針を導く必要があります。一方でVPoEはCTOが打ち出した方針に対してエンジニア組織の能力をアップさせるために新たな人材を入れたり、能力向上のために環境を改善したりなどのマネジメントを行う必要があります

 

CTOに求められる役割

 

経営面から見た技術的な意思決定

 

 

営利企業でも、日営利企業でも会社の利益を今以上に向上させるにはどのような施策が必要か?という課題に対して常に模索する必要があり、技術部門はそのための開発を続ける必要がります。

エンジニアが闇雲に新サービスを開発したり、システムを導入したりしても会社にとってそれがプラスになるかと言われると分かりませんし、技術は高くても会社がターゲットにしている顧客ニーズにはマッチしていない可能性があります。

そういった問題を回避するためにCTOは、会社としての方針や顧客ターゲットからニーズを汲み取り、エンジニア部門に対して目指すべき開発の道筋を示す必要があるのです。

 

VPoEに求められる役割

 

エンジニアチームのパフォーマンス向上

 

 

VPoEは会社としてエンジニア組織の能力を向上させるためにマネジメントを行う役割を持ちます。より端的に言うと使えるエンジニアチームの育成を行うことが命題となります。

基本的に会社の方針はCEOやCTO含め、会社の上層部が行う役員会議で決定づけられます。その中でCTOが指針した方針に対してVPoEは実現可能なレベルにエンジニアのチームビルディングを行います

そのための仕事は多岐に渡り、新たな人材を迎い入れるための採用や育成、働きやすい環境づくりなどチームを強化させるという目的の元あらゆる手段を利用します。

 

多部署との連携

 

 

VPoEは会社の営業や人事、法務などのトップとの連携を上手く図ることも大切な役割です。

お互いの現状や、希望を理解し合いそれを上手くチームに伝えることで循環する環境作りが出来ます。

それぞれのチームが日々仕事に追われてくると目の前の仕事に手一杯で他のことに手が回らなくなる状況が来ます。

そういった際に上手く指示を送れる立場として多部署と円滑な話し合いが出来るコミュニケーション能力が求められます

 

Geekly Media ライター

とげみ

0

ゲームデザイナーを徹底解説!気になる年収から求められるスキル、プランナーとの違いまで幅広くご紹介します!

スマートフォンが発達して、より気軽にゲームを遊べるようになりゲーム市場は盛り上がりを見せています。そんなゲームを作成するときに必要な職種にゲームデザイナーという仕事があることをご存知ですか?今回はゲームデザイナーとはどんな仕事で、どんなスキルが必要なのかについて詳しく紹介していきます。

 

ゲームデザイナーとは

 

 

ゲームデザイナーとは、言葉通りゲームのデザインをするお仕事です。

大きく分けると以下2種類となります。

 

・CGデザイナー

ゲームにおけるステージやキャラクターを作るお仕事となります。アニメーションや背景グラフィック、デモムービーなど機能に合わせたデザインを心掛ける必要があります。

・UI/UXデザイナー

スムーズなゲーム「体験」を行ってもらうことを目的にデザインを行います。タイトル・メニュー画面の作成、ボタン・アイコンなどの最適化、フォントや文章などを中心にデザインしていきます。

 

以上が一般的に「ゲームデザイナー」と呼ばれて思い浮かぶものだと思います。ただ他にも挙げるとするならば、デザインとは元々「設計」や「意匠」という意味を持っているので、キャラクターなどのデザインだけにとらわれずゲーム作品全体の企画・構成を作っていく仕事でもあります。ゲームシステムや世界観など0からゲームを作っていきます。

「ゲームデザイナー」と一口に言っても業務内容が多岐にわたることは覚えておいていいかもしれません。

 

ゲームデザイナーは売り上げに大きくかかわる仕事

 

 

ゲームデザイナーの仕事は非常に重要です。

なぜならどんなに企画のゲームであっても、全体のバランスや世界観が良くないとお面白いゲームを作ることができないからです。

 

暇つぶしにやるという単純なゲームも増えてきていますが、ハマるゲームというのは感情移入することができたり、非日常を経験することができるゲームです。

ゲーム全体のバランスが悪いとプレイしていて違和感が出てきて感情移入しにくいですし、世界観が陳腐だとのめりこむことができません。

ゲーム作成はゲームデザインナーから始まる仕事なので、設計の良し悪しで売れるか売れないかというのは大きく変わってくるのです。

 

ゲームプランナーとの違いは?

 

 

ゲームデザイナーの仕事を調べているとゲームプランナーという仕事をよく見かけます。

ゲームプランナーはゲームをプランニング(立案・企画)する仕事なので、ゲームを0から立案し企画を作っていく仕事なので企画から完成まで携わります。

つまり、ゲームの全体的な設計をプランニングしていくわけです

 

先ほど言った通りゲームデザイナーはゲームをデザイン(設計・意匠)する仕事でもあるので、ゲームの骨組みを設計してため当然企画立案にかかわっていきます。

しかし、ゲームデザイナーは基本的には「CGデザイナー」「UI/UXデザイナー」が主な業務となるので、被る部分はあったとしても、基本的には違うものと捉えて問題ないでしょう。

 

ゲームデザイナーの年収は?

 

 

そんなゲーム作りにおいて非常に重要なゲームデザインナーの仕事ですが、やはり目指すならどれくらい稼ぐことができるのかというのも気になりますよね。

 

転職会議が統計を取っているデータからは、ゲームプランナーの平均年収は378万円だと言われています。

世代別だと20代前半は平均323万円・20代後半は平均355万円・30代は平均426万円・40代以上は平均406万円となっています。

しかし、これはあくまで平均年収であってこれ以上稼いでる方もいれば稼げない方もいます。ゲームデザイナーはゲームの核を作る仕事なため売り上げに直結する仕事なので、評価が分かりやすいです。

参考:https://jobtalk.jp/salary_matome/jobs/129

 

Geekly Media ライター

0

【徹底比較!】フロントエンド vs バックエンド!両者の違いから必要なスキル、将来性まで分かりやすくご紹介します!

フロントエンドやバックエンドといった言葉は主にWebサイトの製作現場でよく使用されます。言葉を直訳すると分かるようにWebサイトの製作には大別すると前と後ろで大きく2つに分けることができます。本記事では、フロントエンドとバックエンドの違いから、必要なスキル、将来性などをまとめてご紹介します。

 

フロントエンドとバックエンドの違い

 

まずは両者の違いを説明

 

 

本記事を紹介する前に、フロントエンドとバックエンドの違いを最初に簡単に説明します。

フロントエンドはユーザーが見ているWebサイトの見た目の部分を製作するエンジニアで、バックエンドはそれをサポートする裏側の部分を担当するエンジニアのことを指します。

ユーザーがマウスやトラックパッドを利用してWebサイトを閲覧、動的なクリックができる設計を行うのがフロントエンドエンジニア仕事で、ログイン情報の入力や会員登録などを行える環境やそれらの情報を元にデータの保存や処理、呼び出しといった裏側の処理を行うのがバックエンドエンジニアの仕事です。

 

フロントエンド

 

フロントエンドとは?

 

 

前項でフロントエンドとは一般的にWebサイトの視覚的な部分を担当するエンジニアのことを指すと説明しました。

これは具体的にいうとクライアントが作成したいWebサイトのデザインを元に、HTMLやCSS、JavaScriptといった言語を使用してユーザーが視覚的にWebサイトを閲覧出来るよう状態にします。

また、スマートフォン、PC、タブレットなど様々なサイズの電子機器があるためそれぞれに合わせたサイズ設定(UI)や使いやすいデザイン性(UX)を求められることが多いです。

 

バックエンド

 

バックエンドとは?

 

 

バックエンドとは、一般的にWebサイトの目につかない裏側の部分を担当するエンジニアのことを指しています。

案件に応じてサーバーサイドやデータベースの要件定義や設計・開発、運用保守などをおこないます。そのため、会員情報登録やクレジットカード決済など個人情報のデータ管理など、ユーザー毎に別の見た目を形成する必要がある場合に特にバックエンドエンジニアが必要になってきます。

 

両者に必要な能力

 

フロントエンドエンジニアになるために必要な能力

 

 

フロントエンドエンジニアになるには、ウェブページを形作るHTML・見た目を良くするCSS・動的な要素を加えるJavaScriptの3つの言語知識が必要不可欠です。

基本的にはこれらの開発言語を知っていないと視覚的かつ現代的なWebサイトは製作することができないためこれらの知識は最低限必須になっています。

更に多くの場合で、これらの言語を使用した枠組み(フレームワーク)を合わせて利用しています。これは、よく使われる機能や見た目を枠組み化して簡単に実装できるようにしもので、CSSの見た目を良くするBootstrapがよく利用されています。

また、必須ではありませんがデザインに対する知識もある程度持ち合わせておいた方が良いでしょう。クライアントによってはデザイン案の一部をフロントエンドエンジニアに投げることもあります、そのような場合に自身である程度デザインできればより歓迎されるフロントエンジニアになるのではと思います。

 

バックエンドエンジニアになるために必要な能力

 

 

バックエンドエンジニアになるための必須能力として、バックエンドの開発言語とミドルウェアの知識が必要になります

Java・C++といったコンパイラ言語、もしくはPHP、Ruby、Pythonといったインタプリタ言語を習得しておく必要が有ります。後者の方がプログラムの実行速度が速いため多くの企業が後者を採用しています。

それと同時によく利用される処理部分を枠組み化したフレームワークが開発言語にもあり、Ruby on Rails やCakePHPといった言語別のフレームワークも合わせて習得しておいた方が良いでしょう。

またハードウェアとフロントエンドエンジニアが製作したアプリケーションを繋ぐためにはミドルウェアという補完ソフトウェアを組み込む必要があり、その知識も必要です。例えばWebサイトの情報を送受信させるApacheやデータベースを管理するためのMySQLは多くのWebサイトで使用されるため習得しておくと歓迎されます。

 

大規模なWebアプリケーション開発になると、共同で作業を分割して行うことも増えてきます。そういった場合はバージョン管理ツールのGitHubを利用することが多いため、これも学んでおいた方が良いです。

 

Geekly Media ライター

とげみ

3+

SREに関して徹底解説!これまでのシステム運用との違いからDevOpsとの違いまで分かりやすく解説します。

近年なにかと話題になるSRE。Googleが提唱したエンジニアの役割であるSREは今までのシステム運用のやり方、そしてDevOpsとはどのような違いがあるのかについては、未だにわからない人も多いです。SREによってどのようなメリットを得られるのか、そしてどういうものなのかについて今回は解説していきます。

 

SREってそもそもどんなもの?

 

Googleが提唱したエンジニアの役割

 

 

なにかと最近話題になるSRE。言葉では聞いたことがあるものの、果たして自分たちには関係があるのか、そう考えていませんか。実はSREを知っておくことで、システム運用において生産性と信頼性を良くすることができるのです。

SREというのはGoogleが提唱したエンジニアの役割です。サイト、信頼性、エンジニアリングの3つの頭文字をとってSREと名付けられています。現在ではGoogle以外にも様々な企業で採用されていますが、それでもまだ実際に採用している企業は少ないです。

 

開発者にとって理想的な運用チーム

 

SREと従来のシステム運用やDevOpsとどう違うのか、という疑問を持つ人も多いはずです。SREと従来のシステム運用の違いは、開発担当が運用チームを依頼するかどうかです。SREの場合は、開発担当が自分たちの理想を実現するために、自分たちで運用チームを設計しようという思想から生まれています。

これにより開発者の理想通りに運用が行われ、作業効率はもちろん、信頼性や運用面において確実で柔軟なシステム運用が実現できます。SREがどのようなことをするか、そしてSREによってどんなメリットが生まれるのかについては後ほど解説します。

 

従来のシステム運用の仕組み

 

開発担当と運用担当は別物

 

ではそもそも今までのシステム運用とはどのような仕組みだったのか、ということについて説明していきます。基本的にはシステムを開発する開発担当と、開発されたシステムを安定的に稼働させるための運用担当というチームが存在します。

そして、それぞれのチームというのは独立しています。つまり開発担当はひたすら開発を、運用担当はひたすら安定的なシステムの稼働に努めていたということになります。これが従来のシステム運用の仕組みなのです。

 

開発担当と運用担当の食い違い

 

 

しかしこの従来のシステム運用というのは、最近になって徐々に減ってきています。一体なぜなのでしょうか。その理由は開発担当と運用担当が異なるチームの場合、どうしても新機能の導入などの部分で不都合が起こってしまうためです。現代のような速いスピードで動く社会において、従来のようなシステム運用では遅れを取ってしまいます。

システムというのは日々新しくなっています。開発担当は日々新しい社会の流れに対応すべく、機能などを追加したりしています。しかし運用担当はあくまで安定した稼働に重点を置いています。そのためもしも新しい機能を実装するとなると、場合によっては不具合などが発生してしまいます。そうなってしまうと運用担当の負担も大きくなるため、どうしても開発担当と運用担当の間に亀裂が生じてしまいます。

 

DevOpsって何?

 

開発担当と運用担当が連携してソフトウェアを作ること

 

 

開発担当と運用担当の間に亀裂が生じてしまっては、システムの進化は到底不可能になってしまいます。そこで登場した手法がDevOpsです。こちらは開発の時点で開発担当と運用担当が連携して開発をする手法です。これによりシステム運用などの部分において、大幅な生産性の向上をすることができました。

開発担当はシステム開発をする時点から安定した運用に重点を置いたシステム開発をすることが可能になり、そして運用担当も実際に運用させた上での改善点などを伝えることが容易になりました。結果的にどうなるのかというと、システム運用などの部分において柔軟性が生まれ、新機能の実装なども容易に行うことができるようになります。

 

生産性向上と穏やかな人間関係

 

 

DevOpsによるメリットは柔軟性が生まれるだけではありません。DevOpsは密接な連携を実現させるために、様々なツールを用いて自動化を取り入れます。自動化を取り入れることによって、従来のシステム開発よりも大幅に作業効率が向上します。

また、開発担当と運用担当が連携するには、コミュニケーションも重要になります。お互いを尊重し、そして支え合うことをしなければ開発が進みません。そのためDevOpsで開発をすることにより、穏やかな人間関係を構築した状態で作業を進めることができます。

 

Geekly Media ライター

どーばー

1+

【徹底比較!】仮想化 vs クラウド!両者の違いからこれからまで分かりやすく解説します!

皆さんはクラウドサービスを利用したことがありますか。世の中には多くのクラウドサービスがありますが、それらのサービスを実現するためには仮想化という手法が採用されています。本記事では、仮想化とクラウドの違いやそれぞれの特徴、実際にビジネスとして採用されている例などをまじえて分かりやすく説明します。

 

仮想化

 

仮想化とは

 

 

仮想化とは、物理的なリソースを複数に分割したり、それを統合したりして使用できるテクノロジーの事を指しています。

例えば一台の物理的なサーバーは安価なものでも高性能な物が多く、どんなに利用しても10~30%程度しか使わず残りの70%はアイドル状態で使用されていないケースが殆どです。

そういった場合に一台の物理的なサーバーを分割して複数の仮想サーバーを作成する事で、資源の無駄を省こうというものです。

 

仮想化の特徴

 

 

仮想化を行うことで、下に記載されている3つの利便性を実現することが出来ます。

 

・システムの無駄をなくす

仮想化についての冒頭部分でも説明しましたが、多くの物理サーバーはその性能の数十%しか使用していません。仮想化の発想が始まる前は一つのアプリケーションに対して一つの物理サーバーを用意することが一般的でしたが、サーバーの性能をフルに使っている企業は少なくシステムリソースの無駄を指摘されていました。

仮想化を行うことで残りのサーバー性能を分散し、別のサービスで利用することでシステムリソースを無駄なく使用することが可能になり、コストの削減にも繋がります。

 

・システムを自由に分割・統合出来る。

仮想化の大きな特徴として、システムリソースを複数に分けるだけでなく、統合することも可能になりました。これにより、複数の物理サーバーの一部を結合し、仮想のサーバーを作成することで拡張性を高めることが出来るようになります。

 

・リスクを分散することが出来る。

複数台のシステムを分割して仮想のサーバーを作ることでシステムのダウンリスクを低減させることが出来るようになります。

例えば一台のサーバーでアプリケーションを動かしていた場合にサーバーが何らかの故障や不具合でダウンしてしまうとサービス全体に影響が出てしまいます。しかし、10台のシステムを複合した仮想サーバーを使用している場合、一つのサーバーがダウンしてもその影響は10%程度と限定的になります。

 

仮想化の種類

 

 

仮想化について主にサーバーをメインに話をしてきましたが、サーバー以外にもストレージやネットワーク、アプリケーションといったリソースを仮想化する事もできます。ここではそれぞれの仮想化について簡単に説明します。

 

・サーバーの仮想化

サーバーの仮想化は、一台の物理サーバーを分割し複数の仮想サーバーを作成することができます。

 

・ストレージの仮想化

ストレージの仮想化は、一台の物理ストレージディスクを分割し複数の論理ディスクを作成することができます。

 

・ネットワークの仮想化

ネットワークの仮想化は、一つのネットワーク回線や機器を仮想化することで複数のネットワークを構築することができます。

 

・アプリケーションの仮想化

アプリケーション仮想化は一つのアプリケーションを仮想化することで複数のサーバーで使用することが出来ます。

 

クラウド

 

クラウドとは

 

クラウドはユーザーがストレージやソフトウェアを用意しなくても、インターネットに繋げるだけでサービスを必要な時に必要な分だけ利用することができるサービスです。

これによりユーザーは、サービスを動かしているコンピューターや接続方法などを意識しなくても簡単にサービスを利用することが出来るようになりました。

 

 

クラウドの特徴(メリット)

 

クラウドサービスを導入するメリットとして、以下の様な利便性を実現することができます。

 

・サーバーを用意する必要がない

クラウドが誕生するまでは、ユーザーがサービスのソフトウェアを購入し自分のサーバーにインストールして使用する必要がありましたが、クラウドサービスの場合は提供しているサービス元がサーバーを用意しており、ユーザーは自社でサーバーを用意しなくてもインターネットに接続するだけでサービスを利用できる様になりました。

 

・メンテナンスが不要

ソフトウェアのアップデートや不具合に対するメンテナンスなどは全てサービスの提供元が行ってくれるためユーザーは更新作業を行う必要がありません。

 

・どこでも利用できる

インターネットに接続する環境さえあればどこでもサービス使用することが出来るため、端末や場所を選ばずどこでも利用することが可能になります。

 

Geekly Media ライター

とげみ

1+

【徹底比較!】Sier vs SES!2つの違いはそもそも何?業界事情から将来性まで徹底解説!

企業などで扱うシステムというのは、ただ導入すれば良いというわけではありません。要件定義から始まり、開発が終わったとしてもその後の運用や保守も必要になります。その企業がシステムを導入する際に出てくる言葉が、SierとSESです。どちらも似たような業種ですが、今回はその両者の違いを様々な視点で解説します。

 

Sierとはどういう仕事?

 

複数のシステムをまとめる企業

 

 

企業の業務の効率化には、システムは必要不可欠です。しかし、企業がシステムのみを購入した場合、そのシステムを管理する人や何か異常が起きた際の保守のために、その分野に精通している人員を確保しなければいけません。そこで多くの企業がシステムを導入する際に利用する企業のことをSierといいます。

システムと言っても、単一で稼働するものばかりではありません。場合によっては複数のシステムを一つにまとめて運用することもあります。Sierというのはその複数のシステムを統合してシステムを開発したり、また運用や保守までを一括して請け負う企業です。

 

システム開発から保守まで一括で請け負う役割

 

Sierの良いところは、システム導入からその後の保守までを委託することができるところです。これにより企業は、システム導入のためにわざわざ余計な人員を確保する必要もありません。その分会社のコストも低く抑えることが可能になります。

システム開発から保守まで請け負うとなると、Sier側の仕事というのは多岐に渡ります。システムの要点定義から始まり、実際にシステムを開発したり複数のシステムを統合するなどして開発をすすめます。場合によっては運用保守も任されることもあります。

 

SESってどういうもの?

 

必要な期間や人数に応じてエンジニアを雇うサービス

 

Sierに似たような企業やサービスは、他にもSESというものが存在します。基本的にSierとSESは業務内容としては非常に似ていますが、SESはSierとは大きく異なる点が一つだけ存在します。それは、システム導入が主な目的ではなく、あくまでエンジニアを雇うという部分が主な目的となります。

なぜエンジニアを雇うことがメインになるのかというと、エンジニアを雇うことで、システムの開発や運用保守などの部分において柔軟に対応することができるためです。例えば一定の期間だけ開発のためにSESを利用し、その後の運用や保守などは自社の社員などに任せる、というようなことができるのは、SESだからこその強みです。必要な期間に必要な人数だけエンジニアを雇う、これがSESの主なスタイルです。

 

派遣と混同されがち

 

 

先程の説明を読むと、あることに気づくはずです。それは、ただ単にエンジニアを雇っているのであれば派遣と同じなのではないのか、ということです。確かにこの説明だけを読むと、派遣契約と似たようなスタイルです。実際にエンジニアのみを派遣するという部分では、通常の派遣会社と同じです。

しかし、あくまでSESというのは、派遣契約のようでそうではありません。これは後ほど説明しますが、指揮命令権がどちらにあるのかという部分が、派遣会社と異なります。基本的にSESの場合、クライアントとは派遣契約ではなく請負契約をするのが一般的です。派遣契約と請負契約の違いは、この指揮命令権がどちらにあるかです。

 

SierとSESの違い

 

SierとSES、業務内容は似ていますが企業が欲しているものによって異なっているということを説明しました。実はそれ以外にもSierとSESでは違いがあるのです。

 

報酬の対象となるもの

 

 

Sierの場合は、開発から運用保守まで一括して請け負っています。とはいえ、あくまで企業が欲しているものはシステムそのものです。つまりいくら開発から保守まで一括請負したとしても、実際にその報酬となるものは、開発などに携わった人ではなく、システムなどの成果物が報酬の対象となってきます。

一方でSESの場合は、一定の期間や人数に応じてエンジニアを雇うことをメインとしています。その間にシステムを開発したり運用や保守などを任せるなど、企業によって依頼することは様々です。システムそのものではなく、あくまでエンジニアを雇っているだけということになるため、SESの場合はエンジニアの勤務時間がそのまま報酬となるのです。

 

システム導入を依頼する企業の負担

 

SierとSESで提供するものが異なるということは、それだけシステムに関することを依頼するときの企業の負担も異なるということなのです。企業によっては、IT関連の部署が無いという会社もあれば、きちんとIT関連の部署がある会社もあります。また、同じIT関連の部署がある会社でも、あくまでシステムの運用や保守がメインとなるところもあれば、開発から運用保守まで万能にこなすことができる部署など、会社の部署の人員によっても異なります

企業が新しいシステムを導入する際、まずは自社の人員を元に検討します。そしてSierを使うかSESを利用するかを決めます。自社にIT関連の部署がない場合はSierを利用することで、余計な人員を確保することなく安定したシステムを手に入れることができ、SESについても自社のIT関連の部署の足りない部分をSESで補うということもできるのです。

 

SierとSESの業界事情を見てみよう

 

Sierで得られるチャンスは規模による?

 

Sierと言っても、依頼された会社の規模によってどのような規模のシステム開発を請け負っているかで、Sierそのものの規模も異なります。当然大きな会社のシステム開発などを請け負っている企業であれば、それだけ大きなシステム開発に携わることができるため、エンジニアなどを志望している人にとっては、きちんとした知識や実績などを身につけることができます。

企業にも大企業と中小企業があるように、Sierにも規模によって大小様々あります。中小Sierの場合は、独自のシステム開発案件を取る他にも、大規模なSierの請負をするということもあります。同じSierでも、会社の規模によっては得られるものも大きく異なるというのが現状です。

 

SES偽装請負問題

 

先程SESについての説明をした際、派遣に似ているようで実は全く違うということを説明しました。そしてその説明の中で、派遣と大きく異なるのは指揮命令権がどちらにあるのか、ということを説明しました。請負契約の場合、基本的に指揮命令権はクライアントではなく請負した事業主になります。今回のSESの場合は、指揮命令権はクライアントではなくエンジニアを送り込んだSES会社にあるということです。

しかし実際は多くのSES会社でこの部分を理解していない会社が多く、指揮命令権がクライアントにある状態が多いです。このような状態の場合、労働者派遣法においては偽装請負ということになり、法律上NGとなります。当然このことが発覚した場合、厳しい罰則を受けることとなります。

 

SierとSESの行く末やいかに

 

物事を捉える上でいい点だけでなく多面的に捉えることで、より客観的な判断が可能になります。

将来性についてもしっかり抑えておきましょう。

 

Geekly Media ライター

どーばー

2+

Webマスターってどんな職種?仕事内容からWebディレクターとの違いまで、徹底解説します!

Webマスターという職業をご存じでしょうか。名前だけだと具体的に何をする仕事なのかわかりにくいですよね。本記事では、Webマスターの仕事内容や必要なスキルを紹介します。また、Webマスターに似ている職業のWebディレクターと何が違うのかを実際の仕事内容や仕事の立ち位置を比較しながら解説していきます!

 

Webマスターとは?

 

 

Webマスターとは、Webサイトの運営と管理を行う職業です。ただし、実際にはWebマスターの仕事は明確に定まっておらず、会社の規模やサイトの種類によって変わります。

基本的には、サイトの情報更新、メンテナンス、コンテンツの編集、サイトの管理などが主な仕事です。

さらに、規模の大きいサイトになると、リニューアルや宣伝の際の販売業者とのマネジメントも仕事に含まれます。

 

サイトの目標を達成する役割

 

Webマスターは、運営しているWebサイトのかかげた目標の達成(会員登録、資料請求、商品の販売など)を目指します。

Webマスターはこのような目標を達成するために必要な仕事を滞りなく完遂する役割を課せられます。

 

サイトの目的や規模に応じて必要なスキルは異なる

 

先ほども説明したようにWebマスターには、明確な仕事内容というものはありません。そのため、必要なスキルや経験などもわからず、サイトの目的や規模に応じて企業の求める人材が異なります。

 

Webディレクターとは?

 

 

Webディレクターとは、Webサイトを作成するプロジェクトを監督する責任者のことを指し、クライアントからの要望に適したWebコンテンツを作成することが仕事となります。

Webディレクターの仕事は、スケジュールの管理、コンテンツの管理、プロジェクトメンバーの選定、クライアントの要望の聞き取りなど様々です。

 

プロジェクト全体の指揮をとる役割

 

WebディレクターはWebライター、Webプランナー、SEOエンジニア、Webデザイナーなどのプロジェクトメンバーをまとめ、意見を聞き、コンテンツの作成を滞りなく進めることが重要となります。

他にも、必要に応じてプロジェクトメンバーに対して、指導や指示を行うこともあります。

 

幅広いスキルが求められる

 

Webディレクターは、プロジェクトの進行、予算を管理するスキルを始め、コミュニケーションスキル、リーダーシップが求められます。

さらに、直接作成に関わりませんが、プロジェクトメンバーに指示を出すために最低限度のプログラミングやSEO、デザインの知識なども必要です。

 

Webマスターの具体的な仕事内容

 

 

WebマスターはWebサイト全体にかかわるため、仕事内容は多岐にわたります。以下が一例ですが、大まかな仕事内容です。

 

商品の仕入れと準備

 

・商品の仕入れと価格の設定

・仕入れ先ルートの交渉

・ラッピングや梱包の資材収集

・宅配業者との交渉

・代金回収、クレジット会社との交渉

・レンタルサーバーの選択

・マーケット調査

 

商品の販売促進・サイトの更新

 

・季節/目的に合わせた商品のキャンペーン計画

・商品.キャンペーンページ作成とアップロード

・掲示板やお問い合わせの対応

・SEO対策

・サイトにアクセスした顧客の動向分析

 

Geekly Media ライター

ib515

0