jueves oct 15, 2009
viernes mar 13, 2009
I was listening to a podcast of the uptime institute yesterday. Amy Wohl described her thoughts on what Companies should do in this time of crisis with regards to IT. She advised to start using virtualization "if you haven't started already". Virtualization has proven to be a good solution to make better use of compute resources, that are otherwise idling in the datacenter. There is an old saying in my home town about the old hens: They eat and drink the same amount than the young ones, but do not produce many eggs... .
An interesting point Amy,but more than the point, I want to comment on the timing "....if you haven't started already..."
One of the thoughts I would have being a Sun customer that has not started already with Virtualization is related to the risks involved.
- Why would I, in time of crisis take on a project that could potentially harm my existing implementations? (when you virtualize you tend to put more apps in one server, so if things are not properly planned and designed, we could increase the likelihood of failure instead of the benefits we are looking for).
- Why would I look to add a new vendor in this time of crisis (new to the customer that is) ?
- Could I start working on virtualization with what I already have in place?
I'd say these are legitimate concerns for our customers. Times of crisis, you want to adjust but you wouldn't want to jeopardize operations by introducing too many variants in the data center. So how do we move forward without sinking the boat in the attempt?
That is where I truly believe we have a unique positioning for these times of crisis. I wrote the other day a little bit about what have we done as a company in virtualization. Our customers who have not started a virtualization approach because of the risks involved, have a relatively easy way to start. Just learn (or ask us about) how to turn the virtualization features that are already embedded in their Sun environments, ah by they way, there are no licenses fees attached !
Every Solaris 10 server that is running out comes with the features of Solaris Containers. Sparc, X86. You can virtualize dozens, hundreds if you want without having to pay one additional cent. And it is the same Solaris...Learning curve? very small because is the same Solaris
Every CMT base server you have comes with LDOMS, a hypervisor that allows you to split the server into different Solaris or Linux instances, also without a license attached !.
So there you have a couple of ways to work through the crisis by reducing you power/cooling bill and your rack space without having to learn how to dance with a new technology/vendor in times of crisis. We are talking about Solaris so you know how the OS behaves in peak times and under stress , so you already know how good Solaris is "in time of crisis".
viernes ene 23, 2009
The thing is that I have not decided to embrace the technology, mainly because of those little things. Every time I wanted to find a screen video recorder I found one with glitches or conditions (30 day trial, etc,), so I stopped and postponed...
But during these last couple of weeks I started visiting the idea again. I thought of a few premises of interest:
- Everything Free . Open Source, or freeware
- Easy to use
- Avi Files are expensive in terms of disc space, so I want to be able to see the final product in a reduced footprint, like the one flash generates.
- Web accessible off course
A few days ago I decided to give it another try and went to Mr Google to find out about freely available options.
I found a couple of good things
Camstudio.org . Allows me to record a windows, audio, full screen or a piece of the screen and turn it into an avi file. It also allows me to pause the recording and resume easily whenever am ready.It even comes with the option con convert from avi to flash, something that other software houses add for a fee.
Free Video to Flash Converter (3.51) ( http://www.dvdvideosoft.com/free-dvd-video-software.htm) to change from avi to flash format. Even though camstudio has the option, I find this one a bit more elegant since it lets you pickup the style of player and it creates a neater set of files (flv, xml,html) with the final product.
I also found an utility that zooms in the screen around the position of the cursor. It is called zoomit.
With those 3 tools I am ready to work on my experiment. The demos I am usually working on these days are basically shell-based. So I want to be able to record the shell commands, but the commands are quite dry, meaning I can't see any thought process on what am I intending to do, what happens next , what if, and so on.
Usually when am working on something worth taking notes, I open up a notepad application (notepad or wordpad are preferrable because they are very lightweight) and record what am doing, what am thinking , errors that I find, web links of help etc... So I thougth, why not put a couple of screens together and record the thought process and the demo commands side by side, that way I have the notes and the actions together. I can put them later on whatever the repository might be (youtube, ssc-latinamerica.com, etc) .
This is obviously very,very rudimentary way of creating demos, but is also very simple. I don't need to go out of my way to create a special environment or go into a "recording studio" to record stuff, I basically hit the record button and work. I wil be doing a few of these "Flash with Notes demos" as written records of shell demoable features for whatever topic could be of interest.
I have a few samples of these casts in the new portal for the SSC Fort Lauderdale
sábado ene 17, 2009
La instalación del Portal Liferay en el Sun Solution Center ha sido una experiencia muy agradable desde el punto de vista de configuración, funcionalidad e instalación. Los detalles:
Obtuve el “bundle” para liferay 5.1.2 tomcat 6.0 del website www.liferay.com . La primera instalación la hice en una máquina virtual(box) ubuntu en mi laptop. La instalación es extremadamente sencilla. Solo se requiere descomprimir el archivo , y ejecutar el script startup.sh. A partir de alli, el portal funciona, inicialmente en la direccion http://localhost:8080
Con la promesa de la portabilidad de Java, (write once , run anywhere) , el mismo archivo bundle utilizado en la máquina virtual , lo copié en una zona de una servidor x2100 con Solaris 10 update 4. Mismo procedimiento de descomprimir y startup.sh. Mismo resultado, http://localhost:8080 y el portal activado.
Inicialmente el portal ejecuta con una base de datos incluida (hysql) , totalmente funcional pero no necesariamente lo que queremos para un ambiente de producción. Lo digo porque en una oportunidad, resetenando el servidor, la data pareció perderse. En lugar de utilizar esta base de datos, instalamos mysql 5.1.23 . El cambio esta muy bien documentado tanto en la guía rápida como en la de administración. Liferay solo pide que crees una base de datos nueva de nombre lportal y el script (startup.sh) se encarga de inicializarla la primera vez que se levanta la aplicación.
Algo que terminó siendo importante fue la versión del jre utilizada . Originalmente el servidor en Solaris 10 tenía la version 1.5. Al momento de colocar el servidor detrás de un firewall , en NAT 1:1, se presentaron problemas de lentitud en el despliegue de las páginas. Actualicé la versión a la 1.6 y los problemas desaparecieron.
Otro de los cambios que probé con éxito fue el de mantener la misma base de datos y cambiar el servidor de aplicaciones Asi pude comprobar que con muy pocas modificaciones, es sencillo cambiar el servidor de aplicaciones en caso de que surja la necesidad. En el bundle vienen las alternativas de tomcat, tomcat+jboss , glassfish, entre otros.
La facilidad de uso y configuración del portal es impresionante. Basado en el esquema de portlets, lidereay me permitió tener un portal operativo con solo pocas horas de trabajo y sin ninguna experiencia previa en la aplicación.
El resultado actual se puede ver aqui: http://portal.la-solutioncenter.com
martes dic 23, 2008
This is a follow up exercise of the Containers on the Move post. This is the scenario for which this test applies:
A customer has some containers running on a server as application servers. These containers are in the production environment so halting and rebooting is undesirable. The containers where created on Solaris 10 update 3, customized to run specific applications and then a backup of the containers was performed.
We would like to test the possibility to move a container to another server with Solaris 10 update 6 without halting it. We are interested in making sure the packages and patches remain leveled as we move them.
An approach to do this is to create a "surrogate" container in the same server with similar characteristics to the zone we are interested in, halt it and detach it. Once the detached is performed, a file called SUNWdetached.xml is created. This file contains all the packages and patches pertinent to the zone. It also contains the configuration of the detached zone, which is what we are interested in.
Our test gear is the following:
We want to move the spar zone, and we will use the bridge zone as the surrogate.
Let's asume the following tasks related to the creation of the zones where performed in the past. We created both zones
root@anaco # zonecfg -z bridgebridge: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:bridge> createzonecfg:bridge> set zonepath=/zones/roots/bridgezonecfg:bridge> add netzonecfg:bridge:net> set physical=ce2zonecfg:bridge:net> set address=10.10.100.110zonecfg:bridge:net> endzonecfg:bridge> verifyzonecfg:bridge> commitzonecfg:bridge> exitroot@anaco # zonecfg -z bridge infozonename: bridgezonepath: /zones/roots/bridgeautoboot: falsepool:limitpriv:inherit-pkg-dir:dir: /libinherit-pkg-dir:dir: /platforminherit-pkg-dir:dir: /sbininherit-pkg-dir:dir: /usrnet:address: 10.10.100.110physical: ce2root@anaco # zoneadm -z bridge installPreparing to install zone <bridge>.Creating list of files to copy from the global zone.
And clone the bridge zone to create the spar zone. This link has a clean how-to-guide for cloning
1.- We halt the Bridge zone
root@anaco # zoneadm -z bridge halt
2.- Export Bridge zone configuration
root@anaco # zonecfg -z bridge export > /tmp/spar.cfg
3.- Change parameters of new zone (hostname and IP address)
root@anaco # vi /tmp/spar.cfgroot@anaco # more /tmp/spar.cfgcreate -bset zonepath=/zones/roots/sparset autoboot=falseadd inherit-pkg-dirset dir=/libendadd inherit-pkg-dirset dir=/platformendadd inherit-pkg-dirset dir=/sbinendadd inherit-pkg-dirset dir=/usrendadd netset address=10.10.100.111set physical=ce2end
4.- Create new zone from configuration file spar.cfg
root@anaco # zonecfg -z spar -f /tmp/spar.cfg
5.- Clone Bridge zone
root@anaco # zoneadm -z spar clone bridge
Cloning zonepath /zones/roots/bridge...
root@anaco # zoneadm list -ivID NAME STATUS PATH0 global running /2 dns-backup running /zones/roots/dns-backup- bridge installed /zones/roots/bridge- spar installed /zones/roots/sparroot@anaco # zoneadm -z spar boot
Asuming we are still in the past, we backed up the zone spar without detaching it
root@anaco # zoneadm -z spar halt
1.- Create a tar file of the zone spar
root@anaco # cd /zones/roots/sparroot@anaco # tar cvf /tmp/spar.tar *root@anaco # ls -lh /tmp/spar.tar-rw-r--r-- 1 root root 202M Dec 23 08:05 /tmp/spar.tar
The resultant spar.tar is then shipped (scp, ftp, nfs or any other way) to the target server T5520. I did it with ftp
The following steps are performed in the present. By now, the spar zone has been running for a while and it is in the production environment so we don't want to reboot it again, something we would have to do if we were to detach it. We will use instead the bridge zone, detaching it and borrowing its detached file to recreate the spar zone in the target server.
root@anaco # zoneadm -z bridge detachroot@anaco # cd /zones/roots/bridge root@anaco # ls dev root SUNWdetached.xml
I ship (ftp) the generated SUNWdetached.xml file to the T5220
Now in the target server (T5220) , lets create the target zone,
First untar the spar.tar files in its new home
root@t5220 # mkdir -m 700 -p /zones/sparroot@t5220 # cd /zones/sparroot@t5220 # mv /tmp/spar.tar .root@t5220 # tar xvf spar.tarroot@t5220 # zonecfg -z sparspar: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:spar> create -a /zones/sparinvalid path to detached zonezonecfg:spar> exitroot@t5220 # pwd/zones/spar
As expected zoneadm didn't like it ,because it didn't have the SUNWdetached.xml file as this tar directory was not detached. We now make a copy of the /tmp/SUNWdetached.xml file into the /zones/spar directory, and modify the file (changed "bridge" by "spar" and "10.10.100.110" by "10.10.100.111")
root@t5220 # cp /tmp/SUNWdetached.xml /zones/sparroot@t5220 # lsdev lu root SUNWdetached.xmlroot@t5220 # vi SUNWdetached.xml"SUNWdetached.xml" 2573 lines, 114051 characters<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE zone PUBLIC "-//Sun Microsystems Inc//DTD Zones//EN" "file:///usr/share/lib/xml/dtd/zonecfg.dtd.1"><!--DO NOT EDIT THIS FILE. Use zonecfg(1M) and zoneadm(1M) attach.--><zone name="spar" zonepath="/zones/roots/spar" autoboot="false"><inherited-pkg-dir directory="/lib"/><inherited-pkg-dir directory="/platform"/><inherited-pkg-dir directory="/sbin"/><inherited-pkg-dir directory="/usr"/><network address="10.10.100.111" physical="ce2"/><package name="SUNWocfd" version="11.10.0,REV=2005.01.21.15.53"/><package name="SUNWasu" version="8.2,REV=2006.08.16.09.11"/><package name="SUNWcsr" version="11.10.0,REV=2005.01.21.15.53"/>....(rest of output ommited)...
Now, let's try again creating the zone.
root@t5220 # zonecfg -z sparspar: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:spar> create -a /zones/sparzonecfg:spar> exitroot@t5220 #
This time it worked.!!!. Now going for the attach and update
zonecfg:spar> create -a /zones/sparzonecfg:spar> exitroot@t5220 # zoneadm -z spar attach -uzoneadm: zone 'spar': ERROR: attempt to downgrade package SUNWglh, the source had patch 120812-27 but this system only has 120812-25
At first I thought this was the bug I saw before in the first post but the 120812 patch is an OpenGL patch. 120812 doesn't seem to be related to this bug because even if I put the 120812 in the bad_patches file, the result is the same.
To solve the problem I downloaded the latest patch, 120812-28 and installed it in the T5220
root@t5220 # patchadd -d 120812-28
After installig the patch, we try the attach again
root@t5220 # zoneadm -z spar attach -uGetting the list of files to removeRemoving 1008 filesRemove 576 of 576 packagesInstalling 2659 filesAdd 714 of 714 packagesUpdating editable filesThe file </var/sadm/system/logs/update_log> within the zone contains a log of the zone update.
We can verify that the zone is installed..
root@t5220 # zoneadm list -ivID NAME STATUS PATH BRAND IP0 global running / native shared11 jboss running /zones/jboss native shared- spar installed /zones/spar native shared
Now , we adjust the NIC to e1000g1 to adapt it for the T5220
root@t5220 # zonecfg -z spar infozonename: sparzonepath: /zones/sparbrand: nativeautoboot: falsebootargs:pool:limitpriv:scheduling-class:ip-type: sharedinherit-pkg-dir:dir: /libinherit-pkg-dir:dir: /platforminherit-pkg-dir:dir: /sbininherit-pkg-dir:dir: /usrnet:address: 10.10.100.111physical: ce2defrouter not specifiedroot@t5220 #root@t5220 # zonecfg -z sparzonecfg:spar> select net address=10.10.100.111zonecfg:spar:net> set physical=e1000g1zonecfg:spar:net> endzonecfg:spar> verifyzonecfg:spar> commitzonecfg:spar> exitroot@t5220 # ifconfig -alo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1inet 127.0.0.1 netmask ff000000lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1zone jbossinet 127.0.0.1 netmask ff000000e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2inet 10.10.10.228 netmask ffffff00 broadcast 10.10.10.255ether 0:14:4f:d5:7:ae1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3inet 10.10.100.228 netmask ffffff00 broadcast 10.10.100.255ether 0:14:4f:d5:7:be1000g1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3zone jbossinet 10.10.100.181 netmask ffffff00 broadcast 10.10.100.255root@t5220 # zoneadm -z spar bootroot@t5220 # zlogin spar[Connected to zone 'spar' pts/3]Last login: Tue Dec 23 04:57:12 on pts/4Sun Microsystems Inc. SunOS 5.10 Generic January 2005You have mail.### ping 10.10.100.25410.10.100.254 is alive# uname -aSunOS spar 5.10 Generic_137137-09 sun4v sparc SUNW,SPARC-Enterprise-T5220
lunes dic 22, 2008
The new Solaris update 6 has implemented a potentially powerful feature. "Update on Attach". The attaching and detaching of zones was introduced in Update 3
. The initial scope allowed first to move a container from one place to
another inside the same server, something useful for those who started
the container on a local file and wanted to move it to a file sytem or
raw device, always inside the server. Then it seems to have evolved to
allow moving the container from one server to another. Here the
disclaimer was that the two servers needed to be similar architectures
(say from one T2000 to another T2000. This paper explains nicely how to move a container from one place to the other)
With
the new update on attach option, we can now move a container that was
created in say a v490 to a T5220. Solaris takes into consideration the
packages and patches installed in the source system and the ones needed
in the target system and updates them as it builds the new container,
nice.
The process is very simple in general
- In the source server (the one with the container we want to move), Halt the zone
- Detach the zone
- Tar , zip or pax the container and ship it to the new target server
- In the target server (the new home of the container ), untar, unzip, or unpax the container
- Create a container , attach it, and and tell Solaris to clean it up ( update it )
- Manually reconfigure things like the NIC
We
started to test this concept in the lab with an approach that resembles
that one of those who open up a new toy and start playing with it
without reading the instructions. That way we learned that the "detach"
option does not exist in update 1 nor 2. If we want to move the
containers, they must be in Update 3 and up
We ran the experiment with a couple of servers
M5000 , Solaris 10, U5 as the source server for the container
T5220 , Solaris 10 U6 as the target server.
In the source system , this is the container we wanted to move.:
root@m5000-dom0 # zonecfg -z jboss infozonename: jbosszonepath: /zones/jbossbrand: nativeautoboot: falsebootargs:pool:limitpriv:scheduling-class:ip-type: sharedinherit-pkg-dir:dir: /libinherit-pkg-dir:dir: /platforminherit-pkg-dir:dir: /sbininherit-pkg-dir:dir: /usrnet:address: 10.10.100.165physical: bge1root@m5000-dom0 #
Step 1. Halt the zone
root@m5000-dom0 #zoneadm -z jboss haltroot@m5000-dom0 #
Step 2. Detach the zone from the source server
root@m5000-dom0 # zoneadm -z jboss detach
This step creates an xml file SUNWdetached.xml with the details of the zone, packages and patches.
Step 3. Tar, Zip or Pax the container.
We followed the model of the how-to-guide paper mentioned before.
root@m5000-dom0 # pax -w@f /tmp/jboss.pax -p e *
Step 4. Move the compress file to the target system and place the contents in the target zonepath of the new zone.
We
used ftp to transfer the pax file (jboss.pax) from the M5000 server to
the /tmp dir in the T5220. (The ftp command not shown).
root@t5220 # mkdir -m 700 -p /zones/jboss root@t5220 # cd /zones/jbossroot@t5220 # lsroot@t5220 # pax -r@f /tmp/jboss.pax -p eroot@t5220 # lsdev root SUNWdetached.xml
Step 5. Create the new container, Attach it and Update it.
root@t5220 # zonecfg -z jbossjboss: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:jboss> create -a /zones/jbosszonecfg:jboss> exitroot@t5220 # zoneadm -z jboss attach -u
In this step, we hit a bug :
"
Document ID: 6743776
Title: zone update on attach should ignore all "special" patches
Synopsis: zone update on attach should ignore all "special" patches
..."special" patches are not released, so customer
can never get them. They only show up on a
customer system as patch metadata. When migrating
a zone, if the source had the special patch, but
the target is at a later release, there is no way
to bring the target up to sync with the source system
since the patch is not available and these patches
are never obsoleted.
..."
The workaround for it is to add the list of patches indicated
in the Document ID to the file /usr/lib/brand/native/bad_patches . I
only had to add the following ones
125097
128011
128010
After that, the command of attach works nicely with the following output
Getting the list of files to removeRemoving 1052 filesRemove 650 of 650 packagesInstalling 2656 filesAdd 642 of 642 packagesInstallation of these packages generated warnings: SUNWsmbarUpdating editable filesThe file </var/sadm/system/logs/update_log> within the zone contains a log of the zoneupdate.root@t5220 # zoneadm -z jboss bootroot@t5220 # zlogin -C jboss[Connected to zone 'jboss' console]Hostname: jboss
Step 6. Adjust Networking
Now,
the original container was hosted in an M5000 using bge1 as the
physical network interface. Since the T5220 has E1000 Nics, the zone
didn't have networking when first booted. To adjust the nic we do the
following: (Note that we decided to change the IP from 10.10.100.165 to 10.10.100.181
root@t5220 # zonecfg -z jbosszonecfg:jboss> select net address=10.10.100.165zonecfg:jboss:net> set physical=e1000g1zonecfg:jboss:net> set address=10.10.100.181zonecfg:jboss:net> endzonecfg:jboss> verifyzonecfg:jboss> commitzonecfg:jboss> exit
and reboot the zone to take the new values in effect
root@t5220 # zoneadm -z jboss reboot
viernes ago 01, 2008
This week we had an urgent request to install (SSC Fort Lauderdale) a configuration for a customer interested in evaluating a java application running on the weblogic server and communicating to an oracle database server. The requested setup was:
- Solaris 10 Sparc 5/08
- Oracle 10g R2
- Weblogic Server 9.2
We had done 1 and 2 in several opportunities so there was nothing to fear there. #3 was a first for me, but I had a partner for this task, Giovanni Gomez, imported from Colombia .
We had no trouble with the database server. Oracle 10G R2 is quite easy to install and easy to launch too.
Weblogic was a different story. We downloaded the 9.2 server from the bea websiste . Giovanni installed it and there were no error messages here. We did not run the quickstart program .We should have ran it then to validate that the app server domains were going to launch (or not).
Later on when the application engineer (from an ISV) came to install the application, we noticed that weblogic was throwing an error:
<Jul 30, 2008 9:59:34 PM EDT> <Critical>
<WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
weblogic.management.ManagementException: [Management:141266]Parsing
Failure in config.xml: javax.xml.namespace.QName; local class
incompatible: stream classdesc serialVersionUID = 4418622981026545151,
local class serialVersionUID = -9120448754896609940
at
weblogic.management.provider.internal.RuntimeAccessImpl.<init>(RuntimeAccessImpl.java:122)
at
weblogic.management.provider.internal.RuntimeAccessService.start(RuntimeAccessService.java:38)
at
weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:374)
at
weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:125)
at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:630)
at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:402)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:67)
Caused by: java.io.InvalidClassException: javax.xml.namespace.QName;
local class incompatible: stream classdesc serialVersionUID =
4418622981026545151, local class serialVersionUID = -9120448754896609940
........
This was nothing fun to find since we had a very limited window for the tests. A couple of googles-searches (actually a lot of them ) and we found a lead on the problem
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=76aa2a510fc5edffffffffe6e9633a900cef5?bug_id=6267224
The root cause of the bug
"This issue is a result of the migration of javax.xml.namespace.QName
from J2EE1.4 to J2SE5.0; "
We tried several alternatives/workarounds :
- Someone mentioned that a similar problem was solved using a JDK version 1.5.0_6 , we had 1.5.0_14. We tried this. Didn't work.
- We tried switching the JVM with JRockit. Didn't work
- We tried adding the following
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
to the JAVA_OPTIONS variable in here /usr/local/bea/weblogic92/samples/domains/wl_server/bin/setDomainEnv.sh . This worked initially for the sample domain wl_server. For some reason I don't know yet, it stopped working after a while.
- At this point, I sent an internal mail to an alias with little hope of getting an answer the same day (the time was 9:00pm-10:00pm EST). In my frustration and hopelessness I forgot a couple of things: That we have a very enthusiastic community of engineers in Sun, willing to jump when someone else hits a snag, AND that these engineers are everywhere in the world. So not 30 minutes had passed, when there was an email from Kyeungchul Kim , from Korea (mid night for me, mid morning for Kim) suggesting similar approach to what we had done already, but in the last line of his notes, there was light at the end of the tunnel:
"This problem is fixed in Weblogic Server 9.2 MP1."
After validating with the application engineer , I started downloading Weblogic Server 9.2 MP2. We are past midnight now and the download time was 25 minutes. My thoughts: Only 25 minutes?, a sweet wait of half and hour to find out if it was as simple as that , and it was.
End of the story: App Servers installed, application was deployed by the app engineer and success criteria was met for the field account team and the customer. Is kind of cool when things go right.
Thanks to Kim for his right on target tip.
jueves jul 03, 2008
Unas 3 semanas atras, tuvimos una carga de trabajo fuera de lo normal en el SSC Fort Lauderdale. Teniamos muchos equipos que configurar y sobre los que trabajar desde el ambiente de clientes delgados Sunray. En una de esas largas noches, mi "desktop" de la oficina tenia como 10-12 terminales abiertos con consolas conectadas a distintos servidores y arreglos de discos, amen de otras ventanas con browsers tambien conectados a sistemas de administracion varios.
Nuestro modelo de clientes delgados Sunray , es realmente ideal para este tipo de ambientes, porque necesito moverme entre dos laboratorios y mi puesto de trabajo. En cada uno de estos sitios hay sunrays disponibles, por lo que puedo llevarme mi Desktop a cualquiera de estos 3 sitios.
El tema aqui era el llevarme ese mismo ambiente a mi casa, para continuar con la preparacion de los servidores , donde obviamente no estaria conectado a la LAN de la oficina. Ahi fue donde recorde que uno de nuestros modelos, el Sunray 2, permite la conexion remota via Internet. Me lleve uno de estos appliances o "libritos" para mi casa y lo conecte a mi switch de internet.(El teclado, Monitor y mouse se lo quite prestado a mi esposa :-) .
La configuracion del cliente delgado es bastante sencilla, incluyendo los parametros de la VPN que tenemos que preparar para entrar a nuestra intranet. No me tomo mas de 5 minutos seguir las instrucciones. Fue una sorpresa muy agradable el insertar mi tarjeta/carnet de la oficina en el sunray 2 y ver mis 15 terminales , browsers , etc en la comodidad de mi casa. El tema del desktop virtual es sencillamente una realidad muy comoda.
Que tan rapido es el desktop?. Yo tengo una conexion de 1Mb, veo todo perfecto, me atreveria a decir que mejor que en la oficina.
Tomando en cuenta el precio de la gasolina en estos dias ($60 llenar un tanque ) la alternativa de quedarse en casa tiene mucho atractivo, sobre todo si me puedo llevar el ambiente de trabajo con tanta tarnquilidad, y seguridad
viernes feb 15, 2008
I had the chance to run an install exercise of Sun Cluster 3.2 with Solaris Volume Manager and QFS as the file system last week. The infrastructure used was
- Sun Fire 6800 , 2 domains
- Brocade 4900, 2 zones
- STK 3510
- Solaris 10 U4
- Sun Cluster 3.2
- Sun QFS 4.6
The details of the process are here


