SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
Windows Azure – Plug and Play
Interoperability and The Freedom of Choice

                                           Mihai Nadăș
                           Yonder / www.tss-yonder.com
                   mihai@nadas.ro / www.mihainadas.com




   Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
IT Camp 2011
• Thanks for coming!
• ITCamp is made possible by our sponsors:




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Session agenda
1. The state of the cloud and why should you
   care
2. Windows Azure - a short refreshment
  – DEMO / PhooStock (Photo Sharing in Azure)
3. Interoperability? As-in JAVA and stuff?
  – DEMO / Tomcat on Windows Azure
4. What about PHP? MySQL?
  – DEMO / PHP and MySQL on Windows Azure
5. Q&A

      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
The state of the Cloud

AND WHY SHOULD YOU CARE


       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
The cloud evolves
• It becomes more crisp
  Cloud computing is a model for enabling convenient, on-demand network access to a
  shared pool of configurable computing resources (e.g., networks, servers, storage,
  applications, and services) that can be rapidly provisioned and released with minimal
  management effort or service provider interaction. (Peter Mell and Tim Grance, NIST)



• It grows as they told us it will
   – ~$37.8B in 2010, expected $121.B by 2015 (26% CAGR) (MarketsAndMarkets
      Report)
   – By 2014, ~65% of new products will be SaaS services (IDC Report)
   – SaaS-derived revenue will account for 26% of net new growth in 2014 (IDC
      Report)



• New players confirm it by joining in
   – Oracle and HP just to name a few
                  ,


           Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Why should you care?
• You will have to taste it, sooner or later

• Your job will require it

• Your startup will need it




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
First, a short poll
   Which of the following technologies you’re most
                  experienced with?




Windows Azure              Microsoft .NET            JAVA, PHP, MySQL,
                            (non-cloud)                  LOLCODE


  Premium conference on Microsoft’s Dev and ITPro technologies    @itcampro / #itcampro
Processing results, please wait...




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
And... the results!
       Which of the following technologies you’re most
                      experienced with?


60%
50%
40%
30%
20%
10%
0%
       Windows Azure               Microsoft .NET          JAVA, PHP, MySQL
                                    (non-cloud)


      Premium conference on Microsoft’s Dev and ITPro technologies    @itcampro / #itcampro
Windows Azure

OPENENESS TOOLKIT


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Refresher

•   Scalable computation in the cloud
•   Durable cloud storage
•   Write code, test, debug locally
•   Automated management in the cloud
•   Utility business model




        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
What’s it good for?
Web Applications                                   Media Applications
    massive scale infrastructure                         CGI rendering
    burst & overflow capacity                            content transcoding
    temporary, ad-hoc sites                              media streaming
Service Applications                               Information Sharing
    composite applications                               reference data
    mobile/client connected                              common data repositories
     services                                             knowledge discovery &
    Web API’s                                             management
Hybrid Applications                                Collaborative Processes
      component services                                   multi-enterprise integration
      distributed processing                               B2B & e-commerce
      distributed data                                     supply chain management
      external storage                                     health & life sciences
                                                            domain-specific services
          Premium conference on Microsoft’s Dev and ITPro technologies    @itcampro / #itcampro
Compute – instance types: Web Role &        Storage – distributed storage systems that
                               Worker Role. Windows Azure applications     are highly consistent, reliable, and scalable.
                               are built with web role instances, worker
                               role instances, or a combination of both.




HTTP/HTTPS




                                  Each instance runs on its
                                  own VM (virtual machine)
                                  and local transient storage;
                                  replicated as needed                           Guest VM
                                                                                 Guest VM
                                                                                 Guest VM
                                                                                 Host VM
                                                                                 Maintenance OS,
                                                                                 Hardware-optimized hypervisor



     The Fabric Controller communicates with every server
     within the Fabric. It manages Windows Azure, monitors
     every application, decides where new applications
     should run – optimizing hardware utilization.


                   Premium conference on Microsoft’s Dev and ITPro technologies               @itcampro / #itcampro
