【OSS】PaaSサービスとWeb開発フレームワークの相性---「Azure」「AWS Elastic Beanstalk」と「Django」「CakePHP」

【OSS】PaaSサービスとWeb開発フレームワークの相性---「Azure」「AWS Elastic Beanstalk」と「Django」「CakePHP」

OSS×クラウド最新TOPICS 2017年12月7日 20:03

【OSS】PaaSサービスとWeb開発フレームワークの相性---「Azure」「AWS Elastic Beanstalk」と「Django」「CakePHP」

PaaSサービスとWeb開発フレームワークの相性について、ニーズに最適なフレームワークを選ぶ方法について解説。
「Azure」と「AWS Elastic Beanstalk」で利用可能なフレームワークとして、「Django」と「CakePHP」を取り上げる。

【解説テーマ】
・Django
・CakePHP
・PHPかPythonか
・結論

OSSNEWSに広告を掲載しませんか?

関連オープンソース

Pandas(パンダス)

  • その他

Pandas(パンダス)とは、Python用データ分析ライブラリです。高性能で使いやすいデータ構造とデータ解析ツールを提供します。データフレーム形式(2次元テーブル形式)を扱うことができ、特に時系列データ分析に向いています。

Lua(ルア)

  • 言語

Lua(ルア)とは、スクリプト言語および処理系実装です。「解釈言語領域での最速言語」「軽量」「組み込み可能」などを特徴としており、特にゲーム分野における開発などに採用されています。

Meteor(メテオ)

  • フレームワーク

Meteor(メテオ)とは、フルスタックWebアプリケーション開発プラットフォームです。リアクティブプログラミングを前提とし、JavaScriptでのクロスプラットフォーム開発を行えます。

Haskell(ハスケル)

  • 言語

Haskell(ハスケル)とは、純関数プログラミング言語です。遅延評価を基本として静的型付けを行い、メンテナンス性が高く機能的なコードを作成できます。

CakePHP(ケイク ピーエイチピー)

  • フレームワーク

CakePHP(ケイク ピーエイチピー)とは、PHP実装のWebアプリケーションフレームワークです。「PHP開発者が誰でも素早く快適に開発を行える」を目標として開発されています。

Concourse CI(コンコース シーアイ)

  • 自動テストツール

Concourse CI(コンコース シーアイ)とは、パイプラインベースのCI/CD(継続的インテグレーション/デリバリー)ツールです。タスクの集まりをパイプラインとして記述することでビルドパイプラインを実行し可視化できます。

Ryu SDN Framework(リョー エスディーエヌ フレームワーク)

  • フレームワーク

Ryu SDN Framework(リョー エスディーエヌ フレームワーク)とは、SDN(Software Defined Networking)構築フレームワークです。SDNコントローラを開発するためのツールやライブラリを提供します。

GitLab(ギットラボ)

  • プロジェクト管理

GitLab(ギットラボ)。ソフトウェア開発支援環境です。「GitHub」のようなサービスを社内などのクローズド環境に独自で構築できるGitリポジトリマネージャーです。Gitベースのソースコード管理機能、マージリクエスト、レビュー機能なども備えています。

Jenkins(ジェンキンス)

  • 自動テストツール

Jenkins(ジェンキンス)。オープンソース継続的インテグレーション支援ツールです。ソフトウェア開発プロジェクトなどにおける「ビルド」「デプロイ」「テスト」などの作業自動化/効率化を支援します。

GNU Compiler Collection(グニューコンパイラコレクション)

  • その他

GNU Compiler Collection(GCC)(グニューコンパイラコレクション)とは、UNIX互換ソフトウェア群開発プロジェクト「GNU」によって開発されるコンパイラ群です。「多くの言語に対応」「マルチアーキテクチャ」などの特徴があります。

Django(ジャンゴ)

  • フレームワーク

Django(ジャンゴ)とは、Python実装のWebアプリケーションフルスタックフレームワークです。Webアプリケーション/サービスの迅速開発をサポートします。

