mardi, octobre 21, 2014

Connexion JDBC MS-SQL Server bloquée = bug dans Java JRE 1.6 révision 29

On peut passer parfois beaucoup de temps à tenter de comprendre un programme Java qui est supposé juste mais qui ne fonctionne pas sans symptôme explicite (exception, code erreur, ...)

Je viens de passer un petit moment sur une connexion Java  / JDBC depuis mon Linux vers une instance Amazon RDS qui "coinçait" sans donner aucun détail. Juste un blocage avec "trou noir"-

Eh bien, ça venait de mon runtime Java : le JRE 1.6 révision 29 de Sun était le coupable. Un upgrade à la révision 45 et ça repart !

J'espère que cela servira à d'autres pour ne pas perdre du temps.

C'est confirmé par ce billet sur StackOverflow : http://stackoverflow.com/questions/8986350/jdbc-connection-hangs-with-no-response-from-sql-server-2008-r2.

Pour moi, cela se passe aussi avec Sql Server 2011.

Source: blog Media and Tech (par didier durand)

vendredi, octobre 17, 2014

Ubuntu 14.04 : dysfonctionnement de galternatives - correction

J'avais écrit que mon update à Ubuntu 14.04 s'était bien passé et qu'il m'avait quand même beaucoup apporté

J'ai quand même découvert un souci aujourd'hui : un bug au niveau du programme 'galternatives' qui ne fonctionne pas après l'update. Je ne peux, par exemple,  pas changer ma version de Java par  défaut : galternatives reste bloqué sur la version antérieure et impossible de passer de java7 à java8 pour des tests sporadiques par exemple.

C'est un problème connu sur les 2 dernières versions d'Ubuntu : il est détaillé à
https://bugs.launchpad.net/ubuntu/+source/galternatives/+bug/1309709

La solution est simple : faire un lien symbolique vers le fichier manquant par la commande ci-après.

sudo ln -s /usr/bin/update-alternatives /usr/sbin/

et c'est reparti comme avant. J'aurais pu écrire "comme en 14"(.04) mais c'eût été trop facile ... ;-)

Source: blog Media and Tech (par didier durand)

mardi, septembre 09, 2014

Passage à Ubuntu 14.04 "Trusty Tahr" : sans douleur - plus de stabilité et de performances

Ma station de travail professionnelle est sous Ubuntu depuis 4 ans : chez Eranea on installe nos applications Cobol converties automatiquement à Java en très vaste majorité sur cet OS.

Donc, pour me mettre en "immersion totale" et augmenter mes connaissances de cet OS, je travaille en permanence sur cet environnement. Ubuntu était à l'époque la distribution la plus similaire à MS-Windows. Je l'ai donc choisie.

Sur mon dernier laptop Dell Précision M6600 (équipé de 16 GB de RAM et 512 GB de disques SDD), j'étais jusqu'à ce week-end en 12.04 LTS d'Ubuntu.

Au fil de la maintenance encore assurée (LTS = Long Term Support), ma machine est devenue instable en particulier l'affichage qui partait en vrille 1 à 2 fois par jour, nécessitant un reboot.

En parallèle, Ubuntu 14.04 est devenue "GA" (General Availability) après 4-5 mois de tests en grandeur nature depuis sa sortie. Elle s'appelle "Trusty Tahr" = "le Tahr de confiance". Un Tahr, c'est une sorte de chève sauvage. Je l'ai appris grâce à Ubuntu: j'adore leur choix de nom !

J'ai donc migré vers elles le week-end dernier : le processus s'est fait sans aucun souci ! Tous les drivers (écran haute résolution, disques SSDs, etc.) sont installés correctement et la machine fait son reboot final comme une fleur.

Ce processus est juste un peu long donc à prévoir en fin de semaine quand on a moins besoin de sa machine et qu'on peut la laisser bosser pour se mettre en jour en repassant de temps en temps devant pour répondre aux quelques questions de (re)configuration qui parsèment le processus.

Résultat atteint = résultat souhaité:
  • les Unity et autres modules d'affichage sont réalignés en terme d'âge sur le noyau. La stabilité de Linux qui n'est si chère est donc revenue ! Plus aucun reboot.
  • on ressent un vrai gain en performances / temps de réponse sur le laptop : sûrement dû à un noyau très récent
  • des applications au niveau le plus récent : un nouveau LibreOffice avec plein d'améliorations sympas et utiles
Donc, le jeu en vaut la chandelle ! Un backup de ses données avant de commencer reste impératif...

Sinon, j'ai une machine complètement nouvelle en termes de versions des paquets: 1.6 gigaoctets de logiciel nouveau à télécharger. Voici ce qu'Ubuntu m'a annoncé avant de démarrer :

"Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.

94 packages are going to be removed. 896 new packages are going to be
installed. 2436 packages are going to be upgraded.

You have to download a total of 1,623 M. This download will take
about 3 hours 26 minutes with a 1Mbit DSL connection and about 2 days
14 hours with a 56k modem.

Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be canceled". 


Dernier point : la mise à jour va désacitver les sources logicielles tierces autres que celles de Canonical qui distribuent le système de base. Il faut donc les réactiver après la mise à jour du système d'exploitation.

Source: blog Media and Tech (par didier durand)

vendredi, août 15, 2014

processeur Risc Sparc M7 : 10 milliards de transistors sur une puce !

Sun vient d'annoncer sa dernière génération de processeurs RISC Sparc : le Sparc M7 (livré en 2015).

La première chose à reconnaître, c'est que Larry Ellison tient parole : quand il avait dit au rachat de Sun par Oracle qu'il "avait vu la lumière" et qu'une des fortes motivations du rachat était la propriété intégrale du processeur Sparc pour assurer l'indépendance future d'Oracle, personne ne le croyait !

En particulier, il avait dit: "Nous n'entrons pas dans le business du matériel. Nous nous n'y attachons aucun intérêt. Nous avons par contre un  profond intérêt pour le domaine des systèmes intégrés". On pensait qu'il n'en voulait en fait qu'au logiciel de Sun, en particulier Java vu son adoption forte dans les entreprises. Eh bien, Larry a tenu largement parole: le M7 est la sixième génération de Sparc produite par Oracle depuis l'acquisition.

Cette nouvelle génération donnera bien davantage de puissance brute de calcul à la gamme des systèmes intégrés Exa (fonctionnant sur Sparc) livrés par Oracle depuis le rachat. Mais, surtout, elle permet aussi à Oracle grâce à  ce statut de "fondeur" de silicium acquis via Sun de mettre des fonctions spécifiques au traitement des requêtes de bases données ("query accelerator") ou à celui du langage Java ("garbage collection") directement au niveau du processeur pour optimiser le fonctionnement du logiciel.

Oracle estime que le boost de performances fourni par cette puce par rapport à son grand frère Sparc M6 est le suivant pour différents types de banchmarks :



Je trouve personnellement fascinant que la loi de Moore continue à rester valide presque 50 ans (grâce à la réduction permanente et rapide de la taille des transistors)  après sa proclamation : le M7 lui fait passer un jalon marquant avec 10 milliards de transistors sur un seul chip

