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