How does our PaaS make the developer’s life easier

Probably, it was necessary to start the knowledge base from this article, which would tell about D2C and about the tasks that the platform helps to solve. But this thought came to my mind just a couple of days ago. And I wrote the article.

Why do you need D2C

A fast-growing and constantly evolving project requires a managed IT architecture. All the time you have to create test hosts, deploy apps, update the sources, add resources and balance the load.

IT-infrastructure management takes a lot of specialists’ time. This is why we have created a PaaS which automatize this kind of work and complicated operations reduce to a couple of mouse clicks in the web interface.

Artem Zaytsev

Evil marketer

What is D2C

D2C is a PaaS for automation of the developer’s routine tasks such as configuring the IT-infrastructure, scaling and deployment.

For information: What is PaaS?

PaaS (Platform as a service) is a category of cloud computing services that provides a ready-made environment for deployment, development and testing applications. Such services help to manage complicated IT-infrastructure without having to be involved in the details of its functioning.

Possibly, Heroku it is the closest service by similarity to us. However, it is difficult to consider us as analogs. We solve the similar tasks, but in a quite different ways.

In particular, we focus on work using the web interface. Also with D2C, you can use your own servers or cloud providers. Heroku, for example, a hosted solution. It means that your data can only be hosted on their servers. In that sense, we are more flexible.

To link your host you need to run the command on the server. The server must meet the requirements.

To link a cloud provider you just need to specify the API token if you use DigitalIcean
or Access ID with the Secret Key if you use Amazon EC2.

In general, we did not want to make a “slightly improved” analog of Heroku. We were making a project on which we had a bunch of routine tasks including administration of IT-infrastructure, and the number of hands in the team and financial capacity was strictly limited. For these reasons, we made own solution and then modified it to PaaS.

What problems does D2С solve and what does it able to do

Basically, D2C helps to solve 6 major problems associated with managing the IT infrastructure:

1. Making the environment for the application working For example, our app is the website. We need web server and database for it. In D2C it is enough to select the services, choose needed hosts and specify dependencies between them. In the example below the user uses the hosts at Amazon, but you can use other cloud providers or your own servers.

Подробнее о возможностях D2C

In the illustration, the user adds NGINX as a front-end web server
and specifies dependencies between it and the NodeJS server. As a database he uses MongoDB.

2. Deploying and updating app right from the sources For example, you can deploy the app directly from the sources in the Git repository. Configure the process once and you will be only updating your app by one mouse click in the future.
In this case, the application is deployed from Gitlab via SSH, but you can specify FTP/HTTP link to the source or just upload it.
Also, the building command will be executed before deployment

3. Configuring the architecture
Our defaults would be working in most cases but they can be optimized for a particular architecture and load.

On the screenshot, you see the configuration of NGINX for working with PHP in FastCGI mode.

4. Scaling apps
In D2C it is possible to scale the application both vertically and horizontally. In the first case, the platform is able to add resources in the cloud. For horizontal scaling, just click on “Scale” and the platform will add containers on the new hosts. After that, you may add the load balancer. On updates, the app will be deployed on all affected hosts.

A demonstration of scaling with the addition of the load balancer.

5. Migration configuration
For example, it is necessary to move the database with all replicas from Digital Ocean to Amazon entirely. In our platform, it is done quickly:

6. Monitoring
All logs and graphs of system usage as a whole, individual hosts, and even containers are merged into one panel. So if the problem occurs, it is easy to find it.

Usage graphs

The example of logs

7. Fast deploy a standard environment with ready-made stacks. 
For the deploing a standard enviroment you may create your own stackfile in yam. So for frequent tasks you won’t need to configure services from the scratch. Just import a ready-made file and deploy a needed enviroment with a minimum of actions.

Also we regularly add new stacks in our Stackhub. They may use them too.

An example of the deployment

As a conclusion: if D2C doesn't know how to do something special

With D2C you can do a lot of things but not everything. We have a roadmap with the nearest features. If you have suggestions — please, tell us about them via special form.

Sign up and start to use D2C if you still didn’t. It is free for one cloud host.