Mono(モノ)

  • フレームワーク

Mono(モノ)とは、オープンソースの「.NET Framework」互換環境です。.NETクロスプラットフォームアプリケーションを開発できます。同様の開発環境「Xamarin」の基盤になっています。

Redmine(レッドマイン)

  • プロジェクト管理

Redmine(レッドマイン)とは、オープンソース「プロジェクト管理」ソフトウェアです。Webベースで、プロジェクトのタスク管理/進捗管理/情報共有が行えます。バージョン管理システム(GitやSubversionなど)との連携ができるため、ソフトウェア開発/Webサイト制作などのITプロジェクトで特に威力を発揮します。

Python(パイソン)

  • 言語

Python(パイソン)。パワフルなオープンソースプログラミング言語です。インタプリタ、動的型付け、純粋オブジェクト指向、インデント強制ルールなどの特徴を持つスクリプト言語です。

XAMPP(ザンプ)

  • その他

XAMPP(ザンプ)とは、Windows/Linux/Mac環境に、「Apache」+「MySQL/MariaDB」+「PHP/Perl」構成を一括でインストールできるアプリケーションです。

なでしこ(ナデシコ)

  • 言語

「なでしこ」とは、日本語プログラミング言語(開発環境)です。日本語の言語感覚でコーディングができるため、プログラミング入門に向いている言語です。

UroboroSQL(ウロボロスキュール)

  • その他

UroboroSQL(ウロボロスキュール)とは、JavaのシンプルなSQL実行ライブラリです。「SQL中心設計思想」「2way-SQL方式」「REPL」「カバレッジレポート出力機能」などの特徴があります。

Urushi(ウルシ)

  • フレームワーク

Urushi(ウルシ)とは、Webコンポーネントフレームワークです。HTML/CSS/JavaScriptをコンポーネントとして提供します。

Julia(ジュリア)

  • 言語

Julia(ジュリア)とは、科学計算処理向けの高水準/動的プログラミング言語です。比較的新しい言語で、「JITコンパイラによる高速性」「外部ライブラリ連携」などの特徴があります。

R言語(アール)

  • 言語

R言語(アール言語)とは、統計解析に特化したプログラミング言語です。データ解析/分析用機能が豊富に用意されています。高度なグラフ化機能も特徴です。

Onsen UI(オンセンユーアイ)

  • フレームワーク

Onsen UI(オンセンユーアイ)は、ハイブリッドアプリ/モバイルWebアプリのためのUIフレームワークです。ネイティブアプリのようなパフォーマンスに優れたUIを実現します。

JSON Server(ジェイソン サーバ)

  • API連携

JSON Server(ジェイソン サーバ)とは、JSONファイルを元にしてWebAPIサーバモックアップを作成できる簡易サーバです。開発中のWebAPIテストなどに活用できます。

Kong(コング)

  • API連携

Kong(コング)とは、APIアグリゲータ(APIゲートウェイ)ソリューションです。統合的なAPI管理機能を提供します。

WSO2 API Manager(ダブルエスオーツー エーピーアイ マネージャ)

  • API連携

WSO2 API Manager(ダブルエスオーツー エーピーアイ マネージャ)とは、APIの作成/展開などを行うエンタープライズクラスのAPI管理ソリューションです。

OSS-Fuzz(オーエスエス ファズ)

  • 自動テストツール

OSS-Fuzz(オーエスエス ファズ)とは、Google製のオープンソースソフトウェア向け継続的ファズテストツールです。複数ツールを組み合わせて「ファジング手法+分散実行」によりソフトウェア脆弱性を検出します。

jQuery(ジェイクエリー)

  • 言語

jQuery(ジェイクエリー)。軽量JavaScriptライブラリです。少ないコード量でWebページに動きをつけることができ、リッチな表現を組み込めます。

Apache Jmeter(アパッチジェイメーター)

  • 自動テストツール

