[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)

534 views
461 views

Published on

[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
534
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)

  1. 1.
  2. 2. Innovación y Liderazgo<br />Jorge Rodríguez<br />(jorgero@microsoft.com)<br />Pablo García (pcgarcia@microsoft.com)<br />
  3. 3. Entendiendo al CIO …<br />‘Top 10 Business and TechnologyPriorities’<br />‘Top 10 Strategic Technologies’<br />La evolución de la tecnología hoy<br />Las plataformas de aplicaicones<br />Plataforma .net 2010<br />Agenda<br />
  4. 4. Costos de Infraestructura<br />Complejidad<br />Costos de Administración<br />$$<br />2003<br />2008+<br />1997<br />2000<br />2006<br />1994<br />Client Server<br />Solution Silos<br />Service Orientation<br />Dynamic Systems<br />N - Tier<br />Queestuvosucediendo ??<br />
  5. 5. Que se le pide al CIO …?<br />TI Hoy<br />TI Deseado<br />Incrementar valor<br />30%<br />Nueva Capacidad<br />45%<br />Nueva Capacidad<br />Disminuirmantenimientos y día a día<br />70%<br />Mantenimiento de capacidad existente<br />55%<br />Capacidad <br />existente<br />Accenture:Keeping the lights on is not enough, <br />new capability is required<br />Etc. <br />Etc. <br />Simplificar la Infraestructura & Administración<br />Mejorar la Seguridad !!!<br />Utilización optima de los recursos disponibles<br />ROI de Proyectos …, con repago en &lt; 12meses, OBVIO …!!<br />Etc. <br />Etc. <br />Ser Proactivo !!<br />Respuestas rápidas a las necesidades de negocio cambiantes<br />Buscar y Retener el mejor talento …<br />Etc. <br />Etc. <br />Entender el Negocio !!!!!!<br />ReducirCostos o HacerCrecer el Negocio ??  LOS DOS POR SUPUESTO !!!!!!<br />Predictibilidad en los desarrollos (tiempos, escalabilidad, modelos prescriptivos …, etc.)<br />Etc. <br />
  6. 6. Y … cambios en el rol del CIO<br />Center for Information Systems Research<br />© MIT Sloan CISR <br />‘TheFuture of the CIO’ (MIT)<br />HowCIO’sSpendTheir Time:<br />Managing IT Services (44%) <br />Workingwith non-IT Colleagues (36%)<br />WorkingwithCustomers (10%)<br />Managing Enterprise Processes (10%) <br />HowShouldtheySpendTheir Time …?<br />
  7. 7. Percepción de los CIOs de cómo los va a tratar el CEO y el Directorio …<br />
  8. 8. Percepción de los CIOs de cómo los va a tratar el CEO y el Directorio …<br />How Some CIOs Perceive Board Meetings<br />
  9. 9. Top 10 Biz&TechPrtys (Gartner)<br />Cloud Computing …<br />QUE ESTA FALTANDO EN LAS PRIORIDADES DE LOS CIO’s ???<br />(queesta ‘implicito’ en las de los CEO’s …)<br />Green IT …<br />Social Computing …<br />
  10. 10. Top 10 Strategic Technologies …<br />Cloud Computing.<br />IT for Green. <br />Advanced Analytics.<br />Client Computing.<br />Reshaping the Data Center.<br />Social Computing.<br />Security – Activity Monitoring<br />Flash Memory.<br />Virtualization for Availability.<br />Mobile Applications.<br />
  11. 11. Tendencia 1: SOA y Web 2.0<br />
  12. 12. Tendencia 2: ManyCore Shift<br />Sun’s Surface<br />10,000<br />1,000<br />100<br />10<br />1<br />Rocket Nozzle<br />Nuclear Reactor<br />Power Density (W/cm2)<br />8086<br />Hot Plate<br />4004<br />8085<br />Pentium® processors<br />8008<br />386<br />286<br />486<br />8080<br />‘70 ‘80 ‘90 ‘00 ‘10<br />Today’s Architecture: Heat becoming an unmanageable problem!<br />To Grow, To Keep Up,<br />We Must Embrace Parallel Computing<br />32,768<br />2,048<br />128<br />16<br />Many-core Peak Parallel GOPs<br />Parallelism Opportunity<br />80X<br />GOPS<br />Single Threaded Perf 10% per year<br />2004 2006 2008 2010 2012 2015<br />Intel Developer Forum, Spring 2004 - Pat Gelsinger<br />“… we see a very significant shift in what architectures will look like in the future ...fundamentally the way we&apos;ve begun to look at doing that is to move from instruction level concurrency to … multiple cores per die. But we&apos;re going to continue to go beyond there. And that just won&apos;t be in our server lines in the future; this will permeate every architecture that we build. All will have massivelymulticore implementations.”<br />Intel Developer Forum, Spring 2004<br />Pat Gelsinger<br />Chief Technology Officer, Senior Vice President<br />Intel Corporation<br />February, 19, 2004<br />
  13. 13. Tendencia 3: Virtualización<br />IDC Growth Projections (2005-2010)<br />38% CAGR in Virtual Machines<br />1.7M Physical server used for Virtualization <br />7.9M Logical servers using virtualization<br />
  14. 14. Tendencia 4: personal “computing” & social networking<br />Community<br />Commerce<br />Content<br />Community<br />
  15. 15. Tendencia 5: Cloud Computing<br />
  16. 16. Tendencia 6: Lenguajes Dinámicos<br />Control<br />Java, C#<br />Tipos Estáticos<br />Servicios Web<br />Flexibilidad<br />JScript, Ruby, Python<br />Tipos Dinámicos<br />REST<br />VS<br />El control  fijar las estructuras de datos<br />Resistencia al cambio<br />Recompilar para cambiar<br />¿Son los lenguajes dinámicos poco maduros?<br />¿Ofrecen mayor flexibilidad y productividad?<br />
  17. 17. Lenguajes + Frameworks<br />Los lenguajes dinámicos son interesantes<br />“Lenguajes + Frameworks“  impresionan<br />Ruby sin su frameworkRails no sería lo mismo<br />Objetivo: Productividad del desarrollo<br />Rompen con muchas convenciones en el desarrollo<br />
  18. 18. Tendencia 7: 4to paradigma<br />4to paradigma <br />Abundancia de datos<br />Teorema CAP<br />El límite de las bases de datos relacionales<br />
  19. 19. Primeraempresa en la industriaqueimplementaunainnovación<br />Segundaempresa en la industriaqueimplementaunainnovación<br />Terceraempresa en la industriaqueimplementaunainnovación<br />Beneficiosrelativos de unainnovaciónDesde la ventajacompetitiva al costo de hacernegocios<br />Ventajascompetitivaspara la empresa<br />Tiempo<br />
  20. 20. Categorización de los gastos de TIEstratégicoversus utilitario<br />Ventana de diferenciación<br />Ventajacompetitiva de la empresa<br />Strategic IT<br />Utility IT<br />
  21. 21. Haciendo la conexiónDe negocios estratégicos a plataforma de aplicaciones<br />Estrategia de negociossignificadiferenciarse de la competencia<br />Diferenciarse de la competencia se basa en inversiones en “Strategic IT” parasoportar la diferenciación<br />La mayoría de lasinversiones en “Strategic IT” son aplicaciones a medida.<br />Las aplicaciones a medidadependen de unaplataforma de aplicaciones.<br />La plataforma de aplicacionesdebesoportar la innovación y ser capaz de acompañarla en “Utility IT”<br />
  22. 22. Seleccionando una plataforma de aplicaciones<br />Una plataforma de aplicaciones tiene que desempeñarse adecuadamente en las dos fases, tanto en la estratégica como en la utilitaria.<br />La fase estratégica requiere:<br />Tecnologías actuales<br />Soporte para desarrollo rápido<br />Con los desarrolladores actuales<br />La fase utilitaria requiere:<br />Soporte en el largo término<br />Bajo costo<br />
  23. 23. MagicQuadrantforUnifiedCommunications<br />
  24. 24. Magic Quadrant for Business Intelligence Platforms<br />
  25. 25. Enterprise Application & SOA<br />Gartner AppInfrastructure for New<br />SOA Application Project<br />Gartner Back End App Integration (Dec 2008)<br />Gartner AppInfrastructure <br />
  26. 26. Plataforma .net<br />2010<br />
  27. 27.
  28. 28. .net como plataforma<br />Secondlife:<br />In some of the internal benchmarking we’ve done, scripts running on Mono ran up to 220 times faster.<br />Forrester Research: (TSSJS 2008 Keynote: Why the Next Five Years Will Be About Languages)<br />The language Renaissance has already begun:<br />AspectJ, Scala, Pizza, E, Groovy, SWI-Prolog, SISC,<br />BeanShell, Rhino, …<br />LINQ, F#, Nemerle, Boo, Spec#, S#, L#, IronPython, Axum…<br />Haskell, Erlang, Ruby, ActionScript, E4X, …<br />… and let&apos;s not forget Smalltalk and its cousins<br />… or, for that matter, Lisp and its family<br />It&apos;s a programming language feast!<br />.net languages:<br />C#, C++/CLI, F#, J#, Windows PowerShell, JScript.NET, IronPython, IronRuby, Managed Extensions for C++, Managed Jscript, Spec#, VBx, VB.NET, A#, Boo, Cobra, Chrome, Component Pascal, IronLisp, L#, Lexico, Mondrian, Nemerle, P#, Phalanger, Phrogram, PowerBuilder, #Smalltalk, AVR.NET, Active Oberon, APLNext, Common Larceny, Delphi.NET, Delta Forth .NET, DotLisp, EiffelEnvision, Fortran .NET, Gardens Point Modula-2/CLR, Haskell for .NET, Haskell.net, Hugs for .NET, IronScheme, LOLCode.NET, Mercury on .NET, Net Express, NetCOBOL, OxygenScheme, S#, IoNET, PL/IL, sml.net, Wildcat Cobol, X#, <br />
  29. 29. AppFabricWindows Server and Windows Azure platform<br />AppFabric<br />CACHING<br />MONITORING<br />WORKFLOW HOSTING<br />SERVICE BUS<br />ACCESS CONTROL<br />SERVICE HOSTING<br />SCALE OUT<br />HIGH AVAILABILITY <br />MULTI-TENANT <br />MANAGEMENT<br />
  30. 30. Paralelismo<br />IEnumerable&lt;BabyInfo&gt; babies = ...;<br />var results = new List&lt;BabyInfo&gt;();<br />foreach (var baby in babies)<br />{<br /> if (baby.Name == queryName &&<br />baby.State == queryState &&<br />baby.Year &gt;= yearStart &&<br />baby.Year &lt;= yearEnd)<br /> {<br />results.Add(baby);<br /> }<br />}<br />results.Sort((b1, b2) =&gt; b1.Year.CompareTo(b2.Year)); <br />
  31. 31. Solución manual en paralelo<br />Synchronization Knowledge<br />IEnumerable&lt;BabyInfo&gt; babies = …;<br />var results = new List&lt;BabyInfo&gt;();<br />intpartitionsCount = Environment.ProcessorCount;<br />intremainingCount = partitionsCount;<br />var enumerator = babies.GetEnumerator();<br />try {<br /> using (ManualResetEvent done = new ManualResetEvent(false)) {<br /> for (inti = 0; i &lt; partitionsCount; i++) {<br />ThreadPool.QueueUserWorkItem(delegate {<br />varpartialResults = new List&lt;BabyInfo&gt;();<br /> while(true) {<br />BabyInfo baby;<br /> lock (enumerator) {<br /> if (!enumerator.MoveNext()) break;<br /> baby = enumerator.Current;<br /> }<br /> if (baby.Name == queryName && baby.State == queryState &&<br />baby.Year &gt;= yearStart && baby.Year &lt;= yearEnd) {<br />partialResults.Add(baby);<br /> }<br /> }<br /> lock (results) results.AddRange(partialResults);<br /> if (Interlocked.Decrement(ref remainingCount) == 0) done.Set();<br /> });<br /> }<br />done.WaitOne();<br />results.Sort((b1, b2) =&gt; b1.Year.CompareTo(b2.Year));<br /> }<br />}<br />finally { if (enumerator is IDisposable) ((IDisposable)enumerator).Dispose(); }<br />Inefficient locking<br />Lack of foreach simplicity<br />Manual aggregation<br />Tricks<br />Lack of thread reuse<br />Heavy synchronization<br />Non-parallel sort<br />
  32. 32. Usando Linq<br />.AsParallel()<br />var results = from baby in babies<br /> where baby.Name == queryName &&<br />baby.State == queryState &&<br />baby.Year &gt;= yearStart && <br />baby.Year &lt;= yearEnd<br />orderbybaby.Year ascending<br /> select baby;<br />
  33. 33. Hyper-V 2.0 Features<br />Soporte de procesadores<br />64 procesadoreslógicos en el host<br />Hot Add/Remove Storage<br />Permiteagregar discos VHD sin necesidad de reiniciar la VM<br />Second Level Translation (SLAT)<br />Reduce la carga del hipervisorusandocaracterísiticas de los procesadoresmodernos<br />VM Chimney (TCP Offload Support)<br />Tráfico TCP/IP puedeserasignadodirectamente a unatarjetade red con accesodirecto a la VM.<br />Processor Compatibility Mode<br />Permitemigración en vivo entre diferentes CPUs(manteniendo la familiatecnológica).<br />
  34. 34. Live Migration<br />Virtual Machine <br />Virtual Machine <br />Configuration Data<br />Memory Content<br />Memory Sync<br />Cluster<br />Node 1<br />Cluster<br />Node 2<br />User<br />VHD<br />Network Storage <br />
  35. 35. Green IT - Core Parking<br />Generalidades<br />Consolidandoprocesos en un servidorúnicocuandolascondiciones de carga lo permiten.<br />Habilita a colocarprocesadores en estado “C”<br />Beneficios<br />Reduce el consumo de potencia de la CPU<br />
  36. 36. Windows Live messenger<br />
  37. 37. Democratizando el desarrollo de videojuegos<br />
  38. 38. Cloud Computing<br />Azure™ Services Platform<br />Microsoft Dynamics CRM Services<br />Microsoft SharePoint Services<br />
  39. 39. 6 datacenters<br />18 connection points<br />Storage availability: 99.9%/Month<br />VM availability: 99.95<br />El costoya no es un impedimento<br />Costos:<br />- VMs: (0.12 a 0.98)<br /> - Bandwidth: In 0.10 / out 0.15 (GB)<br /> - Storage: 0.15 GB/Month<br /> - Services: 0.15/100k messages<br /> - BDD Rel: 1GB/Month = 9.99, 10GB/m=99.99<br />
  40. 40. Dynamic Language Runtime<br />Nuevoslenguajes: IronPython, IronRuby, F#<br /><ul><li>Tuples
  41. 41. BigInteger
  42. 42. Tail recursion</li></ul>Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />Dynamic Language Runtime<br />C#<br />Common Language Runtime<br />
  43. 43. Standard Pystone Benchmarkhigher numbers are better<br />90K<br />80K<br />50K<br />46K<br />36K<br />IronPython<br />0.1<br />Python<br />2.3<br />Python<br />2.1<br />IronPython<br />1.0<br />Python<br />2.5<br />
  44. 44. Interoperando con lenguajesdinámicos<br /> Calculator calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />La interoperabilidad con lenguajesdinámicosescomplicada.<br />
  45. 45. BI de tiempo real: StreamInsight<br />Procesamiento de eventos complejos<br />En tiempo real<br />Minería dedatos<br />Consultas SQL<br />
  46. 46. «Madison» – DW distribuida<br />
  47. 47. R2 en producción<br />Aplicaciones<br />…<br />ServiceBus<br />Workflow<br />Database<br />Analytics<br />Identity<br />Contacts<br />AccessControl<br />…<br />Reporting<br />…<br />Devices<br />…<br />Compute<br />Storage<br />Manage<br />…<br />

×