PhotoStock – Photo Sharing on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
What we’ve seen so far?
• Two roles – web and worker role

• They’re actually full fledged Windows
  Server machines

• We can open up ports to the world

• We’re free to program it as we like (Full
  Trust)
      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
How this may be interesting to
              you?
• Not managing and interacting with server OS
   – less work for you
   – don’t have to care it is “Windows Server”
   – but have to live with some limits and constraints

• Some level of control
   –   process isolation (runs inside your own VM/guest OS)
   –   service and data geo-location
   –   allocated capacity, scale on-demand
   –   full spectrum of application architectures and programming models

• You can run Java!
   – plus PHP Python, Ruby, MySQL, memcached, etc.
             ,
   – and eventually anything that runs on Windows



           Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Introducing

WINDOWS AZURE + JAVA


       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Mental Model

• Windows
• Non-admin user
• USB drive with “runme.bat”

• Can your app run that way?




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Deployment Options
• Worker Role
  – fabric sandbox native
    deployment
  – automated, need additional
    code
  – available now



• VM Role
  – host your own pre-configured
    VM image
  – automated, full control
  – In beta


        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Worker Role Programming Model

• Basically DLL with main()
• In .NET
  – OnStart() – initialization
  – Run() – main
  – OnStop() – graceful shutdown


• Expected to run forever




       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
How It Works

• Platform features:
  –   Native code execution (run the JVM)
  –   Local storage (Tomcat logs, etc.)
  –   Worker roles with endpoints (listen on port 80)
  –   Initialization (copy and launch Tomcat)
• Java-specific artifacts:
  – Java storage client library
  – Apache Tomcat solution accelerator
  – (Eclipse tooling)



        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Creating a Java Worker Role
1. Include JRE in worker role
2. Launch java.exe with our class




       Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
A Better Java Worker

•   Reading configuration settings
•   Discovering endpoints
•   Handling changes
•   Monitoring
•   Diagnostics




        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Running Tomcat in Windows Azure

• Use the solution accelerator; it’s easier
• Built by Infosys

• To do it yourself:
  –   Copy Tomcat to local storage
  –   Configure correct listening port
  –   Start Tomcat service
  –   Monitor and report health



         Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Running Tomcat on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
What we’ve seen so far?
• Tomcat Solution Accelerator
  – http://archive.msdn.microsoft.com/winazuretomcat


• Windows Azure can run anything that
  could basically run on a Windows
  machine (just add care)




      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Anatomy of a Java Worker Role




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Architectural Perspective
                                                                                                                                           Service Instance
                                                                                                     listen port(x)



                                                                                            JVM                       Catalina           server.xml
                                                                          index.jsp
                                                                                                   Tomcat
                                                                                                                                            Sub-Process

                                                                                                         new Process()

                                                                                                   RoleEntry                     bind port(x)
                                                                                                     Point              get                 Worker Role
                                                                                                                        runtime
                                                                                                                        info               Service Instance


                                                                                          SQL
                http://instance:y



                                         http://instance:x




                                                                                        Database



                                                                                        Service       Access
                                                                                         Bus          Control


http://app:80                        Load                     Fabric           Table      Blob
                                                                                                       Queue
                                    Balancer                 Controller       Storage   Storage



                                    Premium conference on Microsoft’s Dev and ITPro technologies                           @itcampro / #itcampro
Windows Azure Tools for
                Eclipse/Java
• Runtime
   – Multiple Java app servers
   – Any Windows-based JRE

• Supports
   –   Windows Azure Storage
   –   Windows Azure Drive
   –   Windows Azure AppFabric
   –   SQL Azure

• One-click cloud
  deployment
• Integrated diagnostics,
  monitoring, and logging


          Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Accessing Windows Azure Storage
           from Java
• Windows Azure SDK for Java
   – Enables Java developers to develop against
     Windows Azure Storage & Service
     Management infrastructure using familiar &
     consistent programming model                                        Your Java application
