Python in the enterprise: Pros and cons

16,185

Solution 1

Banca d'Italia (roughly the Italian equivalent of the Fed, except that, since the introduction of the Euro, all countries using euros as their currency, including of course Italy, have "outsourced" monetary policy to the European Central Bank) uses Python, is very happy with it, and plans to extend its use. The talk I'm pointing to is in Italian, but if you search around for the authors I think you can find similar papers of theirs in English.

Sungard's FrontArena, a widespread "next generation cross-asset trading" system, uses Python (e.g., see here).

This post gives a good summary of Python use in banking (as of a couple years ago) with focus on the City of London.

Considering how banks like to "play them close to their vest" I think it's amazing that there's as much information as this about the use of Python in banking -- if these few cases "leak", just imagine how many must be staying under wraps!-)

Solution 2

Of course you can implement mission-critical software (whatever that is in your case) using Python. At the end of the day the success of your application is going to weigh more on its capabilities than whether it is written in Python. Some all .NET companies will even bring in Python applications provided that there is a way to talk to the system from .NET.

I would not market your application as being a Python application. This is going to cause you trouble down the road because you will run into roadblocks. This often happens when you satisfy a business customer and he speaks to their IT guy who says "whoa we can't support that" without a full analysis of the cost/benefit to the business. This is the place that references to use of Python in mission-critical systems will arise. Try to avoid this area.

With Python you can always target the popular platforms if you build your application under certain constraints. IronPython runs on .NET and Jython runs on Java. Being able to fire back with info on how to run your application on these platforms might be helpful.

Solution 3

There is a rather famous application heavily used in both banks and hedge funds called FrontArena. I believe that this is written in Python.

Additionally the numpy numeric processing libraries and concise, clear syntax means that Python is very popular with Quantitative Analysts (or quants) within the financial sector.

Solution 4

CCP Games uses a version called Stackless Python in their MMO, for both the client and server. A large part of the game is based on a market/trade simulation, and accurately tracks and reports millions of market transactions on thousands of items daily. It may sound odd, but considering how fickle and downright whiny my fellow gamers can be, the decision to use Python in that type of high availability environment should count for something.

Solution 5

There's always ResolverOne.

Share:
16,185

Related videos on Youtube

dartdog
Author by

dartdog

Open Software professional Developing Open SoftWare Co, oswco

Updated on October 27, 2020

