deha magazine / オフショア開発
オフショア開発
webアプリを開発会社に外注する際の選定ポイントとは?
webアプリを開発会社に外注する際は、要件定義をしっかり行い複数社に見積もりをとることがポイントです。 特にアプリ開発は修正も多いため、「いつの間にか追加費用がたくさんかかっていた…」なんてことも起こりかねません。 そこで今回はwebアプリ開発をしたい方向けに、外注の際に気を付けるべきこと、事前に知っておくべきことなどを徹底紹介していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばwebアプリ開発を外注する前に知っておくべきことが丸わかりですよ。
続きを読む >>
Flutterエンジニアを求人募集しても不発だったなら、ラボ型開発と言う選択肢を考えてみませんか
Flutterエンジニアは注目されてはいるものの、日本ではその人数がまだ多くはありません。 そのため、人材の確保に関して苦労している方も多いのではないでしょうか。 この記事ではそんなFlutterエンジニアの人材確保に苦戦している方向けに、ラボ型開発をご紹介したいと思います。 ラボ型開発なら仕様変更にも柔軟に対応ができるなどメリットが多くあります。 これらに当てはまる方におすすめの記事となっています。これを読めばFlutterエンジニア獲得のためのラボ型開発の魅力が丸わかりですよ。
続きを読む >>
モダンオフショアとは
オフショア開発は時代とともに成長を続けています。 その目的も「コスト重視」から「クオリティ重視」に変りました。この記事ではそんなオフショア開発に関して、その変化やモダンオフショアとは何なのかなどについて解説していきます。 最新のオフショア開発を知りたい方 社内のIT人材が不足している方 オフショア開発に興味がある方 これらに当てはまる方におすすめの記事となっています。これを読めばモダンオフショアとは何なのかはもちろん、最新のオフショア開発はどんなことを重要視しているのかなど丸わかりですよ。 コスト目的からクオリティ目的へ モダンオフショアは2014年〜2017年ごろまではオフショア開発でのアジャイル開発のことを指していました。 しかし、その頃はコストを下げることが目的になっていて、モダンオフショアにクオリティが求められることは少なかったのです。またメンバー間に上下関係がありブリッジSEが中心となっていたのも特徴です。 そこから2019年〜2020年、徐々に優秀なエンジニアが確保できるようになオフショア開発はより質の高いものになっていきました。そして開発メンバーは以前よりもフラットな状態になり、上下関係というものはなくなっていったのです。 2021年にはオフショア開発の目的はコストからクオリティに移行していきました。 プログラマー(万円) シニアエンジニア(万円) ブリッジSE(万円) PM(万円) ベトナム 36.58 42.93 48.68 62.61 中国 41.60 51.54 73.52 90.42 フィリピン 33.93 47.86 66.68 73.96 インド 33.36 47.86 54.92 77.7 ミャンマー 27.27 37.31 41.15 64.15 バングラデシュ 23.69 28.31 58.94 64.56 日本 最低単価43最高単価65 ー 66 84 参考 「「ベトナム」の人【2021年最新版】ベトナムオフショア開発の人月単価相場)」「ブリッジSE(ブリッジエンジニア)の仕事内容」「PM案件の単価は?プロジェクトマネージャーがフリーランスで独立する前に」 上の表はオフショア各国の月単価と、日本のエンジニアの月単価です。 上の表はオフショア各国の月単価と、日本のエンジニアの月単価です。これを見るとポストベトナム開発国ではまだまだ日本よりも費用を抑えられるものの、ベトナムや中国、インドなどでは日本とそこまでコストが変わらなくなってきています。 また、オフショア開発は優秀なチームの確保が重要になり、アジャイル開発だけでなくスクラム手法も取り入れられるようになっていったのです。 モダンオフショアを支えるアジャイル開発とは […]
続きを読む >>
アジャイル開発の世界のトレンド
アジャイル開発は仕様書変更が柔軟に対応でき、リリース時間も短縮できることから、注目の開発手法ですが、近年世界的に見てどのような状況や動向なのでしょうか。 この記事ではそんなアジャイル開発の世界トレンドについて「15th State of Agile Report」を元に解説をしていきたいと思います。 これらに当てはまる方におすすめの記事になっています。これを読めばアジャイル開発の傾向や課題など丸わかりですよ。
続きを読む >>
サーバーレスアーキテクチャーLambdaとは? EC2との違いも解説
サーバーレスアーキテクチャーが近年注目を浴びていますが、その中でもトップシェアを誇っているのがAWSが提供するLambdaです。 Lambdaはサーバーの管理不要で、API Gateway、S3など他のサービスと組み合わせることができるサービスです。 この記事ではそんなLambdaについてその特徴を徹底解説していきます。 Lambdaが気になっている方 インフラのコストを抑えたい方 サーバーレスアーキテクチャについて知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばLambdaの特徴はもちろん、似たサービスで多くの人が混合してしまうEC2との違いもわかりますよ。 サーバーレスアーキテクチャーとは サーバーレスアーキテクチャーとはサーバーの管理を必要としない仕組み(アーティテクチャー)のことをさします。 サーバーを利用するには、通常OSやネットワークのセットアップなど自分達で構築が必要でした。稼働後も利用状況を監視し、必要に応じてリソースを拡張しなければなりませんでした。 しかしサーバーレスの場合は、登録した処理の実行に必要なサーバーをクラウドサービで割り当てるため、OSやDBなどのインストールは不要で、サービスを利用することができるのです。 サーバーレスアーキテクチャーLambdaとは? LambdaとはAmazonのAWSが提供するサーバーレスアーキテクチャーです。クラウドインフラストラクチャ市場でトップシェアを占めています。 ユーザーが自前でサーバーを持つ必要がなく、Amzonが所有するサーバーでサービスが提供されています。 Lambdaでは、Java、Ruby、Python、Goなどのプログラミング言語を用いて関数を登録するとプログラムを実行することが可能。 Lambdaの利用料金は従量課金制で、実行したリクエストとコンピューティング価格を支払う仕組みとなっています。その一方、リクエスト数が1,000,000件まで、コンピューティング価格は400,000GB/秒までは無料で利用できます。 また初期費用はかかりません。リクエストが少なければお金がかからないので、コストを大幅に抑えることが可能です。 Lambdaの特徴 仮想サーバーの管理が不要 LambdaはAWSが一元的に運用管理を行います。従来のインフラで必要だったセットアップや運用・保守などといった業務は一切不要になるのです。 イベント駆動 アプリが起動されたり、ファイルがアップロードされたりなどといったイベントが起きる際に駆動する仕組みなので、コストを大幅に削減することが可能です。 拡張性 数回のアクセスから、数千万、数万の大規模なアクセスまで、イベントの需要に応じて自動的にシステムを伸縮させることができます。 EC2との違い EC2はAWSの代名詞とも言えるサービスですが、Lambdaとは何が違うのでしょうか。 そもそも EC2とはElastic Compute Cloudの略で、AWS上に仮想サーバーを構築できるサービスです。 EC2ではインスタンスと呼ばれる仮想サーバーを利用します。インスタンスは複数契約が可能で、OSも搭載されているので、大規模なシステム構築にも対応が可能です。 Lambdaとの最も大きな違いは、セットアップの負担の度合いです。 LambdaではAWSにおけるプログラムの実行環境があらかじめ提供されています。そのため、サービスを利用し始めた直後からプログラムの組み立てが可能で、セットアップによる負担が発生しません。 一方、EC2は汎用性の高い仮想サーバーを提供してくれるものの、真っ白な状態からスタートをさせる必要があります。 利用開始時は、OSがインストールされているだけの状態なので初期設定やミドルウェアのインストールなどが必要です。そのため利用負担がLambdaよりもあると言えます。 まとめ いかがでしたか。本日はサーバーレスアーキテクチャーの中でもトップシェアを誇るLambdaについて紹介していきました。 Lambdaははサーバーの管理不要で、イベントが起きた時にだけ駆動する仕組みのため人件費や維持費などを大幅に抑えることができるサービスでしたね。 従量課金制で、初期費用もかからないのも嬉しいポイントでした。 EC2と違い、セットアップに負担がないので、新サービスやシステムが成功しない場合でも、新しいものに簡単に切り替えていくことが可能です。 次世代のインフラサービスとも言えるLambda、ぜひ取り入れてみてはいかがでしょうか。
続きを読む >>
サーバーレスアーキテクチャーとは?特徴やメリット・デメリットをご紹介
近年、話題になっている言葉で「サーバーレスアーキテクチャー」というものがあります。 サーバーレスアーキテクチャーとはサーバーの管理を必要としない仕組みのことで、サーバー管理に使っていた時間やコストを削減することができるということで注目を浴びています。 この記事ではそんなサーバーレスアーキテクチャーについてどんな特徴があるのか、どんな仕組みなのか、メリットやデメリットは何なのかまで徹底解説していきたいと思います。 サーバーレスアーキテクチャーについて興味がある方 サーバーレスアーキテクチャーの仕組みを知りたい方 ITインフラに対する時間を削減したい方 これらに当てはまる方におすすめの記事となっています。これを読めばサーバーレスアーキテクチャーがどんな特徴なのかが丸わかりですよ。 サーバーレスアーキテクチャーとは サーバーレスアーキテクチャーとはサーバーの管理を必要としない仕組み(アーティテクチャー)のことをさします。 あくまでサーバーの管理が不要なだけで、サーバーを使わないわけではありません。リケーションの際は物理的なサーバーが必要です。 つまり、サーバーは裏で動いているものの、利用者にはわからないようになっているというものがサーバーレスアーキテクチャーなのです。 サーバーを利用するには、通常OSやネットワークのセットアップなど自分達で構築が必要でした。稼働後も利用状況を監視し、必要に応じてリソースを拡張しなければなりませんでした。 しかしサーバーレスの場合は、登録した処理の実行に必要なサーバーをクラウドサービで割り当てるため、OSやDBなどのインストールは不要で、サービスを利用することができます。 そんなサーバーレスアーキテクチャーの1つにFaaSというものがあります。 FaaSとはFunction as a Serviceの略で関数のコードを実装することで、関数を実行する環境を提供するサーバーレスアーキテクチャーです。 FaaSと似たような言葉でBaSSというものがあります。どちらのサービスもサーバーの運用を考慮する必要のないサービスですが、FaaSは独自のビジネスロジックを動作させるサービスである一方、BaSSは必要な機能を選択して利用することができるサービスという違いがあります。 サーバーレスアーキテクチャー誕生の秘密 サーバーの管理はエンジニアにとって大変なものでした。アプリケーションの開発や改善に時間を割きたいのに、サーバーの管理に多くの時間がかかってしまっては意味がありません。 そんなサーバーレスアーキテクチャーですが、実は新しいものではなく昔から提唱をされてきました。では何故近年注目を浴びるようになったのでしょうか。 それはFaaSのプラットフォームが使いやすい形で誕生したことがきっかけにあります。Amazon Web Servicesは 2014年にLambdaというサービスを開始しました。 AWSの他のサービスとの連携も容易に行えるなどのメリットがあることから世界中で浸透していったのです。 サーバーレスアーキテクチャーの特徴 ITインフラは仮想化に向けて進化を続けていきました。仮想化とは、サーバー、OS、ネットワークなど物理的な構成を利用者から見えないようにして、効率化を図ったものを指します。 IaaS型のサービスでは、クラウド上に仮想サーバーを作りそれに対して料金を計算し、精算する仕組みになっています。ユーザーが大量にアクセスした場合でも、クラウド上のサーバーを次々に起動することで処理が分散、大量のアクセスを捌くことが可能になります。 反対に、ユーザーのアクセスが安定している場合には、サーバーの数を抑えることで流動性のあるユーザーに安価にサービスを提供することが可能なのです。 しかし、IaaS型ではホスティングサーバー同様に、OSやミドルウェアなどの管理やセキュリティアップデートが必要でフロントエンジニアにとっては敷居が高いサービスだったのです。 そこからFaaS型ではサーバー自体に対するパフォーマンスチューニングやセキュリティアップデートなどをFaaSのプロパイダーが行ってくれるようになりました。 サーバーレスアーキテクチャーの展開方法 サーバーレスアーキテクチャーを提供するプロバイダーをいくつか紹介していきます。 AWS Lambda AWS Lambdaはクラウドインフラストラクチャ市場でトップシェアを占めているAmzonが提供しているサービスです。API Gateway、S3など他のサービスと組み合わせることが可能なのが大きな特徴です。 Google Cloud Functions Googleが提供しているサービスです。Google Cloud Functionsへの呼び出しは、IAM (Identity and Access Management) または OAuth 2.0 による認証・認可をサポートしています。これにより高いセキュリティが実現できます。 Azure […]
続きを読む >>
小売の帝王Walmart!アジャイルシフトの軌跡
小売業界は新型コロナウイルスによる外出自粛による影響で、大幅な打撃を受けました。 その一方で、売上を着実に伸ばしている企業があります。それがWalmartです。2021年度のWalmartの売上高はなんと5592億ドル! そんな小売の帝王Walmart、成功の秘密はデジタル化とアジャイルへのシフトがあげられます。 今回の記事ではその秘密を徹底解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばWalmartの成功の秘密とアジャイル開発の仕組みについて丸わかりですよ。
続きを読む >>
ベトナム人エンジニアに聞く!Ruby on Rails開発最新事情
新規でWebサービスを立ち上げる時、Rubyは優れた選択肢の一つです。 Ruby on Railsを用いることで、少人数で、大規模なWebサービスを立ち上げることができます。 当記事では「Ruby on Rails」の活用を得意としているベトナムのオフショア開発会社「DEHA」のエンジニアにインタビューし、Ruby on Railsを活用した開発に関して生の声をお届けします。 Q.自己紹介をお願いします DEHAエンジニアのヴー・スアン・ゴックです。27歳。3年以上のモバイルプログラミングの経験があります。スキルセットはMySql、AWS、Ruby on Rails、Service、MVC、JSを書いています。ちなみに、趣味はサッカーとゲームです。 Q. 普段の業務を教えて下さい チームとスクラム定例会を行います。 日常のタスクを計画し、作業時間を調整します。 Ruby on Railsを利用して、開発します。 16時にチームメンバーのコードをレビューします。 Q. Ruby on Railsのスキルはどのような方法で学習しましたか? Rubyのドキュメント、Rubyガイドを読んだり、ワークショップに参加したり、プロジェクトでの実践的な経験を通じて学びました。 Dehaでは、メンバーがプロジェクトで直面している問題を改善するのに役立つグループセッションが行われます。 Q. Ruby on Railsの開発スキルを向上する為にやっていることがあれば教えて下さい。 実践的なプロジェクトを通じて学び、経験を積み続けます。 ルビーフォーラムを引き続きフォローし、学びます。 目的:プロジェクトの品質をさらに向上させるために、コードの品質(クリーンなコード、理解しやすい)を向上させること。 Q. Ruby on Railsでの開発経験について教えて下さい Ruby on Railsで約2年間開発しています。 これは、初心者でも習得しやすいフレームワークです。Rubyでは サーバー、API、socket、clientが実行できます。コードが簡潔であればあるほど、優れています必要なときに簡単にメンテナンスできるため、コードを合理的に編成した方がいいです。 Q. Ruby on Railsで開発して良かったことを教えて下さい Ruby on Railsは、ベトナムの強力な開発フレームワークです。 雇用機会は比較的高いです。ライブラリ:Ruby on Railsには、ルックアップを簡単に使用できるようにするための無料のライブラリが多数用意されています。サポートコミュニティはメンバー数が多いです。 これにより、製品がより完全になります。Ruby on […]
続きを読む >>
コーディングブートキャンプとは?ベトナムで人気のプログラミング教育サービスをご紹介!
発展が続くベトナムで、特に将来が期待されるIT業界ですが、若いIT人材の育成が望まれています。 こうした状況下、短期間で集中的にITスキルが獲得できる「コーディングブートキャンプ」が注目されています。 これについてみていきましょう。
続きを読む >>
【2022年版】オフショア開発 最新事情|基本とトレンドを一挙解説
オフショア開発(offshore development)とは、システム開発の全部または一部の工程を海外リソースを活用して行う開発の手法です。 潤滑に人材を確保することができる上に、優秀な人材を国内と比べ安く確保ができます。 今、国内のIT人材は不足の一途をたどっており、経済産業省によると2030年にはなんと最大で79万人のIT人材が不足すると言われています。 そんな現代においてオフショア開発はなくてはならないものの1つになっています。 中国を中心に広がったオフショア開発ですが、中国のIT人材の高騰をきっかけに、現在はベトナムのIT企業に開発を委託するのがポピュラーです。 IT業界に携わる人であればオフショア開発という名前を知らない人の方が珍しいくらいかもしれませんが、この記事では改めてオフショア開発の概観と最新情報を解説したいと思います。 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発とは何なのか、どんなメリットがあるのかなど概観を掴んでいただけます。 オフショア開発の語源 オフショア(Offshore)には、岸(Shore)から離れた(Off)が転じて「海外」という意味があります。 一般的には、情報システムやソフトウェア、Webシステムの開発業務を海外の開発会社や海外の子会社へ委託・発注する意味として使われています。 似ている言葉で、二アショアという言葉があります。 ニアショアとは日本国内の地方にある開発拠点や開発会社にITの開発業務を委託・発注することで、オフショアのようなコスト削減は期待できない一方、首都圏のような高額な人件費や管理費を支払わなくて良いなどといったメリットがあります。 オフショア開発の歴史 オフショア開発の歴史は1980年代に遡ります。その当時の開発拠点は中国。 開発費の削減が目的で、2006年頃からはインド、ベトナムなどへも委託が進みました。 その後、中国の人件費高騰や中国国内の需要急増に伴い、オフショア先はインドやベトナム、フィリピン等へと多様化が進み現在に至ります。 オフショア開発の特徴(国内ベンダーと比較して、できること・得意なこと) 1. 下流工程が得意 一般的には下流工程(開発・テスト)であれば何でもできるのがオフショア開発です。日本と違い若いエンジニアが豊富である為、最新のフレームワークや先端技術を習得したエンジニアも少なくありません。 一方で、上流工程(要件定義・設計)に長けた会社は少ないのが実情です。そこは日本人の経験者を採用する等してカバーしている会社も見受けられます。因みに、アメリカでは上流工程をオフショア先に委託するケースも多々あるようです。やはり言葉の違いが大きな問題になっているのでしょう。 2. WEBサービスやスマホアプリの開発が得意 日本とは言葉や文化、商習慣が異なる為、業務システムなどは相性が悪いです。一方で、WEBサービスやスマホアプリ等はグローバルサービスに触れる若者が多いからか得意な傾向があります。 自ずと得意な開発言語はPHP,Javascript,Flutter等、WEB周りやスマホアプリのフレームワークが充実した開発言語が得意なケースが多いです。 3. 最新技術が得意 若いエンジニアが多い傾向があり、最新のフレームワークをフォローしていたり、トレンドであるAIやBlockchainなどの先端技術に明るいエンジニアが多い傾向があります。 実際、オフショア開発国として人気のベトナムでは、ブロックチェーン技術が目まぐるしく成長しています。 その資金はなんと数百億USD(100億USD=約1兆1400億円)にも及ぶと言われていて、Axie InfinityなどのNFTゲームが人気を博しています。 合わせて読みたい>>ベトナムのブロックチェーンゲーム(NFTゲーム)5選!Axie Infinityなど。 4. ブリッジ SEの存在 オフショア開発には通常の国内での開発にはいないブリッジSE(Bridge System Engineer)と呼ばれる人がいます。 このブリッジSEは、開発業務を円滑に進めるために、委託日本企業と受託海外企業との橋渡しの役割を担います。 具体的には、委託日本企業から提示された開発に関する資料の確認や、開発日程の交渉や調整などの窓口など。 さらに、委託日本企業の開発手法、要求仕様や設計資料の内容、業務知識などをプロジェクトメンバーに伝えるとともに、プロジェクトの進捗管理なども行っています。 オフショア開発企業によっては、ブリッジ SEではなくプロダクトオーナーやコミュニケーターなど呼び方や対応内容が異なる場合がありますが、ブリッジSE的な人が必ず存在します。 ブリッジSEがいることによって、商習慣の違いや言語の違いなどで乱れがちなチームワークを整え、クオリティの高い開発を行うことができるのです。 合わせて読みたい>>BrSE(ブリッジSE)とは?オフショア開発での役割、必要なスキルをご紹介 5. コミュニケーションが難しい(でもコツはある) 言語の壁を不安視する方もいらっしゃるかもしれませんが、日本語の対応が可能なブリッジSEがほとんどです。 ですが、意図が伝わらないことは多くあります。 こうしたコミュニケーションの問題を解決するためには、曖昧な日本語を使わないようにする工夫が重要です。 日本人はニュアンスで物事を伝える文化や傾向がありますが、それでは伝えるべきことは伝わりません。 例えば、「適当にやっておいてね」「細かいところは君に任せるよ」といった指示では思い通りのものは納品されません。 指示対象、程度、参照基準などは明確に伝えるようにしましょう。 […]