php meetup

PHP Cloud Development with Kodingen

Scaling LAMP development with social coding, tools and cloud APIs

October 26th, 2010

Modern development can be scary. Keeping up with ominous cloud development, social coding hugger-mugger, and a swarm of APIs, is enough to send a chill down the spines of even killer developers - especially while under decapitating deadlines and zombiesque requirement documents. But this October NYPHP has the silver bullet as we welcome Kodingen co-founder Devrim Yasar. He'll walk us through the platform and offer the wooden spikes you'll need to nail that next development project.

Simply put, Kodingen is a developer's friend. It gives you a free, social hosting account with online code editing tools so you can code anywhere, anytime, and together with whomever you want.

Kodingen.com is a free, cloud-based development environment that provides developers with a feature-rich hosting platform, collaboration and social coding tools, and integration with a wide variety of existing frameworks and third party APIs. Kodingen is a revolution for developers by developers.

Kodingen allows anyone to set up their own free hosting environment on cloud servers. Much of the traditional "heavy lifting" has been simplified into point and-click operations. This has two benefits; first it saves time, and second it makes the environment much more user friendly for hobbyists and less sophisticated developers.

While traditional hosting services charge users per hosting account or for additional services like SQL databases, everything on Kodingen is free for developers. This includes cloud-based hosting, FTP file access, shell access, 1-click framework installs (like Joomla or Wordpress), and a plethora of social tools like Groups, Forums, and other user-to-user communication.

We make hosting and social coding accessible to all. Not only are we free, but our service and platform is stronger than most paid services. Our revenue is generated through enterprise and high-traffic accounts, allowing us to keep the social coding cloud development environment free for developers.

In this talk, Devrim will explain KFM - Kodingen's backend that includes:
  • How do we manage to serve +10k web sites from a single server
  • How do we execute 100k tasks an hour originating from these accounts
  • What exactly is Kodingen's backend and how does it work?

Kodingen's backend is called KFM and it is an application management system running on a network of connected computer nodes. KFM dispatches application execution requests to available node(s), starts application process, monitors its execution status and restarts a process on the same or different node(s) if required.
  • HTTP-based Task Management API interface with the following commands: new, get status, put stdin, get stdout, get stderr, kill, wait.
  • Per-task high availability mode for long-running tasks. In this mode KFM automatically restarts task process if it unexpectedly finishes and restarts task process on different node if current task node goes down.
  • High availability of the system itself utilizing resource and data redundancy.
  • System-independent protocols for network communication.

We'll walk you through the steps of how we convert UI actions into server shell commands, and how we read the results and convert it back to UI actions. You will see how we arbitrarily pick a server that has the less load out of 1000 virtual machines, I will explain how we can auto scale from one server to 10 thousand and go back to 10 servers without any human interaction. I will also explain to you how we can achieve open-source applications being deployed to "Open-Clouds" using KFM, with which hopefully we can start dreaming about open-facebook or open-twitter kind of no-owner, totally open-source apps living on their own in the clouds that nobody can turn them off.