Apache Jmeter(アパッチジェイメーター)。サーバ負荷テスト(パフォーマンス計測)アプリケーションです。サーバに対して大量の各種リクエストを投げかけ、負荷をかけてパフォーマンスを計測します。

Bootstrap(ブートストラップ)

  • フレームワーク

Bootstrap(ブートストラップ)。フロントエンドWebアプリケーション用CSSフレームワークです。幅広く利用されており、「レスポンシブデザイン」「グリッドシステム」などの特徴があります。

Infrataster(インフラテイスター)

  • 自動テストツール

Infrataster(インフラテイスター)。テスト自動化ツールです。構築したサーバに対して外部からサービス利用者に近い視点から振る舞いのテストを行えます。

Dart(ダート)

  • 言語

Dart(ダート)。Googleが開発したWebアプリケーション開発向けプログラミング言語です。クラスベースのオブジェクト指向言語で、大規模アプリケーション/サービス開発に対応できます。

Selenium(セレニウム)

  • 自動テストツール

Selenium(セレニウム)。Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。マルチプラットフォーム/マルチブラウザでWebUIテストを実施できます。

OCaml(オーキャムル)

  • 言語

OCaml(オーキャムル)。オブジェクト指向を取り入れた関数型プログラミング言語です。言語理論研究の成果が取り入れられており、高信頼で簡潔なコードを記述できます。プログラミング言語「ML」から派生しています。

Google Web Toolkit(グーグルウェブツールキット)

  • フレームワーク

Google Web Toolkit(グーグルウェブツールキット)。Web用Ajaxアプリケーション開発フレームワークです。Googleが開発しており、Javaコードを「JavaScript+HTML/XML」に出力し、複雑なWebベースアプリケーションを容易に構築できます。

Erlang(アーラン)

  • 言語

Erlang(アーラン)。並行処理指向/分散処理指向の関数型プログラミング言語です。「多目的」「耐障害性」「無停止稼働(ホットスワップ)」などの特徴があります。

Elixir(エリクサー)

  • 言語

Elixir(エリクサー)。関数型並列処理環境「Erlang仮想マシン」上で動作するプログラミング言語です。「マルチパラダイム」「関数型」「並列プログラミング」「スケーラビリティ」「耐障害性」「Ruby風」などの特徴があります。

TypeScript(タイプスクリプト)

  • 言語

TypeScript(タイプスクリプト)。JavaScriptを拡張したプログラミング言語です。Microsoftによって開発された言語で、「静的型付け」「クラスベースオブジェクト指向」などの特徴があります。

PowerShell(パワーシェル)

  • その他

PowerShell(パワーシェル)。Microsoft社が開発したシェル/スクリプト言語です。拡張可能で高機能な運用管理サポート機能を提供します。

Bash(バッシュ)

  • その他

Bash(バッシュ)。GNUプロジェクトによるプロダクトで、多くのUNIX/Linux系OSで標準的に使われるシェルです。

Rust(ラスト)

  • 言語

Rust(ラスト)。プログラミング言語です。関数型/手続き型/オブジェクト指向型などのマルチパラダイム言語です。主にMozillaにより開発されています。

ResearchKit(リサーチキット)

  • フレームワーク

ResearchKit(リサーチキット)。Appleが提供するオープンソース医療研究アプリ向けフレームワークです。iOSデバイスを利用して医療ビッグデータを収集し、医学研究のサポートを目的としています。

React(リアクト)

  • フレームワーク

React(リアクト)。Facebook製のJavaScriptライブラリです。Webアプリケーションのユーザインタフェースを効率的に構築することを目的としており、View部分を実装します。

NetBeans(ネットビーンズ)

  • その他

NetBeans(ネットビーンズ)。オープンソースの統合開発環境(IDE)です。Oracleを中心としたコミュニティにより開発されているため、Java最新版にいち早く対応できる利点があります。

Apache Cordova(アパッチコルドバ)

  • フレームワーク