Comments

  • dartdog
    dartdog over 3 years

    I have been exploring and developing an application in Python for mission critical work in the commercial banking arena.

    Banks are way conservative in selecting new applications.

    I need real proof of stability and others using.

    Have looked at the Python site but now I'm hoping this crowd can tell me more.

    So far I don't have a development bank partner which I will need next stage, so I'm gathering proof and pitch info. All help and comments appreciated.

    • user1066101
      user1066101 almost 15 years
      Have you read any of these questions? stackoverflow.com/search?q=%5Bpython%5D+enterprise
    • user1066101
      user1066101 almost 15 years
      When you looked at python.org/about/success how did it fall short of answering your questions?
    • ubi
      ubi almost 15 years
      S.Lott, I'm not going to click every link on that success page, but I don't see a single mission critical enterprise system, just a whole bunch of applications.
    • SilentGhost
      SilentGhost almost 15 years
      should be community wiki
    • user1066101
      user1066101 almost 15 years
      @Dustin Getz: I'm unclear on the difference between "enterprise system" and "application". Can you provide a clear definition or a reference to a clear definition?
    • dartdog
      dartdog almost 15 years
      Yes I have looked at most if not all the prior posts, hence my question. It is my sense that this set of questions issues needs to be as fully explored as possible and that Python is on the cusp of full acceptability in the enterprise. I'm betting on it and looking for re-enforcements. As much as I can find. Thanks for the help.
    • ubi
      ubi almost 15 years
      I opened a new question to address this: stackoverflow.com/questions/1374114/…
    • Esteban Küber
      Esteban Küber over 14 years
      It's good enough for NASA but not good enough for a bank? python.org/about/success/usa
    • Priya Narayanan
      Priya Narayanan almost 12 years
      What scared me off thinking python (dynamical type language) isn't meant for this is this simple example: amountInCents = amount * 100 if amount is a string, e.g. "1", then amountInCents = "1111111....11"
  • B Bulfin
    B Bulfin almost 15 years
    "I might argue that Google is more "mission-critical" than (almost?) any bank out there." That sounds like a pretty tough argument to make.
  • user1066101
    user1066101 almost 15 years
    Maybe "Google's use of Python is more mission-critical than any bank's"? Or perhaps -- because Google has a monopoly-like position, the whole world depends on search more than the flow of capital?
  • user1066101
    user1066101 almost 15 years
    A trusted company like Compaq? or Digital Equipment Corporation? Or Sun Microsystems? They were all industry-leading, rock solid investments in their day. Now, not so much.
  • MaxVT
    MaxVT almost 15 years
    Nothing particularly bad happens if one Google search returns one incorrect link. However, in a financial world, even one incorrect result can have heavy consequences.
  • SilentGhost
    SilentGhost almost 15 years
    yeah, that's better. now, what is has to do with python?
  • user1066101
    user1066101 almost 15 years
    @MaxVT: Good argument against the 'Google is more "mission-critical" as a company' interpretation. If that's what @Mark Rushakoff really meant.
  • Brian Lyttle
    Brian Lyttle almost 15 years
    It makes people feel nice and fuzzy to get the right business alignment and company visibility, but sometimes it is right to go with the technical attributes. Sometimes, not always. Its also bad to base your decisions on the decisions of others in separate contexts.
  • Ken
    Ken almost 15 years
    I get an error page from Google somewhat regularly, and I've heard many stories of Google accounts getting dropped without notice. I've never gotten an error from a banking computer, or heard of a bank account simply disappearing. Google might have better usability and scalability, but I'm not sure about reliability.
  • user1066101
    user1066101 almost 15 years
    "superior business alignment and company viability"? Like Compaq? SCO? Data General? Sperry Rand? Burroughs? Univac? NCR?
  • ubi
    ubi almost 15 years
    dude, that is quoted directly from a director I have deep respect for. I looked up the charts before I made this post.
  • ubi
    ubi almost 15 years
    google doesn't get sued if they screw up.
  • dartdog
    dartdog almost 15 years
    Thank you for the input, it is along the line of what I'm searching for.There is an on-line travel company on the Python success Page. it has transaction processing with interfaces to mainframes, but from 2004. Are there are more interesting and substantial stories out there? Some of the downrated comments below reflect the poor thinking out there and it is those sorts of issues, among others that I hope to put to rest. Mission critical, transaction processing, preferably with interfaces to mainframes is what I'm tying to find, various forms of on-line banking systems.. If not why not?
  • dartdog
    dartdog almost 15 years
    looks like a neat tool interesting but not particularly on point!
  • dartdog
    dartdog almost 15 years
    Actually more correctly Python runs just fine on all the platforms the real reason for the ports sort of eludes me, seems interesting but largely irrelevant. Regular Python plays well with both .net and Java.
  • dartdog
    dartdog almost 15 years
    Well it is pretty clear that there is a much larger community and the Guido hit by bus is not an issue as I'm sure Alex Martelli and others could elaborate on.
  • user1066101
    user1066101 almost 15 years
    It's a company with a product based on Python. Having a product offering based on Python seems to be mission-critical to me.
  • user1066101
    user1066101 almost 15 years
    @Dustin Getz: I'm sure it's an accurate quote. I'm sure they meant well in looking at whatever criteria they thought was important at the time. I'm suggesting that "stability" doesn't seem to count for much in the long run. With 20/20 hindsight, it appears that using "stability" of a single vendor to choose a platform may not have been a good reason for choosing a platform. I suggest that "single vendor" is perhaps a bad reason for choosing a platform.
  • Brian Lyttle
    Brian Lyttle almost 15 years
    +1 from me. It is a useful answer. Check out the video with the owner of that company on MSDN Channel 9.
  • Brian Lyttle
    Brian Lyttle almost 15 years
    It runs on many operating systems but you have a switch between the CPython runtime and the Java JVM which can be costly in terms of flexibility and performance. In addition, supporting the JVM is a great way to get accepted in an enterprise (banking) scenario. There are lots of opportunity for pure interop with Java libraries which is just not as nice if you have the go between the JVM and CPython etc.
  • Brian Lyttle
    Brian Lyttle almost 15 years
    In the Ruby world there is JRuby. This exists primarily to get Ruby accepted in enterprise scenarios. Martin Fowler has blogged a bit about this and the work of ThoughtWorks. They are working with enterprises and JRuby helps with access.
  • Alex Martelli
    Alex Martelli almost 15 years
    @dartdog, Guido being hit by anything would be a tragedy, to me personally (as he's a friend), to his family, and to the world in general. Python of course would go on (as did Perl when Larry Wall had cancer, fortunately currently in remission), probably switching to a lead-committee approach similar to what Perl has now and BSD and Apache had for a long time. Linux is in a similar situation wrt Thorvalds -- the lead committee has been driving for a long time, albeit on delegation from Linus -- and that has NOT stopped banks from adopting it, esp. once IBM started marketing it!_)
  • Alex Martelli
    Alex Martelli almost 15 years
    "Why not"? There's not any plus to a company from letting its employees spend time and energy explaining how they use Python internally, so the right question is, why does ANY such spending happens AT ALL?! It's a miracle of geek enthusiasm!-) With no marketing or co-marketing money behind it, it's really totally unreasonable to expect even more. If there were opportunities for e.g. the Develer folks in Italy (Logilab in France, etc -- such firms are all over), I could put you in touch with them... but they have no spare cycles to do free marketing w/no revenue prospects, OF COURSE!-)
  • ubi
    ubi almost 15 years
    irrelevant unless you manage to convince your customer, and they probably don't want to spend the money to be convinced. BryanLi said it well above: "This often happens when you satisfy a business customer and he speaks to their IT guy who says "whoa we can't support that" without a full analysis of the cost/benefit to the business"
  • ubi
    ubi almost 15 years
    "esp. once IBM started marketing it!" this is basically my entire point. i am skeptical that banks adopted linux for mission critical systems prior to its commercial backing.
  • ubi
    ubi almost 15 years
    There is a plus, and python is gaining traction for small projects/applications in my extremely large engineering firm. There is tons and tons of FOSS integrated into our large programs--management understands and embraces FOSS. But what the large programs ($billions) aren't doing is making FOSS the very core of their architecture--it simply isn't well supported enough. The notable exception debated below is Linux, but it's heavily supported by lots of companies. Unfortunately, python isn't, yet. Why do you think google hired you and Guido and the other python rockstars?
  • Alex Martelli
    Alex Martelli almost 15 years
    @Dustin, because we met Google's hiring bar for engineers?-) Don't think our interviews were any easier than those of the Java rockstars (Josh Block &c), the C++ ones (Matt Austern &c), the Unix ones (Thompson, Pike, Presotto, ...), the Internet ones (Vint Cerf &c), and so forth...;-)
  • dartdog
    dartdog almost 15 years
    Dustin and Alex both of you clearly understand the issues here. Most FOSS efforts from the internet itself (I remember arpanet) And I was a supplier (Honeywell) to Bell Labs when they were trying to get Unix off the ground. In these and other cases various landmarks occurred that began to take the developments into the commercial acceptance realm. Python is on the cusp but still it is mostly early adopters. What is needed? Just time?
  • luc
    luc almost 15 years
    FrontArena is written with python. See Python job board at python.org/community/jobs/…
  • ubi
    ubi almost 15 years
    I opened a new question to address this: stackoverflow.com/questions/1374114/…
  • ubi
    ubi almost 15 years
    I opened a new question to address this: stackoverflow.com/questions/1374114/…
  • ubi
    ubi almost 15 years
    I think there's a market for companies to build enterprise support around python the same way companies build enterprise support around linux. if/when that happens Python usage in major systems will tremendously deepen. Hopefully, Microsoft won't beat them to the punch with whatever their next killer environment is.
  • orokusaki
    orokusaki over 14 years
    @Alex I never thought about that. Guido has kept Python from ever becoming ugly. Does Python have a PEP or other strong plan in place in case something were to happen to him?
  • hbn
    hbn over 13 years
    The core of Front is written in C++. Python's used (extensively) to extend it. Lots of standard functionality is implemented in Python.
  • Ol_dirty
    Ol_dirty over 12 years
    Whole bunch of utilities for nShield's product line are written in python. Unfortunatelly i don't have links.