Search This Blog

Sunday, September 30, 2012

What is your favorite web frameworks in Python

No one writes today web application from scratch any more. You always relay on some help and functionality that comes with a framework, library or application server you use.

As i wanted to write a simple web application I was looking for a good and simple framework for me. It wasn't an strigh forward taks as there are many to chose from. A summary from my research what could be the best web frameworks is below.

Comparison of frameworks

Quite actual list of ever created and still available web frameworks for Python exists on official  Python site here 

The links below are going to give you a good material to read to familiarize yourself with some popular one.
Because a  picture is worth more than a 100 words below are some comparison graph from google  trends site as well.

Flask is my choice

From the above 2 graphs you can see that both of them can be compared together when you look at the chart for web2py. The first graph shows the popularity curve for more sophisticated web frameworks with the Django being #1. The second graph shows more the smallest web frameworks and that the flask and cherrypy are the most dominant.

After looking at the home page of these project and the available documentation i like more

Bonus material

Have you ever asked yourself how complex and difficult it is to write a web framework in Python? This articles is a practical exercise how to do this ;).

How big is the Amazon cloud infrastructure

There are constantly new players emerging in the cloud market space. The choice between what vendor or provider I want to use is  becoming more and more difficult.

Before I decide to go with one or another vendor I always try to do a small research to find out what is the current market share, how big a provider is, how reliable or even popular it is among user. Below is an interesting graph showing some stats for  Amazon cloud. This data has been taken from : Infographic: Demystifying Amazon Web Services

Saturday, September 29, 2012

Software defined networks (SDN) with F5 and Microsoft Hyper-V

There is a lot of going on in the network space. As the virtualization is changing the server landscape there is as well as more and more talk about virtualization in the network.

Microsoft and F5 has collaborated together and with the new BigIp software release and as well as generation Windows Hyper-V technology they both offer a Software defined networks (SDN) solution for Windows based cloud servers.

Software Defined Networking, Enabled in Windows Server 2012 and System Center 2012 SP1, Virtual Machine Manager

F5'S Network Virtualization solution optimizes app delivery for Windows Server 2012 Hyper-V;

MEC 2012--F5 Network Virtualization Solution

Emerging of the virtual network aka Quantum in Openstack

Since Essex the Quantum has become a core Openstack project that promises to deliver a network as a service in the cloud world that is dominated by the virtual technologies. In practice this should mean that you are able to design and create your own network topology for the VMs you run. Another example is the flexibility of defining virtual interfaces your VM's have and elasticity of configuring what VM's can communicate together.

The virtual network idea is sometimes mentioned together with a Software Defined Network (SDN) concept. Although both technologies promise similar benefits they are not the same. In short the promises they do is an ability to:

  • Securely partitioning the network 
  • Defining virtual network topologies 
  • Automating network provisioning
In this presentation we can see some high as well as low level design slides that present the theory in a more understandable, graphical way: .

This document has an excellent slide that shows the power of virtual networks by comparing the end user view with a hardware one:

Taking a step further this is a list of currently supported plugins for quantum in Essex/Folsom Openstack release. Behind almost every plugin we can see a vendor that is needed to be able to create a salable virtual network infrastructure that supports your VMs:

  • Big Switch Networks Plugin
  • Cisco UCS/Nexus Plugin 
  • Floodlight OpenFlow Controller Plugin
  • Linux Bridge Plugin 
  • MidoNet Plugin 
  • NEC OpenFlow Plugin 
  • Nicira Network Virtualization Platform (NVP) Plugin 
  • Open vSwitch Plugin 
  • Ryu OpenFlow Controller Plugin