【徹底比較!】CGデザイナー vs グラフィックデザイナー!両者の違いからできることまで幅広くご紹介します!

  CGデザイナーとは?     CGとはコンピューターグラフィックスの略であり、雑に言ってしまえばパソコンでデザインをする人を指します。PhotoshopやIllustratorなどを使う …

 

CGデザイナーとは?

 

 

CGとはコンピューターグラフィックスの略であり、雑に言ってしまえばパソコンでデザインをする人を指します。PhotoshopやIllustratorなどを使うことで幅広い仕事を受け持つことができます。パソコンは広く普及しており、比例するようにCGデザイナーの人は増えました。現代ではいなくては困ると言っても過言ではないでしょう。

 

グラフィックデザイナーとは?

 

 

一昔前であれば、パソコンを使わずに手で書いたデザインを起こす人を指していました。しかし、現代はパソコンが広く普及し、作業効率の面でもPhotoshopやIllustratorを使うようになってきています。一部グラフィックデザイナーはパソコンを使わずに手で書いた仕事もしています。しかし、パソコンで作業をする人のほうが多いのも事実です。

このように書くとCGデザイナーとの違いがよくわからなくなってしまうかもしれません。ではCGデザイナーとグラフィックデザイナーの大きな違いはどこにあるのか次の項目で見ていきましょう。

 

大きな違いは行う仕事内容にあり

 

 

CGデザイナーもグラフィックデザイナーもパソコンでデザインをする点は共通しています。しかし、大きな違いは仕事内容にあります。CGデザイナーはキャラクターや映像などのデザインを行い、グラフィックデザイナーはポスターや広告、CDジャケット、カタログなどの紙媒体の仕事を行うことで分かれます。

紙媒体の仕事は昔からあり、チラシやパンフレットなどを想像すればわかりやすいでしょう。一昔前はパソコンが普及しておらず、グラフィックデザイナーは自身の手でデザインしていました。いうなればCGデザイナーのほうが割と最近できた職業と言ってもいいのかもしれません。

CGデザイナーかグラフィックデザイナーかどちらになるか迷っている場合は興味のある仕事を行っている方を選びましょう。

 

CGデザイナーになるには?

 

 

CGデザイナーに興味を持っているのであれば、必要なスキルやなり方を知っておくといいでしょう。

 

必要なスキル

 

 

最低限でもPhotoshopのスキルとデザインの基礎知識は持っておくことが重要です。これにIllustratorを扱えるようになるといいです。資格として持っていると有利なのがCGクリエイター検定、Photoshopクリエイター能力検定試験、Illustratorクリエイター能力認定試験、色彩検定です。

また、3DCGのデザイナーになる場合はDモデリングソフトを扱えるようになるといいでしょう。代表的なのはMaya、3DSMAX、LightWaveなどが挙げられます。こちらは希望する業界が何を使われているかチェックすることをおすすめします。

 

学習するには?

 

CGデザイナーとしての能力を得たいのであれば、専門学校(スクール)や独学、現場で習うの3通りが考えられます。専門学校は多く存在しますので、自身が興味のある業界への就職に有利な学校を選ぶといいです。独学の場合はCGデザイナーの本も販売されているので読みながら一人で学ぶことができます。現場で習うのもアリです。未経験でも雇ってくれるところがあれば学校よりも早いスピードで習得できるでしょう。

 

習得するとどんな業界に行けるか?

 

CGデザイナーの仕事は多岐にわたり、ゲームやアニメ、映画、テレビ、建築の図面作成など多岐にわたります。また、2Dや3DのCG製作もあり、専門性が高い3DCGデザイナーは重宝される傾向があります。

 

未経験でも大丈夫か?

 

CGデザイナーはある程度のデッサン能力色彩感覚を持っていると有利です。あまりにも絵が下手な人は相応の努力をしないと難しいのが正直なところです。専門学校に通う場合は多くの人が未経験から学んでいるので、ゆっくり着実にスキルを得ることができるでしょう。

 

気になる年収は?

 

新卒の場合だと240万円前後が目安になります。全体としては300万円から500万円の間ともいわれており、平均的な収入を得ることができます。CGデザイナーからディレクターやプロデューサーになると大幅に年収アップし、700万円から1,000万円の年収が見込めます。

 