• Features                                                        Windows Azure SDK for Java
                                                                                       Manageability,
                                                                     Blobs, Tables,                      Helper for Http,
   – Set of Java classes for Windows Azure Blobs,                       Queues
                                                                                      Instrumentation,
                                                                                           logging
                                                                                                         Auth, REST, Error


     Tables & Queues (for CRUD operations) &                                             REST
     Service Management
   – Helper Classes for HTTP transport,
     AuhN/AuthZ, REST & Error Management
   – Manageability, Instrumentation &
     Logging(log4j)

• Open Source Project site:
   – Developed by Soyatec
   – www.windowsazure4j.org

          Premium conference on Microsoft’s Dev and ITPro technologies                 @itcampro / #itcampro
Accessing SQL Azure from Java
• SQL Azure Database
   – Full relational Database as a Service

• Supports TDS & OData
• Direct connectivity to SQL Azure
   – Connect with JDBC/ODBC using the latest driver
   – Eclipse tooling support

• Interoperability using REST
   – Easily wrap SQL Azure with WCF Data Services
   – Restlet extension for OData (Java)

• Committed to OSS support and app compatibility




          Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Some Constraints
Platform                                           Java
   – Dynamic networking                                 – Sandboxed networking
     • <your app>.cloudapp.net                               •   NIO (java.nio) not supported
     • no naked domain                                       •   engine and host-level clustering
     • CNAME re-direct from custom                           •   JNDI, JMS, JMX, RMI, etc.
       domain                                                •   need to configure networking
     • sending traffic to loopback addresses
       not allowed and cannot open                      – Non-persistent local file system
       arbitrary ports                                       • logging, configuration, etc.
   – No OS-level access                                 – REST-based APIs to services
   – Non-persistent local file system                        • Table Storage – schema-less (noSQL)
     • allocate local storage directory                      • Blob Storage – large files (<200GB
                                                               block blobs; <1TB page blobs)
     • read-only: Windows directory,
       machine configuration files, service                  • Queues
       configuration files                                   • Service Bus
   – Available registry resources                            • Access Control
     • read-only: HKEY_CLASSES_ROOT,
       HKEY_LOCAL_MACHINE, HKEY_USERS,
       HKEY_CURRENT_CONFIG
     • full access: HKEY_CURRENT_USER

          Premium conference on Microsoft’s Dev and ITPro technologies         @itcampro / #itcampro
Is this limited to Java?

WINDOWS AZURE +
PHP/MYSQL

        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Running PHP in Windows Azure
• How to Do It
  – Host in Web role (like .NET)
  – Supply PHP runtime




                                                                            Load Balancer
                                                                                              PHP
  – Point to runtime via FastCGI                                                            Web Role




                                                                      VIP
    configuration in                                                                        Instance 1

     • Web.config
     • Web.roleConfig

• Eclipse Tooling @                                                                           PHP

  http://windowsazure4e.org
                                                                                            Web Role
                                                                                            Instance 2
  does the above for you


       Premium conference on Microsoft’s Dev and ITPro technologies               @itcampro / #itcampro
MySQL: Simple Configuration
                                           VIP


                                      Load Balancer


                        Web Role




                                          MySQL
                        Worker Role




   Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
MySQL in a Windows Azure
              Application
• Running MySQL in a worker role
  –   Copy MySQL to the worker role sub-directory
  –   Copy to read-write local storage
  –   Configure MySQL to listen on the right port
  –   Monitor MySQL health
• Consuming MySQL
  – Discover IP address and port
  – Normal access from then on
  – Handle topology changes



         Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Replication
                                      VIP


                              Load Balancer




                  S               M               S
                      MySQL         MySQL          MySQL




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Drive with Hot
          Spare
                                        VIP


                                Load Balancer




                               MySQL          MySQL




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Drive with Hot
          Spare
                                        VIP


                                Load Balancer




                               MySQL          MySQL




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Windows Azure Drive with Hot
          Spare
                                        VIP


                                Load Balancer




                               MySQL          MySQL




  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
MySQL Solution Accelerator
• Built by Infosys

• Master/slave configurations in a worker role
  –   Leverage Windows Azure Drive
  –   Master election and replication on startup
  –   Failover and recovery
  –   Scale up/down slaves
  –   Periodic backups - full and incremental

