Saturday, January 3, 2015

Have we (Platformer) build a Marketplace for DigitalOcean?

Few weeks back before Christmas 2014, I was having a chat with few startups at YorkbutterFactory and some others I met via StartupVictoria about Platformer. Our discussion extended to what public cloud platforms we support and what we our plans in the future etc. 

Strangely few of them asked me "Have you build a Marketplace for DigitalOcean?". That was a bit of a surprise as we never thought about it before. 

Yes we do have a Marketplace, and yes applications, services and projects from our Marketplace can be deployed and managed under various public cloud providers including DigitalOcean. However we never thought of promoting it as a Marketplace only for DigitalOcean.

In continuing my discussion with some of the developers, I found out that they are using it as a Marketplace catalog to deploy apps and services on DigitalOcean. That is great, I am very happy at least we were able to help few of the DigitalOcean fans. 

I am happy to hear from more of you and see how we may be able to help achieve your final goals, even if that means we need to further improve Platformer capabilities (adding more apps, services to the catalog, more DevOps capabilities etc) to support use of IaaS platform from DigitalOcean. 

Let us know how we can help?

Wishing you a very Happy New Year !!!



Saturday, February 8, 2014

DURGA PaaS Marketplace vs AWS Marketplace

Some of our customers and potential customers ask me what are the key differences between DURGA PaaS Marketplace and AWS Marketplace? here are some of the key differences:


DURGA Marketplace Apps/Services - are blueprints that we and our customers have developed and packaged for quick and easy deployment. For example Joomla in DURGA PaaS Marketplace comes with Joomla source, php-fpm, nginx and MySQL database as a service. One can deploy Joomla in public or private cloud* environment with few clicks without having to configure php-fpm, nginx and MySQL database. 

  • DURGA PaaS Marketplace is an infrastructure provide (IaaS) agnostic application and service Marketplace where customer have the choice of using any public cloud provider (including AWS) or private* cloud. Where as with AWS Marketplace your only target IaaS is AWS for obvious reasons.
  • Right now all PHP based applications on DURGA PaaS Marketplace are packaged to consume applied resources compared to a full virtual machine used by AWS Marketplace apps. For example you can deployed Joomla with 128MB of RAM and consuming only 100MB of MySQL Database storage space by utilizing MySQL service. In the future we will be enabling Ruby, Java, Node.Js and most other packages similar to PHP applications. 
  • DURGA PaaS provides an API that can be used by developers to build their own Marketplace and to deploy and manage to Infrastructure provider they love to use. For example web developers can utilise the API to offer Wordpress, Joomla, ownCloud etc as a service from their website and create their own marketplace without having to write a lot of code OR database experts can offer MySQL, MongoDB, Oracle or other databases we offer as a service directly from their website.
Therefore as you can see what you can do with DURGA PaaS Marketplace limited by your imagination. At the time of writing quite a few of our customers were developing cloud services utilizing the API. If you have a cool app, service or devkit that you would like us to enable please do not hesitate to as or drop us an email via our support system.


Wednesday, February 5, 2014

DURGA PaaS API Documentation

DURGA PaaS API Documentation

Today we released the version 1.0 of DURGA PaaS API. In the next couple of weeks we will be discussing with some of the cool things you can do via DURGA PaaS API. 

In the meantime feel free to download the API, create an account with DURGA PaaS for FREE and have a go.

Intended Audience


This guide assists software developers who wants to develop, deploy and manage applications or services by utilising DURGA PaaS platform. To use the API you need to have an active account with DURGA PaaS and you should be familiar with the following concepts:
  • DURGA PaaS - Applications, Services and management of users
  • RESTFul web services
  • JSON data serialization formats

Download: https://durgacloud.com/API/DURGA_PaaS_API_Documentation_VER1.0.pdf

Please note that if you sign-up via Google Account you will need to add a password in your account under DURGA PaaS for the API authentication.

Deploy MongoDB in three simple steps with DURGA PaaS

Loving MongoDB, here is how you can get MongoDB up and running with Rockmongo in three simple steps on DURGA PaaS:

Step 1: Login to DURGA PaaS 
Login to DURGA PaaS via https://console.durgacloud.com 

In the event you do not have an account with DURGA PaaS you can sign-up for FREE via https://console.durgacloud.com/signup by using your Google account or by providing a valid email account.