Geekly Media ライター

geekly

0

【プログラミング言語】Javaってどんな言語?その仕様からC言語との違いまで徹底解説!

Javaというプログラミング言語はよく聞きますがC言語とどう違うのかハッキリしていない方って多いと思います。実はJavaには大きな特徴があり、他にも有名な言語であるC言語とは違う魅力があるのです。今回はJavaとC言語の違いを中心にどんな仕事があるのかも紹介します。もし、何の言語を学ぼうか迷っているのであれば一読してください

 

Javaとはどんな言語なのか?

 

 

Javaは1995年に公開されオブジェクト指向プログラミングの代表例として紹介されることも多いです。ちなみにですがJavaScriptという言語もありますが、こちらはJavaとは似ても似つかないものです。JavaがメロンだったらJavaScriptはメロンパンくらいの違いがあります。話がそれてしまいましたがJavaの特徴はどのようなものがあるのか見ていきましょう。

 

Write Once, Run Anywhere

 

Javaを語る上で欠かせないのが「Write Once, Run Anywhere(一度書けば、ずっと実行される)」です。JavaはOSに依存せずにプログラミングを実行できるのが最大の特徴です。ですので一度コードを書けばWindowsでもLinuxでも対応されているOSならすべて実行できます。C言語ではこのようにいきません。

 

コンパイラ言語である

 

プログラム言語には大きく分けると2つあり、コンパイラ言語とインタプリタ言語があります。コンパイラ言語はコードを書いた後にコンパイルという機械語に変換する作業をして、機械語に変換された実行ファイルでプログラムが実行されます。インタプリタ言語は機械語の変換と実行を同時に行います。

それぞれにメリットがあり代表的な例としてはコンパイラ言語は実行スピードが速いこと、インタプリタ言語はコンパイル作業がいらないこと、すぐに実行できることが挙げられます。ちなみにJavaもCもコンパイラ言語です。

 

C言語との違いは?

 

 

Javaについて簡単に概要をC言語との違いも見ていきましょう。

 

文法が違う

 

JavaとC言語は似ている部分もありますが文法が少し違います。特に大きな違いはクラスという概念がJavaにあることでしょう。後述するオブジェクト指向にもつながるのですが、まずはシンプルなコードで見てみましょう。どちらも結果としてはコンソール画面にCount回数を表示するプログラムとなっています。

 

–Javaのコード–

import java.util.*;

import java.lang.*;

import java.io.*;

 

class Test

{

public static void main (String[] args){

for(int i = 0; i < 10; i++){

System.out.println(“Count” + i);

}

}

}

 

–C言語のコード–

#include <stdio.h>

 

int main(void) {

for(int i = 0; i < 10; i++){

printf(“Count%d\n”, i);

}

 

return 0;

}

 

両方を見比べるとC言語のほうがコードが短いこと、また似たような書き方をしている部分もあるのが見てとれます。細かい解説は今回は省略しますが何となくわかるのではないでしょうか?実際にC言語をある程度習得している人であればJavaへの移行は比較的スムーズに行えます。

 

Javaはオブジェクト指向であること

 

 

JavaとC言語の違いの最も大きな部分がオブジェクト指向であるかないかです。Javaはオブジェクト指向であり、C言語はそうでないと覚えておくといいでしょう。それではオブジェクト指向とは何か?を簡単にではありますが説明します。

オブジェクト指向とはモノに着目しそのモノの操作や属性を抽出してコーディングすることを指します。操作とは振る舞い(実際の行動)を指し、属性は持っている情報と考えると比較的わかりやすいのではないでしょうか。

例えば銀行の処理をプログラミングで表したいとします。銀行の操作はお金を引き出すこと、預けることがあり、属性は顧客データなどがあります。顧客データを元にお金を引き出すことができるのかなどをコーディングします。

少し難しい話になりましたが他にもカプセル化や継承、ポリモーフィズムという概念がオブジェクト指向にあり、C言語よりもより複雑な考えをしなければならないことは明白です。

 

Geekly Media ライター

geekly

0

【プログラミング言語】COBOLってどんな言語?できることからオープン系との違いまで幅広くご紹介します!

