TFM partnership with Epiphany fashion

Partnership with Epiphany Fashion

Recently TFM formed a new partnership with Epiphany Fashion. Some might wonder why a tech company considered a fashion business as a partner . The answers are simple. First because they need our help. Secondly technical challenges to build this project are big. For TFM this is a good opportunity to prove that some bleeding edge technology can be used safely in production.

We played with this bleeding edge technologies around in TFM Labs for some time now so it was just about time to see them in production environment.

On the first look the requests were simple enough. “We want a woocommerce website that will be stable, fast and kept up to date and with good reliability”. You might think ok … what’s the big deal with a wordpress website ? Probably you think that a cheap VPS will get things done ( install apache / php / mysql , then install wp and woocommerce load a theme and load products ). In theory nobody will stop you from doing that. But that approach is plain wrong.

Why ? Let’s see:

  1. Solution is not scalable ( So if you use a VPS good luck with scaling it up )
  2. Secure ? Hard to achieve (Automatic updates every hour … This is not an easy task especially on VPS )
  3. Database scalability ? ( On one machine ? Nope. Simply not possible )
  4. Static files separation ? ( How many wordpresses out there are hacked on daily basis  by uploading and executing code ?  )
  5. Logging / monitoring ? ( Maybe if your shared  hosting is powerful enough )

So enough reasons why a shared hosting was / is not good enough.

So we decided to tackle each problem individually.

  1. Provisioning:

    1. We do automatic provisioning of Vm’s on our proxmox’es cluster using ansible. ( A patch for ansible was submitted by Mihai to ansible dev tree )
    2. This allows us to deploy / redeploy  and scale up / down the infrastructure as needed . If Epiphany has a big fashion events and they expect high traffic we simply spawn rapidly new apache servers or nodes in the database.
    3. All provisioning  and scaling up / down done via Jenkins.
  2. Secure

    1. Automatic updates of the wp core / wp plugins / wp themes .
    2. We keep the customizations separately as plugins in a git
    3. Automatic OS updates. Updates on canary, test the canary, put the canary in cluster kill the old vm
  3. Database scalability .

    1. We decided to use Percona XtraDB Cluster with proxysql and VRRP .
    2. This way we achieved a setup without any single  point of failure. We will post tutorial on how to do this on our technical blog.
  4.  Static file separation

    1. This was a big challenge because :
      1. Uploaded files via admin should NOT be stored on apache VM’s ( obvious for security reasons )
      2. Static files should be served as fast as possible keeping in mind that the business can be in multiple countries ( in future )
    2. This was achieved by using a minio cluster ( Also details about this on our technical blog ) but basically when a file is uploaded it is stored on minio cluster and served from there directly.
    3. And using minio allowed us to have a cdn like distribution .
  5.  Logging and monitoring :

    1. Logs are shipped for now to a central logging server where we can analyze them and produce some nice reports
    2. Monitoring is done with zabbix and alerting on Telegram.

In the end we obtained a very nice system that simply works. And Epiphany Fashion is quite happy about the results.

And almost forgot about one thing. Epiphany wanted online payment. And we did that. We coded a woocommerce payment gateway plugin using  PayU payment provider. If you are interested in this plugin you can buy it from https://shop.tfm.ro

 

 

 

 

Live streaming MiniDebConf Bucharest 2015

On the weekend of May 16th and 17th 2015, Bucharest will host a Mini DebConf with both talks and social events, to which everyone in Debian is invited but the speakers in the talks are all people who identify themselves as female. We consider this important to:

  1. Encourage women who haven’t yet given their first DebConf talk
  2. Provide role models for women who are interested in contributing
  3. Debunk the myth that there are not enough women who can give talks in DebConf

The idea behind the conference is not to talk about women in free software, or women in debian, but rather to make discussion about Debian subjects more inclusive for women.

TFM Group Software is providing the live streaming of MiniDebConf Bucharest 2015.

Live Streaming schedule:

  1. May 16th from 9:30 to 18:30
  2. May 17th from 10:00 to 17:00

RLUG meeting April 2014

April 2014 RLUG meeting took place in POLITEHNICA University of Bucharest campus, Faculty of Automatic Control and Computer Science on Apr 10th.

There were three speakers :

  1. Marius Luca: – Black Friday
  2. Mihai(Cop) Moldovanu: – Live streaming
  3. Cristian Marin: – Presentation Demistified

As usual TFM Group Software provided the live streaming solution.Continue reading

RLUG meeting March 2014

March 2014 RLUG meeting took place in POLITEHNICA University of Bucharest campus, Faculty of Automatic Control and Computer Science on Mar 13th.

Main topic for this workshop was “Monitoring IT infrastructure” . There were three speakers :

  1. Dumitru Ciobârcianu: – “In God We Trust, The Rest We Monitor”. Monitoring: Why and what for
  2. Marius Pană: – OMD (Open Monitoring Distribution)
  3. Petre Rațiu: – How difficult is to pay attention on what’s going on?

As usual TFM Group Software provided the live streaming solution.Continue reading

RLUG meeting February 2014

alfresco

 

 

 

 

February 2014 RLUG meeting took place in POLITEHNICA University of Bucharest campus, Faculty of Automatic Control and Computer Science on Feb 13th.

Main topic for this workshop were “Groupware applications”. There were three speakers :

  1.  Mihai Bădici –  Kolab
  2. Valentin Cozma –  Universal tool for business memory
  3. Cătălin Porosnicu  – Alfresco: Open Source Document Management

TFM Group Software provided the live streaming solution. With this occasion we introduced our new streaming technology / hardware ( hardware encoder , better camera , lanyard microphones).Continue reading

RLUG meeting January 2014

RLUG meeting jan 2014

RLUG meeting jan 2014

First RLUG meeting in 2014 took place 16 January  in POLITEHNICA University of Bucharest campus, Faculty of Automatic Control and Computer Science .

The main topic for this meeting were “Databases of all kinds” . There were three speaches :

  1. Ioan Stan:  Backup for PostgreSQL . Barman
  2. Doru Ilași:  Theory concepts in databases. Server logic
  3. Petre Rațiu: Databases scalability

The streaming solution for this event was provided by TFM Group Software. The web page put up for this event was http://www.lug.ro/videostream/

The video recordings of the event will be available soon on Rlug website

Building Web site search for large sites. Part 1 – Sphinx

So . You have a large site and you try to build a search functionality for it.
I’m going to test some opensource solutions that are out there. Of course all of them i will test on TFM/Gnu Linux.

First one is – Sphinx
They have a nice website here: http://sphinxsearch.com/

Installing it is pretty easy: rpm -Uvh sphinx-2.0.6-1tfm.i686.rpm

Now it’s time to configure it:

Continue reading

Upcoming changes in tfm server in september 2011

There are a lot of planned changes in tfm server for september 2011.

  • First and one of the most important change is that apache is relocated from /opt/tfm/apache2 to /usr in order to increase compatibility with Centos, RedHat and Suse.
  • Support for usb broadband dongles has been added . So far we can confirm that Digi Net Mobil ( MF110 ) and Vodafone (K3765) were tested and works.
  • passenger apache / nginx module will be added to distribution in order to facilitate applications written in Ruby on Rails.
  • node.js will be added to distribution.
  • redmine project management tool will be added to distribution
  • oss4 will be added
  • most of the packages will have ipv6 support enabled