Apache Cordova(アパッチコルドバ)とは、オープンソースのハイブリッドアプリ開発フレームワークです。複数のプラットフォームで動作するモバイルアプリをワンソースで開発できます。

Android Studio(アンドロイドスタジオ)

  • その他

Android Studio(アンドロイドスタジオ)。Googleが提供するAndroidネイティブアプリケーション開発用公式統合開発環境(IDE)です。

Qt(キュート)

  • フレームワーク

Qt(キュート)。クロスプラットフォームアプリケーション開発フレームワークです。

Eclipse(エクリプス)

  • その他

Eclipse(エクリプス)。オープンソースのクロスプラットフォーム高機能統合開発環境(IDE)です。プラグイン機構により多くの言語をサポートします。

NW.js(エヌダブリュージェイエス)

  • フレームワーク

NW.js(エヌダブリュージェイエス)とは、HTML/CSS/JavaScriptで書かれたWebアプリケーションを、デスクトップ(Windows/Mac/Linux) 向けにパッケージングし、ネイティブアプリケーションとして実行するためのクロスプラットフォーム実行環境です。(「node-webkit」から「NW.js」に改名されました。)

Xamarin(ザマリン)

  • フレームワーク

Xamarin(ザマリン)とは、クロスプラットフォームアプリ開発環境です。C#でAndroid/iOS/Macアプリを開発できます。

Atom(アトム)

  • その他

Atom(アトム)。オープンソースのプログラマー向けコードエディタです。GitHubが主体になって開発しています。強力な機能拡張性が特徴です。

Visual Studio Code(ビジュアルスタジオコード)

  • その他

Visual Studio Code(ビジュアルスタジオコード)。オープンソースの高機能コードエディタです。Electron製で、Microsoftが提供しています。クロスプラットフォーム(Windows,Linux,OS X)で動作します。

framework-spider(フレームワークスパイダー)

  • フレームワーク

framework-spider(フレームワークスパイダー)。オープンソースのPHPWebアプリケーションフレームワークです。PHP4/PHP5で動作します。シンプル軽量なライトウェイトコンテナです。

Play Framework(プレイフレームワーク)

  • フレームワーク

Play Framework(プレイフレームワーク)とは、オープンソースWebアプリケーションフレームワークです。肥大化したエンタープライズJavaを代替する洗練されたフレームワークで、「Ruby on Rails」ライクな生産性をもたらします。Java/Scalaで記述できるRESTfulなMVCフレームワークです。

Scala(スカラ)

  • 言語

Scala(スカラ)。オブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムプログラミング言語です。Java仮想マシン(JVM)上で動作し、Javaの後継を担う言語として注目されています。

C#(シーシャープ)

  • 言語

C#(シーシャープ)とは、Microsoftが開発した「.NET Framework」向けマルチパラダイムプログラミング言語です。「.NET Framework」の中核的言語として位置づけられています。

F#(エフシャープ)

  • 言語

F#(エフシャープ)とは、Microsoftが開発した「.NET Framework」向けマルチパラダイム関数型プログラミング言語です。「OCaml」言語をベースにしています。

Electron(エレクトロン)

  • フレームワーク

Electron(エレクトロン)。クロスプラットフォーム開発/実行フレームワークです。Web技術(HTML5、Node.js、JavaScript)を使用してデスクトップアプリケーションを開発できます。

Go(ゴー)

  • 言語

Go(ゴー)。Googleが提供するオープンソースのコンパイル型プログラミング言語です。シンプルな言語仕様、強い型強制、並行処理、クロスコンパイルなどの特徴があります。

AngularJS(アンギュラージェイエス)

  • フレームワーク

AngularJS(アンギュラージェイエス)。Googleとコミュニティにより開発されているオープンソースJavaScriptアプリケーションフレームワークです。ブラウザ上で動作するWebアプリケーション開発にMVCアーキテクチャを取り入れることを目的としています。

Swift(スウィフト)

  • 言語