現在利用されているプログラミング言語には多様な種類があります。その中でもCOBOLは古くから使われているプログラミング言語ですが、エンジニアの数も非常に少ないという現状もあります。そこで今回は、COBOLとはどんな言語なのかを確認しながら、オープン系との違いを交えて幅広く紹介します。

 

COBOLとは

 

 

COBOLとは、1959年に開発された古くからあるプログラミング言語です。事務処理に最適な言語として開発され、国際的な標準化がおこなわれているプログラミング言語でもあります。現在、COBOL技術者は非常に少なく、その人材は貴重な技術者でもあるのです。

COBOLが開発される以前、事務処理を行うコンピューターの言語は、機器を開発するメーカーによって異なっていました。この自体を受けてアメリカ国防省が共通言語として提案し、開発されたのがプログラミング言語のCOBOLです。

COBOLのソースは、英語に近い記述コードでプログラミングすることができ、その他のプログラミング言語よりも比較的“読みやすい”ことも特徴の一つです。

COBOLは少しずつ拡張を続けており、COBOLのソースコードをC言語に変換するコンパイラ「OpenCOBOL」も登場しています。

 

COBOLでできること

 

事務処理

 

 

COBOLはもともと、事務処理用として開発された言語です。ですので、COBOLで開発されるシステムも事務処理用のプログラムがメインなのです。

金融や政府機関においても、COBOLは基幹系システムとして今でも現役で稼働してます。

 

計算処理

 

 

事務処理にも影響する特徴ですが、COBOLは計算処理にも向いています

COBOLでは10進数演算を定義することができるので、四則演算などの計算をわかりやすいく扱うことができるのです。

 

帳票

 

 

COBOLでは、事務処理にはつきものである帳票の出力も容易です。

帳票の項目についてもCOBOLで定義することができます。印刷時に調整する右寄せや空白などを自動的に行えるようプログラミングできるのです。

 

COBOLが使われる業界

 

金融業界

 

 

金融はもちろん、現在のコンピューター言語が登場するよりも前から存在している業界です。

私たちの物の価値を左右する業界でもありますね。ですので、処理の自動化をコンピューターに置き換えるという流れは比較的早く行われました。

現在でも、金融ではメインフレーム(汎用機と呼ばれる)はCOBOLが使用されているのです。

 

銀行業界

 

 

金融業界に含まれますが、銀行業界でもメインフレームがCOBOLで利用されています。

メインフレームで求められる処理速度では、COBOL Compilerでの高速処理が適しています。バッチ処理などは、やはりCOBOLに勝てないという事情があるのです。

 

COBOLとオープン系の違い

 

COBOLという言語では、よく汎用系とオープン系の比較が話題になります。そこで、COBOLとオープン系の違いを確認しておきましょう。

 

COBOLは汎用系(ホスト系)

 

 

COBOLを代表する汎用系を制御する言語は、基幹系システムなどに使われます。イメージするならば、大規模コンピューターですね。

これら汎用系(ホスト系)と呼ばれるコンピューターは、今現在でも金融をはじめとして政府機関でも広く使われるシステムで動いています

理由としては、並行処理やバッチ処理、帳票出力に向いているからです。

 

 

Geekly Media ライター

佐久森

0

【徹底比較!】MySQL vs SQL!データベースを扱う両者の違いを分かりやすく解説します!

現在私たちが利用しているウェブサービスのほとんどにデータベースが利用されています。データベースとは、サービスを利用する上で必要なデータを管理し、サービス内のデータ操作を一手に担うシステムです。今回は、データベースの中でも最も利用されているMySQLとはなんなのか、そしてMySQLとSQLの違いを分かりやすく紹介します。

 

 

MySQLとは

 

 

MySQLとは、数あるデータベースの中でも世界的なシェアを持つデータベースです。

オープンソースとして提供されているMySQLは、広い範囲のシステム規模を支えることができるため、小規模なシステムから大規模なシステムまで、無料で利用することが可能です。

私たちが日常的に利用しているウェブサービスでも、MySQLは使われていますし、個人的なブログもそのデータ管理にMySQLが使われていることが多いのです。

MySQLは1995年に公開されましたが、2000年以降にオープンソースとなり、商用非商用に限らず、幅広く導入されました。