• Available with source code

         Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Running PHP/MySQL on Windows Azure

DEMO


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
PHP with Windows Azure Storage
• Windows Azure SDK for PHP @
  http://phpazure.codeplex.com

• PHP programming model for Windows
  Azure Storage

• Features
  – PHP classes for Blobs, Tables & Queues
  – Store PHP sessions in Table Storage

      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
PHP with SQL Azure
• SQL Server Driver for PHP @
  http://sqlsrvphp.codeplex.com/

• Supports PHP access to SQL Azure

• Features
  – Choose between SQL Server and SQL Azure by
    changing connection string
  – Use from on-premises or in Windows Azure


      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Benefits of Database as a Service
SQL Azure
Database as a Service                                 MySQL Solution Accelerator
•   Lower TCO                                         •    Compatibility w/ MySQL apps
                                                      •    Pre-configured clustering across
•   Automatic High Availability                            multiple compute instances
     – Multiple servers with live copies of           •    Database maintenance required
       your data --- instant failover                 •    Metered by compute hour
•   Automatic Fault-Tolerance
•   Automatic maintenance
     – No downtime
•   Instantly expand/contract databases
    to meet application needs
•   Metered by database
•   Mission-critical SQL Server foundation




             Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Does this stop here?




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Does this stop here?
• No! You can run LOLCode too.




     Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Anatomy of a LOLCode
       Worker Role




Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Key Takeaways

1. Powerful platform primitives
2. Worker role with endpoint is a flexible
   model
3. Windows Azure can run anything that
   adheres to the „mental model”
     •   JAVA
     •   PHP MySQL
             ,
     •   Python, Ruby
     •   [enter your platform of choice here]

         Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
To Remember
•   Tomcat Solution Accelerator
•   MySQL PHP Solution Accelerator
•   Windows Azure SDK for Java
•   Windows Azure SDK for PHP
•   Windows Azure Tools for Eclipse
•   Windows Azure Interoperability

• LOLCode .NET Compiler

        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
More, online



• AzureWorks.ro / www.azureworks.ro
  – Windows Azure User Group
  – LinkedIn Community
  – News
  – This presentation, the references and the source
    files
  – Comming soon – LOLCode on Windows Azure

      Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Q&A


  Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro
Don’t forget!
Get your free Azure pass!                            We want your feedback!

• 30+15 days, no CC req’d                        • Win a WP7 smartphone
   – http://bit.ly/ITCAMP11                             – Fill in your feedback forms
   – Promo code: ITCAMP11                               – Raffle: end of the day




        Premium conference on Microsoft’s Dev and ITPro technologies   @itcampro / #itcampro

Weitere ähnliche Inhalte

Ähnlich wie ITCamp 2011 - Mihai Nadas - Windows Azure interop

ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...
ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...
ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...ITCamp
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Enea Gabriel
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSITCamp
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp
 
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp
 
Vunvulea radu it camp-ro 2012 - building metro style applications on window...
Vunvulea radu   it camp-ro 2012 - building metro style applications on window...Vunvulea radu   it camp-ro 2012 - building metro style applications on window...
Vunvulea radu it camp-ro 2012 - building metro style applications on window...Radu Vunvulea
 
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...ITCamp
 
Cloudbursting VDI Scenarios (Tiberiu Radu)
Cloudbursting VDI Scenarios (Tiberiu Radu)Cloudbursting VDI Scenarios (Tiberiu Radu)
Cloudbursting VDI Scenarios (Tiberiu Radu)ITCamp
 
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...ITCamp
 
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignalITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignalITCamp
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
 

Ähnlich wie ITCamp 2011 - Mihai Nadas - Windows Azure interop (20)

ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...
ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...
ITCamp 2011 - Sebastian Vijeu, Petru Jucovschi - Testare automata si laborato...
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep diveITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
ITCamp 2013 - Raffaele Rialdi - Windows Runtime (WinRT) deep dive
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to Azure
 
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name DenaliITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
ITCamp 2011 - Cristian Lefter - SQL Server code-name Denali
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
 