Swift(スウィフト)。Apple「OS X」「iOS」用ネイティブアプリケーション(Mac用アプリ、iPhone/iPad用アプリ)を開発するためのプログラミング言語です。Ruby/PHPなどの最新の設計思想を盛り込んでいて、スクリプト言語のように簡単にアプリを開発することができます。

UIkit(ユーアイキット)

  • フレームワーク

UIkitは軽量かつ構造的なフロントエンドフレームワーク。 ウェブインタフェース開発の高速化と、強力なウェブインタフェースを提供します。

Cocos2d-x(ココス・ツー・ディー・エックス)

  • フレームワーク

Cocos2d-x(ココス・ツー・ディー・エックス)は、オープンソースのゲームエンジンです。1ソースで複数OSのゲームを簡単に開発することができます。

Apache Subversion(アパッチサブバージョン)

  • バージョン管理

Apache Subversion(アパッチサブバージョン)。プログラムのソースコードなどを管理するバージョン管理システムの一つ

Git(ギット)

  • バージョン管理

Git(ギット)。プログラムソースコードやサイトコンテンツなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。

CVS(シーブイエス)

  • バージョン管理

CVS(シーブイエス)(Concurrent Version System)。テキストファイルの変更履歴を管理する、オープンソースのバージョン管理システムです。

Apache Axis2(アパッチ アクシス ツー)

  • フレームワーク

Apache Axis2(アパッチ アクシス ツー)。Apache Axisの後継ソフトウェアで、大幅に機能強化されたWebサービスのフレームワーク。

MyBatis(マイバティス)

  • フレームワーク

MyBatis(マイバティス)。iBATIS(アイバティス)の後継プロジェクトで、マッピングファイルにSQL文を直接記述し「オブジェクトとSQL実行結果との間」でマッピングを行うという特徴を持つ、Javaおよび.NET Frameworkを対象とするORマッピングライブラリです。

Hibernate(ハイバネート)

  • フレームワーク

Hibernate(ハイバネート)。JavaプログラミングのためのO/Rマッピング(オブジェクト関係マッピング)ライブラリです。

Apache Struts(アパッチストラッツ)

  • フレームワーク

Apache Struts(アパッチストラッツ)。Java言語を用いてWebアプリケーションを開発するためのフレームワーク

Spring Framework(スプリングフレームワーク)

  • フレームワーク

Spring Framework(スプリングフレームワーク)。Javaプラットフォームを対象とするオープンソースアプリケーションフレームワークです。軽量かつ開発がしやすく、DIとAOPを中核とした豊富な機能を搭載し、主要なJavaフレームワークとなっています。

Seasar2(シーサーツー)

  • フレームワーク

Seasar2(シーサーツー)。「DI(Dependecy Injection:依存性の注入)」と「AOP(Aspect-Oriented Programming:アスペクト指向プログラミング)」と呼ばれる設計思想に基づく国産オープンソースJavaフレームワークです。

Ruby on Rails(ルビーオンレイルズ)

  • フレームワーク

Ruby on Rails(ルビーオンレイルズ)。オープンソースのMVCアーキテクチャに基づいたWebアプリケーション開発フレームワークです。

Ruby(ルビー)

  • 言語

Ruby(ルビー)。シンプル、読みやすさ、高機能が人気で、世界に認められた日本製オープンソースオブジェクト指向スクリプト言語です。「Enjoy Programming!」が設計思想になっていて、主にWebアプリケーション開発に使われています。

PHP(ピーエイチピー)

  • 言語

PHP(ピーエイチピー)。サーバサイドで動作するウェブアプリケーション開発に適した、スクリプトタイプのオープンソースプログラミング言語です。

Perl(パール)

  • 言語

Perl(パール)。テキスト処理を得意とするオープンソースプログラミング言語です。実用性、多様性、簡潔な記述、柔軟性、拡張性の高さが特徴で、CGIなどのサーバサイドプログラムも得意としています。

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter

facebook

twitter