ウェブサービスのサーバーを構築する時の基本となる構成に「LAMP(ランプ)」がありますが、この構成においてデータベースに当たるのが「M」のMySQLです。

 

※「LAMP」は、構築するOSやミドルウェアそれぞれの頭文字です。

・L:Linux(OS)

・A:Apache(Webサーバー)

・M:MySQL(データベース)

・P:PHP(あるいはperlやpythonなど)

 

ですので、サーバーエンジニアやインフラエンジニアの基礎知識としても、MySQLは必須となります。

MySQLは、コミュニティーもしっかりしていますし、インターネット上でも情報を得やすいというのも特徴のひとつです。

 

SQLとは

 

 

SQLとは、データベースを操作する“プログラミング言語”です。

データベース管理システム(MySQLなど)に対して、データ操作やデータの定義、データベースからのデータ取得やデータ格納といった処理をプログラミングするために存在しており、国際標準機構(ISO)でも企画が標準化されています。

SQLを習得することは、システムエンジニアにとって非常に重要なスキルとなりますし、SQLスキルを自在に操ることができれば、データベースエンジニアとしてのひとつのポジションを確立することも可能です。

SQLは、JAVAやPHPといったウェブサービスに利用されるプログラミング言語と合わせて学習することで、その機能を深く理解することができるでしょう。

SQLをマスターしておくことで、様々な種類のデータベースを操作する基礎を習得することができます。また、現代のサービスでデータベースを使わないモノはほとんど存在しませんので、SQLの知識はITエンジニアにとって重要なスキルとなります。

 

MySQLとSQLの違い

 

 

MySQLとSQLの違いを一言でいえば「システムと言語の違い」です。SQLはデータベース言語なのです。MySQLはデータを格納する箱であり、そこにSQLを使ってデータの管理を行います。

MySQLで利用するSQLの命令をいくつかピックアップすると、以下のようなものがあります。

 

・mysql -u ユーザー名 -p:MySQLへのログイン

・SELECT:情報の抽出

・create user:ユーザーの追加

・show databases:データベース一覧表示

・create database データベース名:データベースの追加

・show tables:テーブル一覧表示

・create table:テーブルの作成

 

これらSQLで、MySQLという箱にデータの格納場所やデータそのものの操作を行うのです。

 

データベースの種類

 

 

データベースには様々な種類があり、オープンソースのデータベースやライセンス料の必要なデータベースもあります。

 

MySQL

 

MySQL(マイエスキューエル)はオープンソースです。一からサーバーを構築する際によく使われるデータベースで、世界で最も利用されているデータベースです。データベースの8割がMySQLだと言われています。

 

PostgreSQL

 

PostgreSQL(ポストグレスキューエル)もまた、オープンソースのデータベースであり、MySQLに並んで人気があります。

MySQLとPostgreSQLを比べた場合、分かりやすい違いとしては、大量のデータに対するSELECTの処理が、MySQLよりもPostgreSQLの方が速いという特徴があります。

 

ORACLE

 

ORACLEは、アメリカのオラクル社が開発しているデータベースです。

ORACLEは世界初の商用データベースシステムとして登場し、利用にはライセンス料金が必要です。

ORACLEは様々な機能を提供していますが、その分しっかりとしたサポートもありますので安心です。また、ORACLEでは、ベンダーの資格試験を提供しており、データベースエンジニアとしての登竜門となっています。

 

Access

 

Accessは、Microsoftが提供するデータベースです。主にWindowsに特化して動作するため、Linuxサーバーで使用できないなど、制限もあります。

※macOSにも対応しています。

Accessもオープンソースではなくライセンス料金が必要です。また、その他のデータベースと比べてオペレーションが独特ですが、GUIによるデータベース設計ができるという特徴から、データベースに精通していない人でも比較的容易に開発することができます

ウェブサービスを提供するコンテンツに利用するには難があると言わざるを得ませんが、中小規模のプロジェクトならば大いに力を発揮するデータベースです。

 

役に立つデータベースの資格

 

 

データベーススキルの指標として代表的な資格が「ORACLE MASTER」です。データベースエンジニアを目指す場合には、この資格に取り組むことで、データベース操作言語であるSQLを学ぶことができます。

また、データベースの管理(バックアップやリカバリ)などの基礎的な知識を習得することもできます。

 