Si je fais bien le calcul, on devrait dépasser les 100 milliards de transistor sur un chip à moins de 10 ans : Intel comme Oracle annoncent des processus de fabrication pour le 5 nanomètres alors que nous en sommes à 20 nanomètres pour l'instant. Donc un potentiel d'augmentation de (20/5) = 4 au carré (puisqu'on travaille sur une surface) soit un facteur 16 encore devant nous. Pas mal de chemin parcouru depuis le million de transistors du 80486 il y a 25 ans ou les 100 millions il y a moins de 10 ans !

La concurrence est dans le même ordre de grandeur : IBM à 4.2 milliards avec le Power8 récemment annoncé, Intel à 4.3 milliards de transistors par chip pour ses derniers Xeon E7 8890 v2.

Ce processeur M7 est donc une bête de course, et plutôt dans la catégorie Formule 1!  Il s'adresse cependant à un segment très restreint : le haut du panier des 155'000 serveurs Risc vendus chaque année, un marché sûrement juteux (fortes marges) mais bien petit comparé aux 10 millions de serveurs x86 vendus annuellement.

La tendance architecturale des dernières années est poursuivie sur le M7: la fréquence d'horloge n'augmente plus vraiment sinon la consommation électrique et les calories dissipées explosent de manière exponentielle! C'est le parallélisme qui augmente grâce aux transistors supplémentaires : le M7 offre 32 cores pouvant exécuter autant d'activités distinctes de manière simultanée, voire même beaucoup plus puisque 8 threads logiciels distincts peuvent être traités sur chaque core matériel qui leur partage ses ressources ("dynamic threading").


Chez Eranea, nous suivons l'évolution de ce marché des processeurs au plus près :
  • la beauté de Java (au coeur de notre technologie de migration) est d'être parfaitement agnostique au processeur (elle redéfinit ses propres instructions et son modèle mémoire : le fameux Java bytecode)  donc totalement portable : les applications Cobol /  mainframe que nous transcodons vers Java peuvent donc être exécutées - si leur taille ou la puissance de calcul nécessaire le justifient - sur le processeur le plus puissant du moment. Ce processeur peut évoluer dans le temps (RISC, x86) d'un fournisseur à l'autre sans que cela ne pose de questions / soucis particuliers : encodage des données, jeu d'instructions, opération de bas niveau.... Le "Write Once, Run Anywhere" (WORA) de Java est un atout précieux ! Nous l'expérimentons souvent sur des OS divers comme Linux, AIX, Windows, Solaris, etc.
  • de très grandes sociétés avec des systèmes transactionnels de très grande taille (plus de 1'000 transactions par seconde) analysent des migrations par transcodage vers Java de leurs applications métier critiques. Il est rassurant pour elles de savoir que la course à la puissance brute se poursuit chez les constructeurs même si les architectures par scalabilité horizontale (basées sur plus de serveurs moins puissants ) que nous prônons permettent d'aller elles aussi très très loin. Avoir des alternatives est toujours rassurant et sain !
Le fun ultime, c'est de se dire que cette puissance de calcul monstrueuse va bien finir par se retrouver dans notre poche (d'ici des années quand même...) sur notre téléphone mobile.

Gageons que les développeurs d'applications mobiles auront d'ici là trouvé les bons moyens, selon la prédiction de Carver Mead,  de "gaspiller ces innombrables transistors"  de manière "intelligente" afin que cet oxymore n'en soit finalement pas un  !

Source: blog Media and Tech (par didier durand)

jeudi, août 14, 2014

Cloud computing : Amazon AWS aussi gros que ses 4 poursuivants réunis Google, Microsoft, IBM. Salesforce - marché annuel 2014 = 10 milliards d'euros annuels!

Un état du marché des services d'infrastructure de cloud computing (IaaS) fort instructif publié par Synergy Research Group (SRG) :



 En 1 an, les 4 challengers Google, IBM, Microsoft et Salesforce rattrapent le leader incontesté du domaine Amazon AWS, en unissant leur force ... car chacun isolé est encore un tout petit David face au Goliath géant.

C'est certainement Microsoft, le seul avec une croissance à trois chiffres (+164%) qui permet ce dépassement.

Tout ce petit  monde jouit quand même  d'une belle croissance à 2 chiffres... Même pour Amazon, vu la taille énorme déjà atteinte (quasiment un milliard de dollars par trimestre), croître encore de +49% en 12 mois reste une énorme performance !

Cette vitalité très élevée est stimulée par l'adhésion des PMEs qui sont ravies de déléguer le sujet "infrastructure" à des acteurs qui doivent y exceller pour soutenir leur métier de base (cf les propos de E. Schmidt il y déjà un moment). Les grandes entreprises ne les utilisent, elles,  que pour une certaine classe d'applications (web, etc.) "génétiquement connexes" au cloud computing. Par contre, elles sont encore très prudentes pour leurs applications critiques commes celles que nous migrons depuis leur mainframe vers le cloud mais PRIVE : j'ai déjà longuement expliqué pourquoi.

SRG prédit donc un marché 2014 total à 10 milliards de dollars : il pourrait sûrement être massivement plus important si une guerre des prix fratricide, initiée par Google et ayant déjà fait des victimes comme RackSpace , n'était pas en route !

Les services IaaS sont un cas typique de business à effet d'échelle important. Cet effet se matérialise à la fois sur le coût pur des infrastructures qui coûtent forcémment beaucoup moins cher unitairement quand leur volume total est massif mais aussi  sur le côté engineering / administration où les hommes finissent par coûter très (trop ?) chers si les datacenters où ils travaillent n'ont pas l'échelle suffisante pour amortir le prix de leur fortes compétences.

On va donc avoir une très forte concentration de ce marché dans les 24-36 mois à venir : la nuée de micro-opérateurs de cloud computing (pour certains, juste de bon vieux hébegeurs qui surfent sur le buzz du moment) actuellement en pleine effervescence sur la marché va se faire absorber dans le meilleur des cas, anéantir dans le pire des cas par ces mastodontes qui vont tout balayer.

Vouloir jouer au jeu du "cloud computing mode discount", i.e à prix minimal est réservé aux tout grands. Les petits doivent trouver des niches où leurs coûts supérieurs sont supportés par la facturation de services supplémentaires offrant au client un confort supérieur au "matériel (virtualisé) brut" offert par ces géants qui ne souhaitent pas le contact du service : l'API / l'interface web de leur "datacenter programmable" est le niveau maximal d'intimité qu'ils souhaitent avec leurs clients . Ils laissent donc de la place dans des niches pour se différencier par un service VIP.

Mais, jouer leur jeu d'échelle est inaccessible à la vaste majorité des acteurs actuels du marché :  Amazon, Google et Microsoft annoncent des dépenses pharaoniques pour poursuivre leur développement technologique et commercial respectif : 4.6 milliards de dollars cumulés pour les 3 sur le premier trimestre 2014 pour bâtir leurs datacenters et les équiper en milliers de serveurs . IBM est plus "modeste" avec seulement 1.2 milliards pour l'ensemble de l'année pour ses extensions de datacenters

Les rouleaux compresseurs sont en marche : le développement massif du marché d'une  "énergie informatique" en tant que commodité similaire à l'énergie électrique, c'est maintenant ! Mais, tout le monde ne peut pas entrer dans le jeu : le ticket d'entrée limite les acteurs potentiels .

Naissance d'un nouvel oligopole ?


Source: blog Media and Tech (par didier durand)

mercredi, août 13, 2014

Backupify : l'impact du cloud sur notre vie professionnelle

Une infographie intéressante récemment publiée par Backupify, spécialiste du backup dans le cloud.

Elle tente d'illustrer certains impacts de l'ensemble des services du cloud computing public, dans son acception la plus large, sur la vie professionnelle de chacun.

Ce que je retiens de cette illustration par rapport à mes propres pratiques :
  • j'installe très régulièrement sur ma tablette  des mises à jours d'applications bien plus importantes que les 13 disquettes de Microsoft Windows de l'époque. Elles arrivent par le réseau (Wifi ou 3G) sans même me soucier de leur volume et de leur coûts : la 3G les transporte très vite et mon forfait mobile me permet un accès Internet illimité. J'ai oublié ce qu'était les disquettes et ma clef USB me sert de plus en plus rarement...
  • je partage des tonnes de documents via Google Drive, Dropbox avec mes collègues ou  : je n'inprime plus rien ou presque. Et cependant, j'ai finalement tout mon bureau toujours avec moi : je rattrape sur le cloud les documents que je n'aurais pas sur mon outil de travail à l'instant t...
  • Skype m'est indispensable : communication vocale et surtout échanges en chat permanents avec mes collègues et partenaires.
  • le télétravail est une notion qui devient même floue : beaucoup des ressources que j'utilise sur sur Amazon AWS (EC2, S3, etc.) donc j'y en suis finalement toujours très éloigné que je sois au bureau, à la maison ou chez un client. L'ubiquité des services Cloud amenées par Internet et les réseaux mobiles fait que le mode "télé" est finalement permanent donc n'est plus à noter en tant que tel...

Donc, je peux voire admettre que le Cloud a profondémment bouleversé mes méthodes de travail. Pour le mieux ? Oui, je le crois : plus de flexibilité, de réactivité, etc. Seul revers : savoir "tirer sur le cordon de la prise" pour déconnecter sinon l'ubiquité d'accès se transforme vite en "tyrannie de la réponse obligée". Je pense aussi aux mails qui arrivent en permanence sur le téléphone portable : on ne les laisse plus au bureau comme par le passé.

Et vous, votre "job in the cloud", il est mieux qu'avant ?

Source: blog Media and Tech (par didier durand)

vendredi, août 08, 2014

Docker vs kvm = containers vs virtualization (IBM research paper). The next big thing in datacenters ?

At Eranea, our current architecture for the Cobol application that we transcode away from mainframe to Java running on Linux is the private cloud like CloudStack or Openstack (see why  here).

Thanks to many advances over the years in hardware assistance for virtualization, kvm is now fine from a performance standpoint (in most cases), so we usually run our migrations over this hypervisor especially as it is favored by Redhat (the OSS "brand" favored by customers) in its RHEV product. Basically, we split the migrated mainframe into many Linux instances  with specialized functions (HA proxies, load balancers via Apache, processing instance via Java AS, database engines, etc.)

But, we're always monitoring the trends to find other ways of doing things. So, we monitor the huge buzz around Docker very extensively : (Linux) containers seems to be the "next big thing" in IT infrastructure and datacenters. Wikipedia introduces to Docker here)

Rather, than running it a full OS under the control of an hypervisor, you isolate the applicative function in a container and run it on a single instance of Linux in parallel (see this ZDNet article) with many other workloads themselves also isolated in their own container.

For us, the interest at this point is not yet production : we will continue to run applications as a cluster of kvm instances. But, for tests, Docker may prove the right solution to run, on a single OS, together all the various kinds of instances that we need in a productive cloud with all functional effects of networking across instances reproduced by networking across containers.

We do start those tests now.

In doing our initial homework, we found this very recent research paper by IBM comparing virtualization (kvm) to containers (Docker). I deeply recommend its detailled reading :
  • it very well explains the core motivation of both for isolation : resource control, functional and security isolation (parag #1)
  • it details in full length the basics of Docker (cgroups, namespaces, etc.) (parag #1 and #2.3)
  • it finally compares both across various benchmarks (parag #3) to conclude that Docker has always negligible overhead when compared to native runs and consequently outperforms kvm for I/O intensive workloads (storage, network). This comes of course at the expense of a less "sealing" isolation when compared to standard virtualization.
By the way, there is a question to which this excellent paper doesn't answer. It is asked by the very recent article of Forbes around Docker, the eponymous mother company of this white-hot container technilogy : how come can a company having no revenue yet (and not even knowing either how to generate some...) be raising 40-75 millions dollars at a valuation of $400 millions ?

Container technology is clearly a key building block of cloud computing for the years to come. But, will this brick really become THE cornerstone of the edifice as this stellar valuation seems to assert it ?

Your opinions are welcome !

Source: blog Media and Tech (par didier durand)

mardi, juillet 29, 2014

Amazon AWS grows slowly : not (yet) appropriate for mission-critical applications

In his post on NYT blogs, Quentin Hardy reports about slow growth of Amazon AWS IaaS services (S3, EC2, etc.) : "only" +37%  (1.2 billion $ revenues for the quarter)  when compared to a year ago. It was far above 50% in the past !

Of course, you can't grow forever at this huge speed but something else is happening.
I would agree with the statement by Chris Gaun in this post saying the public cloud is not ready for the enterprise (or vice-versa).

The "impedance mismatch" between public cloud offerings (Amazon AWS, Microsoft Azure, Google Cloud) and corporation requirements is big : SLAs are not stringent enough, security is not guaranteed, etc. on the cloud providers side. On the corporation side, it is hard to express the right needs in terms of standardized cloud services when it comes to move an internal application (usually made of various satellite subsystems) usually setup over many years.

That is cleary why many corporations prefer to learn and test the waters with a private cloud behind their firewall : I already reported why and how CIOs prefer to see their mission-critical applications (usually running on mainframes) migrated to an internal CloudStack or OpenStack system for the Java and web UI that we generate at Eranea to replace their Cobol and 3270.

It is the safest path to learn and experience daily cloud computing at large scale for core business applications. At the same time, they get ready for a much simpler move to AWS, Azure & co : moving already virtualized instances from a private cloud to a shared infrastructure is much simpler than the direct jump from a mainframe to a public cloud.

So, CIOs lose no time by doing the intermediate step of private cloud : they just prepare for the future (=hybrid cloud) by implementing the leading edge for mission-critical application (= private cloud)

Source: blog Media and Tech (par didier durand)

samedi, juillet 26, 2014

Transitioning legacy to the cloud : feeling of inability rather than missing willingness ! (2014 Future of Cloud Survey)


For those interested in future of cloud computing, have detailed look at the 2014 Future of Cloud Survey by Northern Bridge (shared below from SlideShare): a very comprehensive analysis of current market trends for all aspects of the cloud. With 1,350+ respondents from all kinds of companies, organizations, etc., it clearly is the largest survey in this area.






Let's comment some aspects of this survey from Eranea's perspective :
  1. The quote of Mike Schutz from Microsoft (page 7) is definitely true : “what comes to me loud and clear from this survery is that even more business are no longer thinking 'why cloud' but will focus the next 12-24 months figuring out 'how do I execute a long-term cloud strategy?'
  2. Some functions of corporate IT have won the cloud battle (page 22) : web presence, communications, disaster recovery.
  3. The laggards are in the back-office (page 24): transaction processing and data center consolidation
  4. Security is still a big concern (page 55) : it remains the biggest inhibitor to cloud computing for 49% of respondents
Our current and frequent meetings with prospects and clients (throughout various countries in Europe) who wants to leave transform their IT legacy (Cobol applications, mainframe systems) bring the same feedback:

  1. CIOs no longer question the interest of the cloud for their company. Its advantages (cost savings, flexibility & agility, scalability, etc.) are perfectly understood. But, for their legacy systems, they have a slightly harder question than the one proposed by Mike Schutz: it's not “how do I execute a long-term cloud strategy”, it is more “how can I execute a long-term strategy cloud strategy” (for my legacy). Ability is their concern.
  2. Of course, they already migrated or are about to migrate the “cloud-native” functions of their global IT system: cloud computing is born with the Internet (remember those service providers named (web) hosting companies ?). So, there is no better place to for web presence and communications services (email, etc.) than the cloud. Then, regarding disaster recovery, its cloud version is so cost-efficient that it is for many companies an enabler: finally, they can afford a solid recovery architecture for their mission-critical applications !
  3. Yes, the laggards are in the back-office, but for a good reason : CIOs have the deep feeling of being stuck (trapped ?) with their big irons and the associated millions of lines of Cobol. No way out !
  4. Yes, security is a big concern regarding shared cloud infrastructures: wouldn't you be worried as a bank or financial service company to see your IT under deep scrutiny (spying ?) if data in your core banking system run by a cloud provider could “leak” at any time ? Remember the huge story of 2013 involving NSA, PRISM, etc. ? Such scary megabuzz leaves imprints in the brains of most pioneer CIOs ...

At Eranea, we try to address those concerns in the following way:
  • We address the feeling of inability to migrate legacy systems by detailing how we can migrate their millions of lines of Cobol running on their mainframe in a very safe manner. Our process of transcoding to Java and web is 100% automated. The code that we generate is strictly iso-functional allowing very progressive and riskless migrations. So, we demonstrate that the transformation of Cobol to a Java + web application able run in  a cluster of cloud Linux instances is, for Eranea, an industrial and progressive process (i.e. repeatable at will thanks to appropriate technology and tooling) and NOT a 1-shot extraordinary achievement run in big-bang mode.
  • We propose to use private cloud initially: it keeps everything internal to the company. So, the security concern is blown away. Secondly, it is an “acceptable” first step toward cloud computing as everything stays under full control of internal IT organization. Private cloud solutions like CloudStack or OpenStack are already productive at very high-scale in very large corporations (Disney, Wells Fargo Bank, etc.)  or organizations (CERN, NASA, etc.) : the services that those private cloud propose allow to reach architecture matching the most stringent requirements coming from the continuation of mainframe SLAs.
Private cloud is the right way to start the “cloudification” of your legacy: it allows you to learn this still-emerging technology “behind the curtain.” So, you avoid the public exposure (media buzz, hackers, etc.) around your initial missteps on mission-critical applications.

When your corporation feels expert in subtleties of cloud computing via learning on a private cloud,, it's probably time to go for the shared version of cloud services, be it named hybrid cloud, intercloud, multicloud PaaS, Iaas, etc.

Isn't it a wise step anyway if you refer to the old adage : “delegation without understanding is abdication” ?

So, to come back to the “Future of Cloud ” 2014 survey, the figures around legacy strongly reflects the current market trends.

And, from our perspective,  they are motivated by a feeling of inability by CIOs: “I am locked up can't get there for my legacy.” On the other side, as their willingness is strongly present and as smooth and secure migration solutions like the one we continuously perfect at Eranea exist, it is not so hard to convince them that the world famous “YES, WE CAN !” also applies to the cloud strategy of their legacy system.

Source: blog Media and Tech (par didier durand)

mercredi, mai 22, 2013

Faire tourner une JVM Java 32 bits sur Linux 64 bits (Ubuntu 13.04)

Dans le cadre de tests en cours pour la migration automatique vers Java des travaux batch (en Cobol) d'un client, nous devons installer l'ordonnanceur Control/M de BMC sur Linux 13.04.

Le produit Control/M vient avec un installeur embarquant sa propre JVM version 6 en 32 bits. Il n'est pas possible de le débrayer pour utiliser la JVM native de la machine cible.

Donc, il faut faire tourner la JVM 32 bits embarquée sur un Linux 64 bits !

A priori, quand on lance la JVM via path/java -version, on obtient le message d'erreur "no such file or directory" alors que le fichier est bien présent et que les permissions nécessaires (i.e "read" et "execute") sont en place.

Pour régler le problème, il faut installer le package général de compatibilité entre les modes 32 et 64 bits d'Ubuntu qui s'appelle ia32-libs.

Donc, un "sudo apt-get install ia32-libs" et le Java 32 bits donc l'installeur Control/M fonctionne sur Linux 64 bits.

Update: pour régler le même problème sur Linux CentOS 6 (la version communautaire strictement compatible RedHat), il faut faire 'sudo yum install libstdc++.i686'


Source: blog Media and Tech (par didier durand)

mardi, mai 21, 2013

dossiers partagés VMWare: host et guest sous Ubuntu 13.04 via WMWare Workstation 9.0

Chez Eranea, pour nos projets de transcodage et de migration d'applications, nous utilisons beaucoup VMWare Workstation pour tester simplement et efficacement des configurations-cibles nouvelles (système isolé, ensemble de machines interconnectées, etc.). C'est extrêmement efficace au sein de l'équipe: l'un prépare les machines virtuelles puis les passent aux autres membres de l'équipe par simple copie de fichiers. Beaucoup de temps d'installations de base à répliquer économisés !

Dans cet objectif, je viens de passer pas mal de temps à faire fonctionner la fonction de dossiers partagés entre host et guest, tous 2 sur Ubuntu 13.04 avec VMWare Workstation 9.0.  Ce n'est pas encore opérationnel de base sûrement à cause de la nouveauté de Ubuntu 13.04 "Raring Ringtail" (i.e Le Bassaris): un incident est ouvert chez VMWare : https://answers.launchpad.net/ubuntu/+question/227866

Alors, voilà ci-dessous comment je m'en suis finalement sorti en attendant. Si cela peut faire gagner du temps à d'autres...

Par défaut, les VMWare Tools installés par WMWare WS9 ne permettent pas l'accès aux dossiers partagés : le module kernel nommé vmhgfs qu'ils devraient intégrer au noyau lors de leur installation ne l'est finalement pas : un simple lsmod | grep vmhgfs le prouve.

Une réinstallation des outils via l'onglet VM > Reinstall VmWare Tools ne donne rien même après reconstruction du noyau Linux.

Voici donc le bon chemin:  (en tout cas pour moi...)
  • sudo apt-get install open-vm-tools
  • sudo mkdir /mnt/hgfs
  • sudo mount -t vmhgfs .host:/ /mnt/hgfs
Ci-après se trouve le journal de mes réponses aux questions posées lors de l'installation de open-vm-tools pour que vous puissiez comparer.

Après l'installation de open-vm-tools, lsmod | grep vmhgfs confirme la présence de vmhgfs et donc le mount va au out et les dossiers partagés apparaissent.

Good luck !

===================== Log de  sudo apt-get install open-vm-tools


 sudo apt-get install open-vm-tools
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  dkms ethtool fakeroot libdumbnet1 open-vm-dkms zerofree
Suggested packages:
  dpkg-dev debhelper open-vm-toolbox
The following NEW packages will be installed:
  dkms ethtool fakeroot libdumbnet1 open-vm-dkms open-vm-tools zerofree
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,136 kB of archives.
After this operation, 9,972 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ raring/main dkms all 2.2.0.3-1.1ubuntu2 [72.8 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ raring/main ethtool amd64 1:3.4.2-1 [101 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ raring/main fakeroot amd64 1.18.4-2ubuntu1 [89.1 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ raring/universe libdumbnet1 amd64 1.12-3.1 [31.3 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu/ raring/multiverse open-vm-dkms all 2012.12.26-958366-0ubuntu3 [394 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu/ raring/multiverse open-vm-tools amd64 2012.12.26-958366-0ubuntu3 [440 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu/ raring/universe zerofree amd64 1.0.2-1ubuntu1 [8,654 B]
Fetched 1,136 kB in 3s (356 kB/s)
Selecting previously unselected package dkms.
(Reading database ... 183590 files and directories currently installed.)
Unpacking dkms (from .../dkms_2.2.0.3-1.1ubuntu2_all.deb) ...
Selecting previously unselected package ethtool.
Unpacking ethtool (from .../ethtool_1%3a3.4.2-1_amd64.deb) ...
Selecting previously unselected package fakeroot.
Unpacking fakeroot (from .../fakeroot_1.18.4-2ubuntu1_amd64.deb) ...
Selecting previously unselected package libdumbnet1.
Unpacking libdumbnet1 (from .../libdumbnet1_1.12-3.1_amd64.deb) ...
Selecting previously unselected package open-vm-dkms.
Unpacking open-vm-dkms (from .../open-vm-dkms_2012.12.26-958366-0ubuntu3_all.deb) ...
Selecting previously unselected package open-vm-tools.
Unpacking open-vm-tools (from .../open-vm-tools_2012.12.26-958366-0ubuntu3_amd64.deb) ...
Selecting previously unselected package zerofree.
Unpacking zerofree (from .../zerofree_1.0.2-1ubuntu1_amd64.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Setting up dkms (2.2.0.3-1.1ubuntu2) ...
Setting up ethtool (1:3.4.2-1) ...
Setting up fakeroot (1.18.4-2ubuntu1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up libdumbnet1 (1.12-3.1) ...
Setting up open-vm-dkms (2012.12.26-958366-0ubuntu3) ...
Loading new open-vm-tools-2012.12.26 DKMS files...
First Installation: checking all kernels...
Building only for 3.8.0-21-generic
Building for architecture x86_64
Building initial module for 3.8.0-21-generic
Done.

vmblock:
Running module version sanity check.

Good news! Module version 1.1.2.0 for vmblock.ko
exactly matches what is already found in kernel 3.8.0-21-generic.
DKMS will not replace this module.
You may override by specifying --force.

vmci.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.8.0-21-generic/updates/dkms/

vmhgfs.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.8.0-21-generic/updates/dkms/

vmxnet.ko:
Running module version sanity check.
Error! Module version 2.0.15.0 for vmxnet.ko
is not newer than what is already found in kernel 3.8.0-21-generic (2.0.15.0).
You may override by specifying --force.

vsock.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.8.0-21-generic/updates/dkms/

depmod....

DKMS: install completed.
Setting up open-vm-tools (2012.12.26-958366-0ubuntu3) ...

Configuration file `/etc/vmware-tools/scripts/vmware/network'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** network (Y/I/N/O/D/Z) [default=N] ?

Configuration file `/etc/vmware-tools/suspend-vm-default'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** suspend-vm-default (Y/I/N/O/D/Z) [default=N] ?

Configuration file `/etc/vmware-tools/statechange.subr'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** statechange.subr (Y/I/N/O/D/Z) [default=N] ?

Configuration file `/etc/vmware-tools/poweroff-vm-default'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** poweroff-vm-default (Y/I/N/O/D/Z) [default=N] ?

Configuration file `/etc/vmware-tools/resume-vm-default'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** resume-vm-default (Y/I/N/O/D/Z) [default=N] ?

Configuration file `/etc/vmware-tools/poweron-vm-default'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** poweron-vm-default (Y/I/N/O/D/Z) [default=N] ?
update-initramfs: deferring update (trigger activated)
 * Loading open-vm-tools modules                                         [ OK ]
 * Remove pcnet32 module, if vmxnet is loaded                            [ OK ]
 * Starting open-vm daemon vmtoolsd                                      [ OK ]
Setting up zerofree (1.0.2-1ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for ureadahead ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-21-generic

Source: blog Media and Tech (par didier durand)

mercredi, janvier 16, 2013

Grosse pointure du monde Java ? Eranea vous veut !

A tous à mes lecteurs,

L'intérêt pour la technologie d'Eranea est très fort: beaucoup de grands comptes souhaitent utiliser notre technologie pour migrer leurs grands systèmes 100% automatiquement et sans risque vers Java. [ La brochure qui décrit ce que nous faisons et comment nous le faisons est ici.]

Aussi, nous recrutons activement:  une ou plusieurs  vraies pointures du monde Java sont les bienvenues !

Vous êtes un expert de cette technologie : contactez-nous par un mail à jobs@eranea.com pour un CDI aux conditions avantageuses sur Suisse ou France (Haute Savoie).

Envoyez-nous aussi vos amis. Ils sont les bienvenus!

Voici le texte de  notre annonce officielle :


Ingénieur H/F Développeur Java Senior

eranea, société suisse spécialisée dans la modernisation stratégique de grands systèmes informatiques, recrute dans le cadre de sa croissance, un ingénieur H/F développeur Java confirmé (> 5 ans d'expérience) en CDI.

eranea révolutionne l'informatique de ses clients :
  • Société basée à Lausanne, spécialisée dans la migration automatique vers Java et Linux de grandes applications métier, souvent en Cobol / L4G sur grands systèmes.
  • eranea accompagne ses grands clients suisses et internationaux dans l'évolution stratégique et la modernisation de leur système d'information.
  • Java est son cœur de métier : elle développe sa propre technologie originale en Java.

Vous êtes :
  • Passionné par des développements pointus en Java et révolutionner l'informatique vous attire !
  • Hyper-motivé pour sortir des sentiers battus et proposer des solutions innovantes !
  • Autonome, mais aussi apte à travailler en équipe, consciencieux et rigoureux, participer aux tests et à la documentation vous est naturel.
  • Mobile et bon communicant, vous êtes prêt à réaliser des projets stratégiques d'envergure en coordination avec les équipes de nos clients.
  • Multilingue : vous parlez très bien anglais, et éventuellement d'autres langues.

Vos compétences techniques, par ordre de préférence, sont :
  • Grande capacité de design objet.
  • Multi-threading / temps réel.
  • Maîtrise des architectures distribuées (Web Services, REST, RPC, ...).
  • Google Web Toolkit (GWT) : développement de widgets, maîtrise DOM / événements, ...
  • Expériences de profiling / tuning JVM.
  • Architecture JVM, java byte code.
  • Connaissance des techniques de compilation / interprétation.
  • Architecture J2EE.
  • Linux et les outils standards de son environnement.
Nous offrons une rémunération et une couverture sociale très intéressantes, ainsi que des conditions de travail agréables et conviviales dans une ambiance motivante.

Contactez-nous : envoyer CV et lettre de motivation à jobs@eranea.com

Source: blog Media and Tech (par didier durand)