Tag: zurmo

Cloud-Native Applications Seed Project: Migration-Process Part 1

As stated in a previous blog-post, at the beginning of this year we started with the project of migrating the open-source application Zurmo CRM into the cloud. In this first blog-post on the progress of this process we will describe our initial plan, show the basic components of a cloud-optimized application and talk about whether to stick with the monolithic architecture style of Zurmo or migrate it to a microservices architecture. We’ll furthermore discuss the first steps we took in migrating Zurmo to the cloud and how we plan to continue.

TL;DR

  • We use the term cloud-optimized to describe an application which has the same characteristics as a cloud-native applicaton but is the result of a migration process.
  • The basic components of a cloud-optimized application are: Application Core, Enabling Systems, Monitoring- and Management-Systems. All of which have to be scalable and resilient.
  • A monolithic architecture style is best suited for smaller applications (little functionality / low number of developers) resp. when starting to build a new application.
  • A microservices architecture style is best suited for large applications (lots of functionality / high number of developers). Its benefits are less of a technical nature but more of the way it helps to manage the development and deployment of applications.
  • We decided to stick with the monolithic architecture. The first change we did to the application was to horizontally scale the web server with the use of a load balancer and make the application core stateless.

Continue reading

CNA Seed Project: Evaluation of Application to Migrate

At the beginning of this year the Cloud-Native Applications Seed Project (short: CNA Seed Project) was launched as described in this blog-post.

The goal of the CNA Seed Project is to gain experience in what it takes to migrate an application into the cloud. So at the heart of this project lies the application that will be migrated.

We set ourselves the following parameters in chosing a suitable application:

  1. Must be open source
  2. Should be a business application
  3. Should be a common used type of application

There were a lot of different types of business application types to choose from:

  • Customer Relation Management (CRM)
  • Enterprise Resource Planning (ERP)
  • Document Management Systems (DMS)
  • Ticketing Systems
  • Content Management Software (CMS)

In the end we mainly focused on CRM applications because they are a common type of business application, is not too complex and a lot of open source solutions are available.

Continue reading