Vunvulea radu it camp-ro 2012 - building metro style applications on window...
Vunvulea radu   it camp-ro 2012 - building metro style applications on window...Vunvulea radu   it camp-ro 2012 - building metro style applications on window...
Vunvulea radu it camp-ro 2012 - building metro style applications on window...
 
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...
ITCamp 2012 - Radu Vunvulea - Building metro style applications on Windows 8 ...
 
Cloudbursting VDI Scenarios (Tiberiu Radu)
Cloudbursting VDI Scenarios (Tiberiu Radu)Cloudbursting VDI Scenarios (Tiberiu Radu)
Cloudbursting VDI Scenarios (Tiberiu Radu)
 
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
Programming on Windows 8.1: The New Stream and Storage Paradigm (Raffaele Ria...
 
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
 
ITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystemsITCamp 2013 - Petru Jucovschi - Application ecosystems
ITCamp 2013 - Petru Jucovschi - Application ecosystems
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignalITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
 

Mehr von ITCamp

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...ITCamp
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...ITCamp
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp
 

Mehr von ITCamp (20)

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
 
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
 

Kürzlich hochgeladen

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

ITCamp 2011 - Mihai Nadas - Windows Azure interop

  • 1. Windows Azure – Plug and Play Interoperability and The Freedom of Choice Mihai Nadăș Yonder / www.tss-yonder.com mihai@nadas.ro / www.mihainadas.com Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 2. IT Camp 2011 • Thanks for coming! • ITCamp is made possible by our sponsors: Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 3. Session agenda 1. The state of the cloud and why should you care 2. Windows Azure - a short refreshment – DEMO / PhooStock (Photo Sharing in Azure) 3. Interoperability? As-in JAVA and stuff? – DEMO / Tomcat on Windows Azure 4. What about PHP? MySQL? – DEMO / PHP and MySQL on Windows Azure 5. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 4. The state of the Cloud AND WHY SHOULD YOU CARE Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 5. The cloud evolves • It becomes more crisp Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (Peter Mell and Tim Grance, NIST) • It grows as they told us it will – ~$37.8B in 2010, expected $121.B by 2015 (26% CAGR) (MarketsAndMarkets Report) – By 2014, ~65% of new products will be SaaS services (IDC Report) – SaaS-derived revenue will account for 26% of net new growth in 2014 (IDC Report) • New players confirm it by joining in – Oracle and HP just to name a few , Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 6. Why should you care? • You will have to taste it, sooner or later • Your job will require it • Your startup will need it Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 7. First, a short poll Which of the following technologies you’re most experienced with? Windows Azure Microsoft .NET JAVA, PHP, MySQL, (non-cloud) LOLCODE Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 8. Processing results, please wait... Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 9. And... the results! Which of the following technologies you’re most experienced with? 60% 50% 40% 30% 20% 10% 0% Windows Azure Microsoft .NET JAVA, PHP, MySQL (non-cloud) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 10. Windows Azure OPENENESS TOOLKIT Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 11. Windows Azure Refresher • Scalable computation in the cloud • Durable cloud storage • Write code, test, debug locally • Automated management in the cloud • Utility business model Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 12. What’s it good for? Web Applications Media Applications  massive scale infrastructure  CGI rendering  burst & overflow capacity  content transcoding  temporary, ad-hoc sites  media streaming Service Applications Information Sharing  composite applications  reference data  mobile/client connected  common data repositories services  knowledge discovery &  Web API’s management Hybrid Applications Collaborative Processes  component services  multi-enterprise integration  distributed processing  B2B & e-commerce  distributed data  supply chain management  external storage  health & life sciences  domain-specific services Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 13. Compute – instance types: Web Role & Storage – distributed storage systems that Worker Role. Windows Azure applications are highly consistent, reliable, and scalable. are built with web role instances, worker role instances, or a combination of both. HTTP/HTTPS Each instance runs on its own VM (virtual machine) and local transient storage; replicated as needed Guest VM Guest VM Guest VM Host VM Maintenance OS, Hardware-optimized hypervisor The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization. Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 14. PhotoStock – Photo Sharing on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 15. What we’ve seen so far? • Two roles – web and worker role • They’re actually full fledged Windows Server machines • We can open up ports to the world • We’re free to program it as we like (Full Trust) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 16. How this may be interesting to you? • Not managing and interacting with server OS – less work for you – don’t have to care it is “Windows Server” – but have to live with some limits and constraints • Some level of control – process isolation (runs inside your own VM/guest OS) – service and data geo-location – allocated capacity, scale on-demand – full spectrum of application architectures and programming models • You can run Java! – plus PHP Python, Ruby, MySQL, memcached, etc. , – and eventually anything that runs on Windows Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 17. Introducing WINDOWS AZURE + JAVA Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 18. Mental Model • Windows • Non-admin user • USB drive with “runme.bat” • Can your app run that way? Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 19. Deployment Options • Worker Role – fabric sandbox native deployment – automated, need additional code – available now • VM Role – host your own pre-configured VM image – automated, full control – In beta Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 20. Worker Role Programming Model • Basically DLL with main() • In .NET – OnStart() – initialization – Run() – main – OnStop() – graceful shutdown • Expected to run forever Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 21. How It Works • Platform features: – Native code execution (run the JVM) – Local storage (Tomcat logs, etc.) – Worker roles with endpoints (listen on port 80) – Initialization (copy and launch Tomcat) • Java-specific artifacts: – Java storage client library – Apache Tomcat solution accelerator – (Eclipse tooling) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 22. Creating a Java Worker Role 1. Include JRE in worker role 2. Launch java.exe with our class Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 23. A Better Java Worker • Reading configuration settings • Discovering endpoints • Handling changes • Monitoring • Diagnostics Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 24. Running Tomcat in Windows Azure • Use the solution accelerator; it’s easier • Built by Infosys • To do it yourself: – Copy Tomcat to local storage – Configure correct listening port – Start Tomcat service – Monitor and report health Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 25. Running Tomcat on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 26. What we’ve seen so far? • Tomcat Solution Accelerator – http://archive.msdn.microsoft.com/winazuretomcat • Windows Azure can run anything that could basically run on a Windows machine (just add care) Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 27. Anatomy of a Java Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 28. Architectural Perspective Service Instance listen port(x) JVM Catalina server.xml index.jsp Tomcat Sub-Process new Process() RoleEntry bind port(x) Point get Worker Role runtime info Service Instance SQL http://instance:y http://instance:x Database Service Access Bus Control http://app:80 Load Fabric Table Blob Queue Balancer Controller Storage Storage Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 29. Windows Azure Tools for Eclipse/Java • Runtime – Multiple Java app servers – Any Windows-based JRE • Supports – Windows Azure Storage – Windows Azure Drive – Windows Azure AppFabric – SQL Azure • One-click cloud deployment • Integrated diagnostics, monitoring, and logging Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 30. Accessing Windows Azure Storage from Java • Windows Azure SDK for Java – Enables Java developers to develop against Windows Azure Storage & Service Management infrastructure using familiar & consistent programming model Your Java application • Features Windows Azure SDK for Java Manageability, Blobs, Tables, Helper for Http, – Set of Java classes for Windows Azure Blobs, Queues Instrumentation, logging Auth, REST, Error Tables & Queues (for CRUD operations) & REST Service Management – Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management – Manageability, Instrumentation & Logging(log4j) • Open Source Project site: – Developed by Soyatec – www.windowsazure4j.org Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 31. Accessing SQL Azure from Java • SQL Azure Database – Full relational Database as a Service • Supports TDS & OData • Direct connectivity to SQL Azure – Connect with JDBC/ODBC using the latest driver – Eclipse tooling support • Interoperability using REST – Easily wrap SQL Azure with WCF Data Services – Restlet extension for OData (Java) • Committed to OSS support and app compatibility Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 32. Some Constraints Platform Java – Dynamic networking – Sandboxed networking • <your app>.cloudapp.net • NIO (java.nio) not supported • no naked domain • engine and host-level clustering • CNAME re-direct from custom • JNDI, JMS, JMX, RMI, etc. domain • need to configure networking • sending traffic to loopback addresses not allowed and cannot open – Non-persistent local file system arbitrary ports • logging, configuration, etc. – No OS-level access – REST-based APIs to services – Non-persistent local file system • Table Storage – schema-less (noSQL) • allocate local storage directory • Blob Storage – large files (<200GB block blobs; <1TB page blobs) • read-only: Windows directory, machine configuration files, service • Queues configuration files • Service Bus – Available registry resources • Access Control • read-only: HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG • full access: HKEY_CURRENT_USER Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 33. Is this limited to Java? WINDOWS AZURE + PHP/MYSQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 34. Running PHP in Windows Azure • How to Do It – Host in Web role (like .NET) – Supply PHP runtime Load Balancer PHP – Point to runtime via FastCGI Web Role VIP configuration in Instance 1 • Web.config • Web.roleConfig • Eclipse Tooling @ PHP http://windowsazure4e.org Web Role Instance 2 does the above for you Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 35. MySQL: Simple Configuration VIP Load Balancer Web Role MySQL Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 36. MySQL in a Windows Azure Application • Running MySQL in a worker role – Copy MySQL to the worker role sub-directory – Copy to read-write local storage – Configure MySQL to listen on the right port – Monitor MySQL health • Consuming MySQL – Discover IP address and port – Normal access from then on – Handle topology changes Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 37. Replication VIP Load Balancer S M S MySQL MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 38. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 39. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 40. Windows Azure Drive with Hot Spare VIP Load Balancer MySQL MySQL Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 41. MySQL Solution Accelerator • Built by Infosys • Master/slave configurations in a worker role – Leverage Windows Azure Drive – Master election and replication on startup – Failover and recovery – Scale up/down slaves – Periodic backups - full and incremental • Available with source code Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 42. Running PHP/MySQL on Windows Azure DEMO Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 43. PHP with Windows Azure Storage • Windows Azure SDK for PHP @ http://phpazure.codeplex.com • PHP programming model for Windows Azure Storage • Features – PHP classes for Blobs, Tables & Queues – Store PHP sessions in Table Storage Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 44. PHP with SQL Azure • SQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/ • Supports PHP access to SQL Azure • Features – Choose between SQL Server and SQL Azure by changing connection string – Use from on-premises or in Windows Azure Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 45. Benefits of Database as a Service SQL Azure Database as a Service MySQL Solution Accelerator • Lower TCO • Compatibility w/ MySQL apps • Pre-configured clustering across • Automatic High Availability multiple compute instances – Multiple servers with live copies of • Database maintenance required your data --- instant failover • Metered by compute hour • Automatic Fault-Tolerance • Automatic maintenance – No downtime • Instantly expand/contract databases to meet application needs • Metered by database • Mission-critical SQL Server foundation Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 46. Does this stop here? Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 47. Does this stop here? • No! You can run LOLCode too. Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 48. Anatomy of a LOLCode Worker Role Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 49. Key Takeaways 1. Powerful platform primitives 2. Worker role with endpoint is a flexible model 3. Windows Azure can run anything that adheres to the „mental model” • JAVA • PHP MySQL , • Python, Ruby • [enter your platform of choice here] Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 50. To Remember • Tomcat Solution Accelerator • MySQL PHP Solution Accelerator • Windows Azure SDK for Java • Windows Azure SDK for PHP • Windows Azure Tools for Eclipse • Windows Azure Interoperability • LOLCode .NET Compiler Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 51. More, online • AzureWorks.ro / www.azureworks.ro – Windows Azure User Group – LinkedIn Community – News – This presentation, the references and the source files – Comming soon – LOLCode on Windows Azure Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 52. Q&A Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
  • 53. Don’t forget! Get your free Azure pass! We want your feedback! • 30+15 days, no CC req’d • Win a WP7 smartphone – http://bit.ly/ITCAMP11 – Fill in your feedback forms – Promo code: ITCAMP11 – Raffle: end of the day Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro