Cloud application design part I: Vision and technologies

It’s been a while since I started working on actual application design and delivery in a cloud environment. Since a lot has changed since my first tries and experiences, I decided to continue this project incorporating my new insights and ideas.


Technically I would like to deploy a container based application that contains one or more restful api based services. I would like to use Redis as a web cache and Elastic Search as a nosql database.

For automated deployment I would like to use Ansible instead of Chef, since I found it to be easier to use.

But what to actually program ? Well, I decided to pick up an old idea of mine. And that was to create an application or system based on the game M.U.L.E which I loved to play on my C64.

New technologies

A lot of cool and powerful technologies have emerged in the last two years that I really want to use in this project:

  • Kubernetes. Kubernetes is a widespread used tools for setting up container based systems and applications. If everything goes according to plan with my project, I would like to use Kubernetes
  • Docker swarm. Since I do have already a lot of experience with docker and the kubernetes setup seems to me to be a bit more complicated, I decided to go for docker swarm for the first iteration. A very detailed comparison of these two technologies can be found here

So I decided to use docker swarm for a start. Since both Kubernetes and docker swarm are container based I can reuse the containers and have to only switch the orchestration part once I move to Kuberentes.

Programming languages

Well, I love Java. And I am pretty effective programming in this language. That said, I would also love to learn a new programming language. So I decided to use Python for some parts of the application.

Next steps

  • Technology: The next step is to actually get a setup for docker swarm
  • Application: Select a specific feature

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">