business model driven cloud adoption - what ni is doing in the cloud

30
National Instruments

Upload: ernest-mueller

Post on 15-Jan-2015

1.819 views

Category:

Technology


1 download

DESCRIPTION

NI's approach to using cloud computing and DevOps to deliver high quality SaaS offerings to our customers

TRANSCRIPT

Page 1: Business model driven cloud adoption -  what  NI is doing in the cloud

National Instruments

Page 2: Business model driven cloud adoption -  what  NI is doing in the cloud

Business Model Driven Cloud Adoption: What NI Is Doing In The Cloud

Ernest MuellerCloud Architect, LabVIEW R&D

[email protected] @ernestmueller http://theagileadmin.com

Page 3: Business model driven cloud adoption -  what  NI is doing in the cloud

3

The Short Form

We built a DevOps team to rapidly deliver new SaaS products and product functionality using cloud hosting and services (IaaS, PaaS, SaaS) as the

platform and operations, using model driven automation, as a key differentiating element.

With this approach we have delivered multiple major products to market quickly with a very small staffing

and financial outlay.

Page 4: Business model driven cloud adoption -  what  NI is doing in the cloud

4

National Instruments (aka “NI”)

• 30 years old; 5000+ employees around the world, half in Austin, mostly engineers; $873M in 2010

• Hardware and software for data acquisition, embedded design, instrument control, and test

• LabVIEW is our graphical dataflow programming language used by scientists and engineers in many fields

Page 5: Business model driven cloud adoption -  what  NI is doing in the cloud

5

From toys to black holes

Page 6: Business model driven cloud adoption -  what  NI is doing in the cloud

6

Genesis

• Our hardware and software product strategy started to spawn software-as-a-service ideas – some from customer demand, some from internal drivers

• There were existing product to Web integration points but these were uncoordinated and poorly maintained

• LabVIEW R&D greenfielded an internal group in 2009 to serve as a sort of internal ISV for hosted services, the dotCom team

Page 7: Business model driven cloud adoption -  what  NI is doing in the cloud

7

Challenges

• Poor R&D/IT relationship• Traditional siloed IT department (programmers split by

business unit, infrastructure split by technology)• Low organizational IT agility – 6 weeks to get a server• Uptime problems from complexity and silos• On premise data centers at power/cooling capacity• R&D primarily experienced in desktop software and

specialized, dedicated hardware, not server/Web/open• Consensus driven environment

Page 8: Business model driven cloud adoption -  what  NI is doing in the cloud

8

Now, Discover Your Strengths

• Strong base of “best and brightest,” motivated employees• Culture of innovation and “do it yourself”• Large Web presence (ni.com) with extensive in house

programming and operational experience• Entrepreneurial internal environment• Significant reinvention/retooling effort going on in R&D• Increasing focus on system sales and quality (performance,

reliability, security) over yet-more-features

Page 9: Business model driven cloud adoption -  what  NI is doing in the cloud

9

Starting Fresh - Blessing and Curse

Everything was new, so we had to simultaneously develop:• Products• Team• Process• Systems• Code• Operations• System Automation

Page 10: Business model driven cloud adoption -  what  NI is doing in the cloud

10

The Products (“Hosted Services”)

• Customer facing: LabVIEW Web UI Builder (In early access) LabVIEW FPGA Compile Cloud (In beta) Technical Data Cloud (In alpha) More in progress!

• Internal facing: LabVIEW.com Cloud Framework Cloud Hosting Operations

Page 11: Business model driven cloud adoption -  what  NI is doing in the cloud

11

LabVIEW Web UI Builder

• Write a LabVIEW(ish) app, save it to the cloud and run it there. • Build and deploy it to an embedded target and hook it up to Web

services to give it a sweet UI• Also, an experimental testbed for LabVIEW changes• Freemium model – use it for free, packaging and deploying your

app to a target requires a license (compiles run in the cloud) – try it at ni.com/uibuilder

• Silverlight RIA, back end on Amazon (moving to Azure soon) – EC2, S3, SimpleDB -> Azure Wen roles & blob/table storage; Java/Linux/Apache/Tomcat and .NET/IIS/Windows

Page 12: Business model driven cloud adoption -  what  NI is doing in the cloud

12

Page 13: Business model driven cloud adoption -  what  NI is doing in the cloud

13

Page 14: Business model driven cloud adoption -  what  NI is doing in the cloud

15

LabVIEW FPGA Compile Cloud

• LabVIEW FPGA compiles take hours and consume extensive system resources; compilers are getting larger and more complex

• Implemented on Amazon - EC2, Java/Linux,C#/.NET/Windows, and LabVIEW FPGA

• Also an on premise product, the “Compile Farm”

Page 15: Business model driven cloud adoption -  what  NI is doing in the cloud

16

LabVIEW FPGA Compile Cloud

NI Hosted Compile Service

User Login& Rights management

Links to user account& support

Page 16: Business model driven cloud adoption -  what  NI is doing in the cloud

17

LabVIEW FPGA Compile Cloud Cloudlet

LabVIEWFPGA

FPGA Services

FPGAServer FPGA

Worker

FPGAWorker

FPGAWorkers

LDAP

Auth Db

InternalServices

DNS LoadBalancer

InstallServices

MgmtServer Gateway File

Server

Routing

Web

Ser

ver

SecurityServices

License DbPIE

Page 17: Business model driven cloud adoption -  what  NI is doing in the cloud

18

Technical Data Cloud

• “I just want to upload my sensor data directly to the cloud, man.”