Step 2: Select MongoDB from DURGA Marketplace & Install
  • Select Marketplace on your menu
  • Search 'MongoDB' or scroll down to Services to select MongoDB {you can either run a single instance or an instance with two replica sets}
  • Click Install
  • Select Free tire or Production (if you are paying customer)
  • Give a service name
  • Select service size (Freemium customers can only select 1GB RAM instance)
  • Click Next
Your install/deployment will start now and will take approximately around 4-5mins to complete. Once completed you can directly go App Management. 


Step 3: Login to Rockmongo WebUI
  • View Connection Details
  • Copy the URL (see screenshot below) to a browser tab or new windows to login to Rockmongo WebUI using mongoadm, neXO&2WI {default password, highly recommend you change this after login}


Please note if you do not like the WebUI you can use other tools http://docs.mongodb.org/ecosystem/tools/administration-interfaces/ 

About MongoDB
MongoDB is the leading NoSQL database, empowering businesses to be more agile and scalable. Fortune 500 companies and startups alike are using MongoDB to create new types of applications, improve customer experience, accelerate time to market and reduce costs.

Monday, December 23, 2013

Deploy and Manage your Yii web app with DURGA PaaS in 3 Steps

Steps

  1. Deploy a PHP App container with MySQL Service
  2. Modify your Yii Web App code
  3. Upload/Mirror code via FTP and import MySQL dump via MySQL client

Deploy a PHP App Container (with MySQL)

  1. Go to https://console.durgacloud.com and login if you have an account or sign-up if you don't (via google is the easiest).
  2. Go to "Marketplace" and under "Development Kits" deploy a "PHP Development Kit". You can use the "Free-tier" to test this. This will create a PHP Container and a MySQL DBaaS.
  3. Go to the App Management screen. ("MyApps" / "Projects" / "App Name" to view the App Management Screen.)
  4. Click on the "Remote Access" to see the FTP and Database details.

Modifications to your Yii Web App Code

  1. You need to include the "Yii Framework" into your app; just copy the "framework" folder of Yii to web app's root. 
  2. Modify your index.php to point to correct framework i.e.
     <?php  
     // change the following paths if necessary  
     $yii=dirname(__FILE__).'/framework/yii.php';  
    
  3. Modify the protected/config/main.php and set the database settings as follows.
       'db'=>array(  
        'connectionString' => 'mysql:host='.getenv('DB_HOST').';dbname='.getenv('DB_NAME'),  
        'emulatePrepare' => true,  
        'username' => getenv('DB_USER'),  
        'password' => getenv('DB_PASSWORD'),  
        'charset' => 'utf8',  
       ),  
    
  4. Alternatively, you can create a configuration override and use that i.e
    1. Create protected/config/durga-prod.php and include following
       <?php  
       return CMap::mergeArray(  
        require(dirname(__FILE__).'/main.php'), array(  
         'components'=>array(  
          'db'=>array(  
           'connectionString' => 'mysql:host='.getenv('DB_HOST').';dbname='.getenv('DB_NAME'),  
           'emulatePrepare' => true,  
           'username' => getenv('DB_USER'),  
           'password' => getenv('DB_PASSWORD'),  
           'charset' => 'utf8',  
          ),  
         ),  
        ),  
       );  
      
    2. Change index.php to point to durga-prod.php
       <?php  
       // change the following paths if necessary  
       $yii=dirname(__FILE__).'/framework/yii.php';  
       $config=dirname(__FILE__).'/protected/config/durga-prod.php';  
      

Upload/Mirror code via FTP and import mysql dump via mysql client

  1. Use FTP credentials specified in Step 1 and upload the code to '/prod/' folder.
  2. You may not want to upload /assets , /protected/data , /protected/runtime when doing the upload but create them later.
  3. I used lftp to upload/mirror the code; you can use a similar method. 
  4. Import your mysql dump via mysql client with MySQL credentials specified in Step 1
That's all folks, your Yii app is ready and deployed.

PS: If you like remote development you can connect your favorite desktop/cloud IDE via FTP as given in step 1.

I personally found this very useful in showing development work for my customer for feedback and testing; Once they are okay I can use "Production-Tier" when creating the "App Container + DB" all the admin work (backup etc;) happens automatically; so I can sit back and relax.