lunes ene 07, 2008
I had a chance to run some I/O characterization for a DB2 database in the SSC FT. Lauderdale in the last month and the results are worth writing about. The task was simple, to contrast the behavior of the IMPORT vs. the LOAD command for a large amount of data (20 Million records in our test table)
The documentation on these 2 commands points to a clear difference both in the method used to load the data and in the throughput and efficiency of the load. They are:
IMPORT uses SQL to insert data from an structured form into a table, it fires triggers if they are present.
LOAD uses low-level access techniques to populate the tables. Triggers are not fired and constraint checking can be deferred
There are several other differences documented in the DB2 site, but in general the recommendation for loading massive amounts of data is to use LOAD instead of IMPORT. Let's see how we got data to backup these statements.
Am using DB2 9.1.3 for Solaris, which comes with an automatic storage option which basically takes care of optimizing. The database was created with the command:
# db2 "CREATE DATABASE TEST AUTOMATIC STORAGE YES ON '/DB' , '/DB1' PAGESIZE 32768"
For the interest of the test we also want to separate the logs from the containers so we issued the command
# db2 “update db cfg for TEST using NEWLOGPATH /LOGS”
and then :
# db2start
# db2stop
Restarting the DB2 Instance so we are sure that the logs will be created in the new path. I noticed that the creation of the log files ( S0000xxx.LOG ) takes place the first time the connect command is issued. There is big spike in the I/O system. The number of logfiles and their size depend on the variables set for the database. I had set them up to
# db2 update db cfg for banco using logfilsiz 65535
# db2 update db cfg for banco using logprimary 50
Which means that each log would be of 256 Mbs (65535 * 4 Kbs), and that there will be 50 files created (S0000001.LOG...S0000050.LOG)
I had 3 filesystems setup for this test. /DB, /DB1 and /LOGS in a STK 6140.The /etc/vfstab looked like this:
.../rdsk/c5t600A0B80002624EA00000CB5476C2A0Bd0s6 /DB ufs 2 yes noatime,forcedirectio
.../rdsk/c5t600A0B8000261D7000000CE4476A2F0Cd0s6 /DB1 ufs 2 yes noatime,forcedirectio
.../rdsk/c5t600A0B8000261D7000000D03476C2A9Ed0s6 /LOGS ufs 2 yes noatime,forcedirectio
When a load command is issued, the behavior of the IO reflects the statement indicated above since the data is loaded directly to the filesystems designed for the containers (/DB, /DB1). No activity is performed in the /LOGS file system. This is very interesting since the “low level commands” indicated in the literature seem to bypass the use of the LOGs file system and go directly to the database, spreading the writes evenly among the containers. The graph below shows the writes in KB/s for the 3 busiest disks on the server. In the graph, the red is the /DB1 and blue is the /DB. Between the 2 file systems the throughput is 60 Mb/s and the total load time is 4 minutes.
The behavior contrasts heavily with that of the IMPORT utility, since the use of SQL commands to insert the data in the database, works updating the LOGs file system first and then the the database, with periodical peaks of write operations to these containers, something that is most likely attributed to the “commitcount” parameter of the IMPORT command executed. In the graph, green is /LOGs , Red is /DB1 and Blue is /DB. The aggregated throughput of the containers is around 2 MB/s with peaks of 7 MB/s and a total load time of 71 minutes.
CPU consumption remain similar in both cases, with very little demand of computing resources. Based on these results (LOAD 4 minutes, 60MB/s vs IMPORT 71 minutes, 2MB/s) we can backup the statement of using LOAD instead of IMPORT for large amounts of data. This is off course an over simplified scenario that can only be used as a baseline for a comparison between the 2 utilities.
sábado dic 01, 2007
Ayer en la tarde, me dieron la llave del acceso al DNS para cambiar el nombre del acceso al Site del SSC. El nombre anterior de la direccion que estamos usando fue diseñado para no llamar la atención, por lo que es hasta difícil de recordar (b2t8q2i8). Pues teniendo la llave, y con el impulso de las compras nerviosas, decidí cambiarle el nombre al hostname para que de ahora en adelante quien quiera conectarse al laboratorio solo tenga que ir a:
https://ssc.la-solutioncenter.com
Mas fácil y, espero, mas nemotécnico para recordar.
Todo bien hasta aqui, el problema es que hasta donde entiendo (y reconozco que es por falta de investigación adicional), La instalación de SGD debe tener el hostname claramente referenciado por los dns que lo resuelven. Lo que quiere decir que mi cambio impulsivo a ssc, genero que no tuviera servicio de acceso remoto en la mañana de hoy. Teníamos dos alternativas:
- Cambiar el nombre del servidor en el DNS a su nombre original , o
- Cambiar la instalación para que reflejara el nuevo nombre (ssc.la-solutioncenter.com).
La primera solución era la más sencilla, pero también la menos entretenida y sin aprendizaje. Optamos por la segunda y dejamos la primera como rollback en caso de que no nos salieran las cosas bien. Tenemos un servidor que estamos preparando para la migración a la versión 4.4, sobre el que ya escribí lo sencillo que es la instalación inicial en el post anterior. El plan era el siguiente:
Sacar respaldo al servidor actual (respaldo del SGD, no del OS)
Desconectar la interfaz que se comunica con internet (via firewall) para evitar conflicto de IP posteriormente
Desinstalar la versión 4.4 del nuevo servidor
Configurarlo como el nuevo servidor ssc asumiendo la misma dirección IP del servidor anterior
Instalar SGD version 4.31 en el nuevo servidor y configurarlo para trabajar via ssl
Recuperar los datos necesarios respaldados en el punto 1
Veamos como nos fue.
Sacar respaldo al servidor actual . De acuerdo a http://docs.sun.com/source/819-6255/installation_backup_recovery.html el respaldo de una instalacion SGD es basicamente respaldar el directorio de instalación que generalmente es /opt/tarantella.El link pide previamente el comando de hacer achives de los logs, asi que hicimos:
/opt/trantella/bin/tarantella archive
tar cvf tarantella.tar /opt/tarantella/* . Son com 440 Mbs de espacioDesconectar la interfaz del servidor SGD actual. El servidor tiene dos interfaces, una para la red interna y otra, la que se conecta a internet. Esta última fue desconectada. La primera nos sirve de acceso para pasarle el archivo tar al nuevo servidor.
Desinstalar la versión 4.4 se hace tambien de manera sencilla a través de SGD
/opt/tarantella/bin/tarantella uninstallConfigurar el nuevo servidor ssc.Esto lo hicimos con un sys-unconfig para dejar limpias la interfaces y empezar nuevamente. Dos interfaces, una para la red interna y otra para
Instalar SGD version 4.31. El software viene en formato pkg y se puede bajar de sun.com. Su instalacion requiere
Creaciòn de los usuarios ttasys y ttaserv.
Ejecutar el pkgadd -d tta-4.31-905.sol-x86.pkg (nuestro servidor es x86)
Luego de la instalacion ejecutar el /opt/tarantella/bin/tarantella start. Este comando al ejectuarse por primera vez configura al servidor. Adicionalmente necesitamos que la conexion sea segura, por lo que activamos ssl.Hay un par de posts muy buenos para hacer esto en el blog de Fat Bloke http://blogs.sun.com/fatbloke/entry/there_can_be_only_one y http://blogs.sun.com/fatbloke/entry/securing_the_connections_between_the . Ambas nos permitieron hacer que el trafico solo vaya por el puerto 443 encriptado. Al terminar cone stos pasos, ya podiamos ver el servidor desde internet. Sin embargo no teniamos ni los usuarios ni los entornos que habiamos configurado para ellos. Eso se hizo en el paso 6
La recuperación de los datos para que el nuevo servidor asumiera la identidad del anterior fue asi
ftp del archivo tarantella.tar desde la máquina original a este nuevo servidor.
Despues de revisar la información que se respalda, nos pareció que lo mas importante a recuperar era el directorio del repositorio local ENS.
tar xvf tarantella.tar -C /opt/tarantella//var/ens. Este directorio tiene toda la informacion de las aplicaciones disponibles, la organización, etc. Luego de correr el tar, bajamos y subimos el SGD (/opt/tarantella/bin/taranella restart) y listo todo.
Bueno no todo. Nuestro mecanismo de autenticación actual es unix (esta pendiente migrarnos a LDAP) por lo que los usuario estaban creados en el otro servidor, no en el actual. Maria Avlila, hizo la cirugia de passwords y home directories y ahora si, estamos live from Ft. Lauderdale bajo el link http://ssc.la-solutioncenter.com
La ventaja es ahora , que tenemos la instalacion anterior para hacerle el upgrade a la versión 4.4 y probar antes de hacer la migración del servidor de producción. Sigue estando pendiente además la autenticación via LDAP. Ya vendrá y pronto.
miércoles nov 28, 2007
Sites de Referencia utilizados:
http://docs.sun.com/app/docs/doc/820-2549
http://www.sun.com/download/products.xml?id=4717e2a2
http://docs.sun.com/source/820-2550/index.html
---
Lo primero es crear las cuentas ttasys y ttaserv. Este paso es indispensable porque el instalador no crea los usuarios y si no los encuentra, la instalación falla. Siguiendo la guia de instalación.:
---
root@x2100-2 # groupadd ttaserv
root@x2100-2 # useradd -g ttaserv -s /bin/sh -d /export/home/ttasys ttasys
root@x2100-2 # useradd -g ttaserv -s /bin/sh -d /export/home/ttaserv ttaserv
root@x2100-2 # passwd -l ttasys
passwd: password information changed for ttasys
root@x2100-2 # passwd -l ttaserv
passwd: password information changed for ttaserv
root@x2100-2 #
---
Aquí hay un detalle particular y es que el comando no crea los directorios home de los usuarios, por lo que habria que crearlos manualmente antes de ejecutar la instalación del SGD.
Luego instalar es simplemente agregar el paquete tta 4.40:
---
pkgadd -d tta-4.40-907.sol-x86.pkg
The following packages are available:
1 tta Sun Secure Global Desktop Software for Intel Solaris 10+
(x86) 4.40.907
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:
Processing package instance <tta> from </tta-4.40-907.sol-x86.pkg>
Sun Secure Global Desktop Software for Intel Solaris 10+(x86) 4.40.907
Sun Microsystems, Inc.
--------------------------------------------------------------------------
Setting up Sun Secure Global Desktop Software
--------------------------------------------------------------------------
Secure Global Desktop Setup recommends you use the following settings:
Installation type = reinstall 4.40.907
Installation directory = /opt/tarantella
Are these settings OK?
Y - Yes, install using these settings
N - No, tell me more about the options and let me change the settings
Q - Quit now
OK to use these settings? [Y]
---
omitiendo el detalle de los archivos instalados
---
## Executing postinstall script.
To complete the installation, please run /opt/tarantella/bin/tarantella start
Installation of <tta> was successful.
---
Listo, ahora, como sugiere la penúltima línea, arrancamos al global desktop
---
root@x2100-2 # /opt/tarantella/bin/tarantella start
--------------------------------------------------------------------------
Secure Global Desktop Software License Agreement
--------------------------------------------------------------------------
To use Secure Global Desktop you must agree to be bound by
the terms of the Software License Agreement.
Y - I have read, and accept the terms of the license agreement
N - I do not accept the terms of the license agreement
R - Let me read the license agreement
Accept terms of Software License Agreement? [R] Y
--------------------------------------------------------------------------
Setting up Sun Secure Global Desktop Software
--------------------------------------------------------------------------
Secure Global Desktop Setup recommends you use the following settings:
Installation type = install 4.40.907
Peer DNS name = x2100-2.LA-SolutionCenter.com
HTTP port = 80 [not currently in use]
Archive logs every week? = yes (Sunday 03:00 hours)
Are these settings OK?
Y - Yes, install using these settings
N - No, tell me more about the options and let me change the settings
Q - Quit now
OK to use these settings? [Y]
--------------------------------------------------------------------------
Configuring your installation...
Running templates Setup script...OK
Running files_rename Setup script...OK
Running dbcreate Setup script...
tarantella.config.tuning.heapsize.initial = 40
tarantella.config.tuning.heapsize.max = 80
tarantella.config.tuning.heapsize.absmax = 2048
Configuring and starting Secure Global Desktop web server...
Running wcp/configchanges Setup script...OK
Running tsp/resources Setup script...OK
Running 3270/resources Setup script...OK
Running 3270/configchanges Setup script...OK
Running 3270/purge Setup script...OK
Running 5250/resources Setup script...OK
Running 5250/configchanges Setup script...OK
--------------------------------------------------------------------------
What's next?
--------------------------------------------------------------------------
Secure Global Desktop is now installed and ready to use.
To get started:
- In a web browser, go to:
http://x2100-2.LA-SolutionCenter.com/
- When prompted, log in with username "Administrator" and root's password.
- On your webtop, click Administration Guide to learn more about the product
(we strongly recommend you read the "Getting started" section).
To add license keys, type:
/opt/tarantella/bin/tarantella license add <key>...
--------------------------------------------------------------------------
Successfully installed Sun Secure Global Desktop Software
--------------------------------------------------------------------------
root@x2100-2 #
Esta es la instalación básica del SGD. en un próximo post haremos:
- Activación de SSL para conexión segura
- Migración de la versión 4.31 a la 4.4
- Incorporación de un Ldap Server para autenticación.El Ldap irá en una zona
- Tener 2 servidores para hacer failover
miércoles nov 07, 2007
Esta semana ha estado interesante laboralmente. Primera visita a Hillsboro, Oregon a este Sun Solution Center http://www.sun.com/solutioncenters/locations/hillsboro/ para una prueba de concepto sobre una M9000 con base de datos DB2.También es la primera vez que toco una M9000 directamente, 28 dual-core cpus, 56 cores, 112 threads...medio TB de memoria, una pelusita dirían en Chamariapa.
La máquina la configuró Mark Dennis, Ingeniero de infraestructura del SSC Hillboro, con una sola partición en modo UNI-XSB.
Lo cierto es que la instalación ha estado bastante movida porque DB2 no queria instalar en la M9000. La versión que instalamos inicialmente era la 9.1.0.0 , proveniente de una instalación anterior en una v490 con Solaris 10 update 3. En esta oportunidad la instalación falló con el siguiente (y fatídico ) mensaje al momento de ejecutar el comando db2start:
11/06/2007 19:19:43 0 0 SQL1042C An unexpected system error occurred.
SQL1032N No start database manager command was issued. SQLSTATE=57019
Como le hicimos troubleshooting?. Existen varios postings via google que apuntan a:
Revisión de la permisología de algunos archivos
Cambio de passwords del usuario db2inst1
Revisión de los puertos en los que corre el servicio de base de datos (/etc/services)
Muchos de los problemas descritos tenían que ver con lo que pasaba después de instalar. En nuestro caso sin embargo el error se presentaba al momento de instalar. DB2START simplemente se estrellaba.
Buscamos y buscamos hasta que alguien nos sugirió que instaramos Fixpak 3a. Eliminamos la instalación 9.1.0.0 y montamos el 9.1.0.3 FIXPAK 3a. Eso resolviò el problema. Tenemos entonces una M9000 con DB2 y 112 threads listas para trabajar.
Los aderezos de este plato principal son:
Solaris 10 Update 4
1 HBA Emulex dual port 4Gb. Ambos puertos activos y conectados a la SAN. Multipathing is enable (stmsboot -e)
1 switch Brocade
1 6140 dos Controladoras , 4Gbs
Nombre del hostname.... LABRADOR....como San Isidro.
miércoles oct 31, 2007
Se puede desplegar practicamente cualquier aplicación de manera remota, incluyendo:
El terminal X (xterm, gnome terminal, dtterm... etc)
Sesiones completas de gnome, en pantalla completa o dentro de un browser
Windows, Linux, Solaris, y otros más.
Acceso remoto via web seguro. Hacer “click” en un link es muy cómodo para los usuarios, le damos un usuario/password a los empleados y clientes que lo necesiten y asi les permitimos entrar de manera rápida a nuestro centro.
Control del contenido. A diferencia de una VPN , aqui podemos definir las aplicaciones a las que queremos dar acceso. Demostraciones como la que recién instalamos de Virtual Tape Library (VTL) podemos asignarlas de manera individual o por grupos
Shadow.. casi tan bueno como la shadow spirit de la honda.. Este feature es uno de los que más me llama la atención. Un administrador del SGD puede pedirle a cualquier usuario que se encuentre en una sesión, que le permita “colaborar” con él manera simultánea. Si acepta, la sesión del usuario remoto se muestra de manera ambas personas. Ambos pueden ver y trabajar al mismo tiempo. Esto es muy valioso si queremos hacer una demostración en vivo de una tecnología en particular, como en el caso de como configurar un M5000, o un 6140, o unos LDOMS.. Se puede hacer todo en “vivo y directo via SGD”.
Un ejemplo práctico del valor que me da esta herramienta en el centro, es el de esta semana. Tenemos una prueba de concepto (POC) para la que viajaron 4 personas desde Colombia hasta acá en la Florida. Sin embargo, por razones particulares el uno de las administradoras de sistemas no pudo viajar. Le dimos acceso a la máquina y se pudo conectar, configurar usuarios, descargar el backup que nos envió en cinta y trabajar conjuntamente con las personas que se encuentran aqui.
Al final del viaje, si queda algo por hacer.... lo pueden hacer de manera remota. Todo unn cuento de hadas..
El SSC FT. Lauderdale abierto aqui..https://b2q8t2i8.la-solutioncenter.com/
jueves oct 11, 2007
Lo cierto es que me pareció interesante hacer la prueba por mi mismo tomando en cuenta que tengo una laptop que pareciera haber sido diseñada para virtualización:
2 Núcleos en el procesador AMD Turion 64 X2 2.20 Ghz
2 GBs de Memoria RAM
2 Discos duros internos 120GB, 7200 Rpms
El sistema operativo de esta laptop es Windows Vista Home Premium. Ya había tratado anteriormente de instalarle Ubuntu o Solaris sin éxito, debido principalmente al tema del los drivers de Video (Nvidia Geoforce Go 150) y Wi-Fi (Broadcom). Los sabores de Vmware que quería probar sin embargo corren directamente sobre Windows Vista (el host OS) por lo que la comunicación con el hardware ya está manejada por Windows, Vmware se recuesta de esto y virtualiza lo que ya Windows maneja.
El primer software que probé fue el Player. Como su nombre lo dice, el player me permite correr cualquier máquina virtual existente, y que están convenientemente ubicadas (o linkeadas) en el site www.vmware.com . Encontré una instalación de Debian y una de OpenSolaris(B35). Bajé la de Debian para probarla y la verdad es que tanto la instalación del player como la de la máquina virtual fueron muy sencillas. Al final de la jornada de recepción de bytes e instaladores todo funcionó como debía funcionar. Ahi estaba pues, una instalación virtualizada de Debian en mi laptop.
Sin embargo, la instalación me refrescó que el player requiere que alguien previamente haya trabajado en la creación de la máquina virtual. Ese alguien en este caso es el Vmware Server. Luego otro download e instalación estábamos listos para trabajar, solo necesitaba un sistema operativo en cd o dvd para crear la máquina virtual. Surgió la ocasión ideal porque me entregaron un dbd de Solaris Nevada build 74 en una “feria de instalación”.
La experiencia de instalación de la máquina es igualmente sencilla y agradable, con resultados que valen la pena anotar y compartir:
El tiempo que se toma la máquina virtual en arrancar es de unos 3 minutos, durante los cuales no se puede hacer nada mas que esperar. Pareciera que el principal recurso que se consume es acceso a disco. Esto sin embargo afecta a todo el ambiente.
El Vmware server permite crear máquinas virtuales de Solaris 9, 10 y Solaris 10 64bits. Opté por la opción de Solaris 10 32 bits porque Vista corre en 32 bits, aun cuando no he investigado que pasaría si lo instalara en 64 bits.
La instalación de Nevada B74 se quejó inicialmente cuando cree un disco virtual de 8GB, por lo que borré el primero y generé otro de 12GBs. Para tratar de evitar peleas en el disco, la nueva imagen la cree en el disco alterno a Vista.
La máquina virtual puede configurarse con 1 o 2 cpus (cores realmente). Le asigné un cpu y 888 Gbs de memoria y funcionó bastante decente en cuanto al rendimiento de aplicaciones como staroffice y firefox, aun cuando siempre se nota un poco que la máquina no ejecuta a la misma velocidad con la que lo hace el sistema operativo original (Vista en este caso). En un segundo intento le asigné 2 cpus, pero en este caso el resultado fue desfavorable con mucha lentitud tanto para Windows como para Nevada.
El otro aspecto interesante a resaltar es que este ejercicio me permitió crear una instalación de Solaris Nevada, a la que le luego le instalé el software Secure Global Desktop. Con esto pude practicar una instalación de software, documentarla y eventualmente transportarla a otro servidor si llegara a necesitar mas capacidad de cómputo y memoria.Es lo que planeo hacer al llegar a la oficina la semana entrante.
Claro que WMware es solo una de las alternativas de virtualización a probar en la laptop. Si estuviera partiendo de Solaris como sistema operativo en lugar de Windows Vista, los containers me hubieran dado un ambiente virtualizado mucho mas sencillo , migrable y con un rendimiento sin penalidades.
Por otro lado, estoy esperando un poco para probar la versión de xVMen Nevada para comparar experiencias en usabilidad y funcionalidad.
jueves sep 06, 2007
Desde hace una semana, estoy trabajando ahora en el Sun Solution Center (SSC) de FT. Lauderdale, una idea que no me es ajena porque alli fue donde empece con Sun Microsystems. En aquel entonces se llamaba iForce Ready Centers, con una intencion y responsabilidad similar a la que hoy en dia tiene el SSC. Que vamos a hacer aqui? :
- Pruebas de Concepto (POCs). Estas pruebas estan fundamentadas en una infraestrura, un datacenter con todas las prestancias de un ambiente de produccion (switches de red, fibra, servidores , almacenamiento, monitoreo,etc) con tecnologia de punta y con acceso a los tecnicos de Sun que disenaron los productos.
- Demos. Soluciones preconfiguradas que nos sirven para contar como se resuelve un problema . Involucran hardware, software , storage, etc.
- Workshops. Los que estamos aqui venimos de trabajar directamente con clientes asi que tenemos la vivencia de hacer arquitecturas que reflejan las soluciones a los requerimientos de los clientes. Los workshops nos ayudan a tener claridad sobre lo que el cliente desea y sobre lo que les podemos ofrecer.
Esto es para Latinomarica, asi que va a ser interesante y emocionante trabajar recreando situaciones y resolviendo problemas con nuestra maqueta de datacenter.
lunes ago 06, 2007
El hecho es curioso, pero además propicio para la reflexión. Que otros eventos podrían, o de hecho se apalancan en servicios audiovisuales como estos para crear situaciones, entrenamientos, eventos, etc.? Evaluaciones: Gimnasia, Artes Marciales, Canciones; Entretenimiento: Novelas (lonlegirl15 es creo una de ellas con entregas periódicas), Cortos, Noticias; en fin opciones que permiten por un lado acortar distancias , reducir costos, ampliar el panorama de exposición de conceptos nuevos o existentes. Parece bueno esto...
Por otro lado y paradójicamente, este medio de transporte propicia la asincronía, reduce la necesidad de que los participantes se encuentren fisicamente para comunicarse e intercambiar. Parece no tan bueno esto. Habrá que encontrar un balance entre ambas consecuencias.
Powered by ScribeFire.
viernes jul 13, 2007
Desde hace un mes aproximadamente estoy incursionando en el mundo del Karate-do Shotokan, con el Sensei Darwin Rojas y la Sempai Adriana Angulo en el dojo Showa-Kan. Una experiencia no solo interesante sino adictiva además por cuanto toca no solo la dimesión del consumo calórico y el ejercicio físico, sino además porque tiene historia, contenido, motivaciones, y difusión mundial con diferentes aristas de acuerdo a los distintos escenarios en los que se practique.
El arte marcial como tal fascina por la disciplina de la ejecución. Hay un protocolo que gobierna el comportamiento del practicante desde el momento que pisa el dojo, hasta el momento que sale de él. Existe una estructura jerárquica de rangos evolutivos de los practicantes que han decantado el arte, el contenido y las actitudes a través de la ejecución constante de los movimientos. Con lo poco que he podido absorber de este mundo, El Karate fascina, educa, ejercita la mente y el cuerpo, permite concentrar y liberar energías.
Aun cuando "los contenidos" que debemos aprender son probablemente estándares, creo que el método de enseñanza obedece mucho a la interpretación del sensei en como hacerlos llegar y permear a cada participante. El Sensei y la Sempai complementan muy bien un método en el que se aprende de manera "natural" usando los sentidos, tal como lo hacen los niños; copiando lo que se ve, escuchando y asociando sonidos con movimientos, errando y entendiendo lo que está fuera del protocolo y no es permitido, en fin abriéndole espacio al arte marcial para que entre y se decante. Esto se complementa a su vez con momentos conductistas, en los que la técnica y del movimiento es explicada para ofrecer un segundo ángulo de percepción. Es divertido ...
La vestimenta es algo bien particular. El uso del "traje" o Karategui con el cinturón resume y representa la formalidad y el rango de lo aprendido, pero a mi me parece además que el Karategui entiende quien sabe llevarlo como Kartakeka y quien está aún entendiendo de que se trata el tema. Esto lo pude constatar personalmente luego de estrenar mi Karategui y encontrar mi imagen en el espejo del dojo frente a la de los compañeros, La Sempai y El Sensei. Lo primero que me vino a la mente fue que todos ellos se veían como karatekas, mientras que yo me veía mas bien como un chef. Espero tener la oportunidad de hacer que mi Karategui me acepte la transición de la cocina al dojo en el transcurso del tiempo.
Sensei Darwin Rojas, El Chef y la Sempai Adriana Angulo en el dojo ShowaKan
miércoles may 09, 2007
Empezaron los anuncios en la conferencia JavaONE, un par de ellos me llamaron la atención: OpenJDK (por supuesto, porque es un tema que me ha tocado de cerca y porque tiene significancia a nivel nacional (Venezuela). El segundo que me interesó fue el de JavaFX.... Veamos un poquito de ambos.
OpenJDK es la continuación de la apertura de Java como código abierto. Ya había escrito antes sobre tema, pues ahora tenemos el JDK libre, que tal?. No es sorpresa porque ya estaba anunciado, pero es bueno recalcar los hitos a medida que se van cumpliendo. (Cabe dicer un ¨Se los dijimos¨ .Simon Phipps, quien estuvo aquí con nosotros visitando al MCT hace un año y tanto atrás está cumpliendo con el charter que le fue asignado, liberar el código de Sun de manera responsable. Además, no solo lo estamos liberando, estamos pidiendo la ayuda de la comunidad para desarrollar los elementos que aún existen de manera propiestaria (algunas rutinas y librerías 2D) de manera conjunta y organizada, gobernada pues. La liberación no pmultiarará, ya volveremos a decir ¨se lo dijimos¨
JavaFX lo vi hoy por primera vez. Sin conocer más detalles del tema (no desarrollo código desde hace un buen tiempo), me parece una super idea el tener un ¨scripting language¨ java,. Me atrevo a decir que es como un php javatizado...Me gusta la mezcla siguiente:
- Solaris Developer express (SDXE)
- Netbeans
- Visual Web pack
- JavaFX
Los dos pimeros vienen integrados en el SDXE. Lo interesante es que los dos ultimos se pueden bajar al mejor estilo de plugins (update center del netbeans) .. Yo lo hice en mi laptop, y se ve interasante por demás.
Me preguntaron, y por qué usaríamos JavaFX si ya tenemos php..? Válida la pregunta. En principio, hay varias respuestas.. una de ellas es porque hay mucha gente que simplemente le gusta java y usa php para llegarle a la plataforma java. Hay sin embargo los que van usan directamenet php-bd-apache. La ventaja de JavaFX aquí?.. es la plataforma..es decir, java es multitier , es escalable, es empresarial. Montar el código que generas en java en varios application servers con balanceo de carga en servidores fisicamente separados para que el programa soporte la carga de horas pico de lo que sea que haga el programa; no tiene precio.
domingo may 06, 2007
Esta semana arranca el JavaOne 2007 , un mega evento dirijido a desarrolladores a nivel mundial. Vale la pena estar atentos porque siempre aparece Jonathan haciendo anuncios importantes sobre el código, el esquema de licenciamiento (o mejor dicho el camino al código abierto de los distintos elementos de la plataforma Java), y otros. Hay algo particularmente interesante para mí en este evento. Ian Murdock tiene una importante participación. Ian, como muchos saben es el fundador de Debian. Lo que tal vez no saben tantos, es que Ian trabaja desde hace poco con Sun Microsystems. Contar con su punto de vista, su conversación, sus ideas, y en general el sólo hecho de tenerlo como empleado de la compañía; dice mucho de la seriedad con la que Sun asume el reto de hacer que nuestro sistema operativo sea no solo el mejor del mundo en cuanto a robustez, escalabilidad, rendimiento, madurez; sino además el más atractivo para los desarrolladores. Lo digo porque una de las principales misiones de Ian es la de mejorar la "usabilidad" de Solaris para que los desarrolladores no tengan que ser además administradores de sistemas si quieren programar, crear aplicaciones, o simplemente utilizar Solaris (u OpenSolaris) como primera alternativa en sus estaciones de trabajo, pcs, laptops o cualquiera que sea su minicomponente de cómputo.
Puedo por demás constatar con experiencia propia que la evolución hacia una mejor usabilidad ya está en proceso. He instalado (y usado) en los últimos 6 meses 3 sabores derivados de Solaris:
- Solaris 10 11/06
- Solaris Express Developer Edition (primer release, i.e. Build 55 de Nevada)
- Build 60 de Nevada
Los cambios y mejoras son notables desde el punto de vista de la facilidad de uso y la "experiencia del usuario". El build 60 viene remozado con una versión de Xorg mas reciente. Es Importante esto?, bueno, si fuera un desarrollador y me compré una laptop para programar en java php por ejemplo, contra un base de datos mysql o postgres a lo mejor si me importaría...
Por Qué ? (si ninguna de estas herramientas tiene directamente que ver con el "display" de una laptop). Ah, porque a lo mejor me gustaría tener abierto al mismo tiempo el IDE netbeans mientras estoy programando, el mysqladmin tools, y firefox con el resultado de lo que voy haciendo. Eso se puede hacer mucho mejor si la resolución del la pantalla se ve a todo su esplendor (aqui es donde Xorg entra).
Me ha gustado tanto lo que ví en este build 60, que en la búsqueda del sistema operativo para mi laptop (pasé de Windows por "default" a Ubuntu 6.06, a Solaris 10, a Ubuntu 6.10, a Nevada B55 , y finalmente a Nevada B60) creo que encontré la ruta. Y es que yo trabajo en una laptop todo el día, entre correos, propuestas, presentaciones, reuniones con clientes, etc. Es decir necesito un ambiente que me permita ser productivo, interactivo, demostrativo, educativo y eventualmente divertido. Hasta ahora, los "detalles" de usabilidad que veía en Solaris 10 (como por ejemplo la dificultad para redireccionar el video a un projector) me incomodaban y me obligaban a tener la laptop "particionada" entre Windows (para proyectar y por si acaso) y el Solaris/Ubuntu/Nevada del momento. Sin embargo tengo alrededor de un mes con este build 60 de Nevada instalado y ya decidí eliminar Windows de la otra partición, ya no me hace falta. Las razones son sencillas.
En productividad
- Firefox, Thunderbird, Evolution, Staroffice 8 , todo incluido ( sin aditivios químicos y sin colesterol, como decían en aquella propaganda..)
- ZFS que es la octava maravilla, es impresionantemente facil de aprender, y es extremadamente poderoso
- SAMP...bueno, este paquete me lo tuve que bajar porque aun no lo veo integrado, pero una vez instalado está prefabricado para correr mysql, php, apache.. sin tener que tocar archivos de configuración. Además esta optimizado para Solaris.
En usabilidad:
- El video funciona (1200x800), puedo conectarme a una pantalla/proyector externo
- La red necesitó de algo de trabajo inicial porque mi driver (yukon) estaba desactualizado. Wifi no está aún pero ya me dijeron que sale en el build 64 .
- La interfaz de usuario es gnome en su mejor expresión.
- Los servicios (SMF) los puedo escoger, apagar, prender todos desde una consola, así no más
- El mejor piropo a este build se lo dió Marietta, una compañera de trabajo, este pasado viernes en la oficina. Ella pasó por mi puesto a conversar sobre un tema en particular y al ver la laptop comentó lo "bonita" que se veía la pantalla. Marietta es usuaria de Windows en exclusividad, por lo que ver recibir el adjetivo "bonita" para el escritorio de Nevada me anima y complace además. Mucho hemos avanzado desde la época del frío e incólume CDE
Algo de esto se conversará esta semana en el JavaOne. No tengo el chance de asistir por compromisos locales, pero estaré pendiente de los blogs y de sun.com para escuchar los cuentos, seguramente serán agradables y esclarecedores.
This blog copyright 2009 by enelcentro