• REST and LabVIEW API that lets you upload and retrieve discrete and waveform data

• Welcome to the Internet of Things• Being built on Microsoft Azure – specific bits TBD,

all .NET

Page 18: Business model driven cloud adoption -  what  NI is doing in the cloud

19

LabVIEW.com Cloud Framework• Platform that makes the magic happen by providing base

plumbing for developers of SaaS apps• Core Services - reusable Web services and facilities • ILLS (internal login & licensing services) – distributed user

repo and licensing, complete with feed from Oracle and self service user portal; Java/Tomcat, OpenDS LDAP, mySQL

• PIE (Programmable Infrastructure Environment) – sets up systems for you, autoscales, deploys code; uses an XML model and runtime registry; Java – more on this later!

• Building out a core platform? Didn’t that slow velocity? No.

Page 19: Business model driven cloud adoption -  what  NI is doing in the cloud

20

Core Cloudlet

Browser UserPortal LDAP

Master

Auth Db Master

InternalServices

DNS LoadBalancer

InstallServices

MgmtServer Gateway File

Server

EmailQueue

Oracle

Routing

Web

Ser

ver

License Db Master

PIE

Page 20: Business model driven cloud adoption -  what  NI is doing in the cloud

21

The Team

• DevOps! Application architect Systems architect (me) 2 developers 1 system automation developer Operations lead 2 follow-the-sun operations staff in Malaysia

• Work with other R&D product developer teams Different orgs (LabVIEW, non-LV software, hardware) Geographically distributed (Austin, Aachen, Bangalore, Singapore)

Page 21: Business model driven cloud adoption -  what  NI is doing in the cloud

22

The Process

• Agile!• All systems work used the “developer” tools and systems as

part of DevOps collaboration philosophy Revision control (Perforce) Bug tracking (HP) Specs and reviews (Atlassian Confluence wiki) Task tracking and burndown (JIRA/Greenhopper)

• All members collaborate on all aspects of the product• Test driven development

Page 22: Business model driven cloud adoption -  what  NI is doing in the cloud

23

The Systems

• Cloud!• After a quick cost assessment and experimentation, decided

on Amazon EC2 as our initial hosting platform• Needed control and agility we wouldn’t be able to get

internally – dynamic requirements, fast scaling• Needed Linux and Windows both for software support• Using multiple point SaaS providers for functionality (If it’s not

core, outsource it!)• Agility and time to market far outweighed cost efficiency

Page 23: Business model driven cloud adoption -  what  NI is doing in the cloud

24

Code

• REST!• All REST-based Web services• Multiple tech stacks - cloud and systems mgmt code mostly

in Java, product code mostly in C#/.NET• Key cloud app architecture concerns – multitenant, parallel,

asynchronous, loosely coupled, APIed, instrumented, resilient in dynamic/ephemeral environment

• Developers deliver tests, monitoring, system model with their service

Page 24: Business model driven cloud adoption -  what  NI is doing in the cloud

25

Operations

• The “secret sauce”!• Not just ticket handling or “keep the lights on.” Focus on

delivering value to the customer and developer.• Provide performance management, availability, systems

management, incident handling, security, log management, monitoring, rapid deployment

• Inspirations: O’Reilly “Secret Sauce” paper, Velocity conference, Visible Ops book, Transparent Uptime blog

Page 25: Business model driven cloud adoption -  what  NI is doing in the cloud

26

System Automation

• PIE!• The “Programmable Infrastructure Environment”• XML system model defines systems, services, code installs,

runtime interaction• Runtime registry for systems info and eventing • PIE autobuilds the runtime system from the model –

provisioning, software installs, monitoring integration• Perform orchestration and control on many instances of

dynamic environments

Page 26: Business model driven cloud adoption -  what  NI is doing in the cloud

27

Page 27: Business model driven cloud adoption -  what  NI is doing in the cloud

28

Results

• Win!• A continuous pipeline of products delivered quickly• LabVIEW Web UI Builder went beta in 2009, 1.0 in

2010• FPGA Compile Cloud went beta in 2010, 1.0 soon• Technical Data Cloud going beta soon• Unqualified happiness with cloud, DevOps approach• Not innovation vs. reliability – new approach gets both!

Page 28: Business model driven cloud adoption -  what  NI is doing in the cloud

29

Residual Challenges

• Selling SaaS products is a challenge to our existing channels• Managing the collision of engineering and IT technology• Culture – building collaboration, mutual respect, and trust

among globally distributed dev teams, ops, and others (QA, security, etc.)

• Educating desktop developers on operational issues• Maintaining vision through rapid change• Cloud-compatible tooling still emerging

Page 29: Business model driven cloud adoption -  what  NI is doing in the cloud

30

Where do we go from here?

• Complete the virtuous cycle of agile, cloud, mobile, social• Move to full continuous integration and deploy-on-demand,

necessitating intense investment in testing• Uptake of Microsoft Azure (mostly complete)• Private cloud products• Look into Lean• Can DevOps be spread out into the enterprise? We’ll see.• More SaaS products, and product to Web integration more

core to our product strategy

Page 30: Business model driven cloud adoption -  what  NI is doing in the cloud

31

Community Engagement

Austin is an awesome place for cloud work right now.• Austin Cloud User Group (acug.cloudug.org)• Austin OWASP (Open Web Application Security

Project) chapter• SXSW Interactive• Events like this one• DevOps and devops-toolchain Google groups• Velocity conference, DevOpsDays, CloudCamps