ORACLE MASTER Bronze

 

ORACLE MASTER Bronze(ブロンズ)は、データベースに対する必要最小限の知識を認定する資格です。

データベースの仕組みやSQLの基礎を学ぶためには有用な資格試験となります。

 

ORACLE MASTER Silver

 

ORACLE MASTER Silver(シルバー)は、規模の大きなデータベースの管理について、バックアップやリカバリなどを含めた知識を問われます。

データベース管理の実践経験がなければ難しくなるのがSilver以降となります。

 

ORACLE MASTER Gold

 

ORACLE MASTER Gold(ゴールド)は、データベースエンジニアとして高度な知識と技術を認定します。

環境に応じたデータベース設計・構築、またデータベースのトラブル対処についても熟知しておかなければなりません。

2日間における実技試験が行われ、環境構築から障害対応までの技術を問われます。

 

ORACLE MASTER Platinum

 

ORACLE MASTER Platinum(プラチナ)は、ORACLE databaseに限らず、データベースエンジニアのエキスパートとして認定されます。

ORACLEに特化した技術や知識はもちろんですが、データベース管理において臨機応変な対処ができることが問われます。

データベースの構築や障害対応だけでなく、運用中のデータベースにおいて、状況によるチューニングなどのパフォーマンス管理を的確に行わなければなりません。

 

まとめ

 

 

MySQLとSQLには、データベースシステムであるか、それを操作する言語であるかという大きな違いがあります。

MySQLはオープンソースですので、データベースの勉強を始める際にも、環境構築を含めて比較的ハードルの低いデータベースです。

データベースの仕組みやSQLによるプログラミングを始めたい場合は、自宅にサーバーを立てることですぐに始められます。

また、MySQLは世界でも多く使われるデータベースですので、様々な業界でそのスキルを発揮することができるでしょう。

さらにデータベースエンジニアとしてのスキルアップを目指す場合には、ORACLE MASTERの資格試験を目指すことも視野に入れましょう。

Geekly Media ライター

佐久森

0

【徹底比較!】正社員 vs 契約社員!両者の違いからメリット・デメリット含めて分かりやすく解説します!

社会に出て働くと言われて真っ先に思い浮かぶのが正社員として就職するという道です。しかし最近では契約社員という形でしか新規採用をしていない企業も増えています。ただ正社員と契約社員の違いが分からないという人も多く困惑する人も多いです。今回は正社員と契約社員の違いや双方のメリットデメリットについて説明していきます

 

そもそも契約社員とは?

 

 

働き方の方法として最も知られているのが正社員とアルバイトです。特に社会人として生活しようと思うとどうしても正社員を連想する人が多いはずです。

そもそも正社員とは他の契約形態との違いから雇用期間を定めない雇用方法と言われています。本人が退職を希望する、会社が倒産してしまうような事が無い限り働き続けられるのです。

 

それに対して契約社員とは一定期間毎に契約を更新する雇用方法です。契約更新のタイミングで契約を継続するか、破棄するかを双方の話し合いによって決める事が出来ます。

 

ちなみに同じような仕組みを持つ雇用方法として「派遣社員」がありますが契約社員が働く企業に直接雇われるのに対し派遣社員はあくまでも派遣会社の社員という違いがあります。

 

つまり契約社員とは一定期間毎に契約を更新を更新する企業に直接雇われている雇用方法という事です。

契約社員は他に「準社員」「有期契約労働者」「非正社員」などと言われる事もあります。これらは会社によってどのように使っているかが異なり会社によっては並列して使われている事もあります。

 

基本的には契約内容で変更される事が多いですがそれらの契約内容に関しては会社毎に違いが大きい部分で明確な区分けはされていません。

 

待遇面における契約社員と正社員の違い

 

雇用の安定

 


 

正社員最大のメリットと言えるのが雇用の安定です。本人が希望したり社会的に問題になるような行動をしない限りクビになるような事はありません。雇用が安定するという事は収入が安定するという事なのでそれだけ安心した生活を送る事が出来ます。

 

一方で契約社員の場合、働き方や能力次第では契約更新の際に会社に契約を打ち切られてしまう可能性があります。どれだけ能力を持っていても、現在の仕事内容が気に入っていても会社の資金繰りが苦しい時にはなかなか契約更新してもらえません。

もちろん契約期間中に一方的に契約を打ち切られるような事はありませんがそれでも正社員と比較すれば安定しているとは言えない状態です。

 

+αの収入面

 

 

収入面については毎月の支払いという意味合いにおいてはどちらが上になるかは状況によって異なります。一般的には正社員の方が上である場合が多いですが、契約社員はその道のスペシャリストになると正社員よりも破格の報酬を受け取る場合もあります。

ただ明確に差が出やすいのがボーナスや賞与と言った毎月の給与に対して+αの収入部分です。多くの場合、契約社員はこれらの+αの部分は正社員よりも低く設定されている事が多いです。会社によってはボーナスが全く無いという会社もあります。

 

出世の有無

 

 

特に大企業の正社員の場合、役職の変更や異動などを含めて出世する可能性というのが必ず存在します。出世すれば収入面でプラスがある場合が多く、基本的には正社員のメリットの1つです。

一方で契約社員は仕事内容に関しても契約以上の事をする事がないので当然出世するという事もありません。

 

福利厚生の充実

 

 

正社員と契約社員で差が生まれやすい大きな部分の1つと言われるのが福利厚生です。正社員は様々な形でより働きやすいように補助を受ける事が出来ますが契約社員はそれらの一部が制限されている、或いは存在しない場合が多いです。

近年では働き方改革の一貫もあって契約社員であってもある程度の福利厚生が用意されている場合が多いですが、正社員と全く同じ福利厚生が受けられる例は稀です。

 

契約社員になるメリット

 

 

ここまでの解説した部分ではどうしても正社員の方が有利であるように思える部分が多いです。正社員のメリットが大きいのも事実ですが、契約社員に全くメリットがないわけではありません。ここからは契約社員のメリットをピックアップして紹介していきます。

 

契約毎に内容を見直せる

 

 

契約社員の最大のメリットと言えるのが契約毎に内容を見直せる事にあります。正社員であれば基本的に昇給、出世のほぼ全権が会社側にありますが、契約社員は双方の納得の上で契約をする形なので自身の能力に見合った契約をする事が出来ます。

能力次第ではそれまでの契約になかった要素を組み込んだり、報酬の増加を打診したりなど正社員には出来ない働きかけが出来るのが契約社員のメリットです。

 

転勤がない

 

 

正社員の場合、特に大企業ではどうしても免れる事が出来ないのが転勤です。独り身の間であればまだ良いですが、結婚してお子さんもいる状態では大きな決断を迫られる事になります。

契約社員の場合、基本的に契約内容の中に勤務地も含まれているので転勤が発生する事はありません。これは契約社員の大きなメリットの1つです。

 

やりたい仕事が出来る可能性が高い

 

 

正社員の場合、入社の時点でどれだけやりたい事を説いたとしても実際にその仕事を行う事が出来るかは会社次第です。

やりたい仕事以外の場所に配属になった場合には、異動願いなどを提出しながら転属を指示されるのを待つしかありません。また例えやりたい仕事に就いたとしても配属替えや異動などで違う仕事に移されてしまう場合もあります。

 

しかし契約社員は基本的に仕事の内容まで全て契約に含まれているので契約以上の事を任される事はないです。その為しっかり契約内容を詰めておきさえすれば自身のやりたい事を行う事ができます。

もちろん異動などもないので契約期間中ずっと同じ仕事を行う事でスキルアップも可能です。

 

Geekly Media ライター

Lotus0

0

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 ライター

とげみ

1+

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

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

 

ハイブリットクラウド

 

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

 

 

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

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

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

 

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

 

オンプレミス環境

 

オンプレミス環境とは?

 

 

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

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

 

オンプレミス環境の特徴

 

 

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

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

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

 

オンプレミス環境の欠点

 

 

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

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

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

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

 

クラウド環境

 

クラウド環境とは?

 

 

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

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

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

 

クラウド環境の特徴

 

 

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

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

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

 

クラウド環境の欠点

 

 

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

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

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

 

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

 

Geekly Media ライター

とげみ

2+

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 ライター

バスコ

2+

【徹底比較!】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 ライター

とげみ

1+

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

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

 

ゲームデザイナーとは

 

 

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

大きく分けると以下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 ライター

1+