SlideShare a Scribd company logo
MONTREAL 1/3 JULY 2011




Lean Startup with WebObjects
Paul D.Yu
FDL Solutions, Inc.
Agenda
•   Define lean startup

•   What or why not WebObjects/WOnder

•   At the Beginning of the business

•   Development

•   QA

•   Production
What is a lean startup?

•   Use of free and open source software,

•   Application of agile software development methods, and

•   Ferocious customer-centric rapid iteration, as exemplified by
    Steve Blank's Customer Development process

•   And minimize venture capital investment
Purpose of a Startup?

•   Make Money!!!

•   Some money from a many of people = good business

•   Does not have to be the $100M business

•   Not build it and they will come...
Free and Open Source Software


•   The idea is to minimize the upfront investment in development
    tools and infrastructure

•   Lower the costs associated with getting revision 0 out the door
Agile Development


•   Agile development can be traced back to Chrysler Financial’s
    eXtreme Methodology

    •   They used NeXTSTEP!!!
Customer Centric Development

•   Listen to your customers

•   Build what your customers want quickly

•   If your customers feel that you are listening they will tolerate
    bugs

•   With each release cycle the product gets better
Avoid VC $$$


•   Once you take VC money, you are no longer working for
    yourself…

•   Founders often are left without a chair
Choose Your Partners Wisely


•   Choose your partner like you would choose your spouse…

•   May be not

•   Easier to get together, a lot tough to get divorced
Lean Startup is a Business

•   Not just about software development

•   Also product deployment and operational maintenance

•   Also customer support

•   Especially business development and sales

•   There is the whole business to run!!!
Convergence of Events
•   Cloud Computing

    •   Software as a Platform

    •   Software as a Service model

•   Open Source technologies and tools

•   Pay as you go…

•   Mobile computing
My Lean Startup

•   EOModel Design Started December 2008

•   First Prototype/Demonstration February 2009

•   First Customer Usage April 2009

•   First Customer Check May 2009

•   Self-funded with consulting work
MONTREAL 1/3 JULY 2011




WebObjects and WOnder
Why did I choose to use WO and WOnder for my lean startup?
“Provides the first two floors of a
  five story building” Steve Jobs
WebObjects

•   Not exactly open source

•   But essentially free

•   Single unified stack instead of separate stacks that must be
    integrated

•   “The ocean is broad AND deep”
Why WOnder?

•   Open source

•   Fix problems with underlying WO

•   So many features beyond basic WO

•   Once you WOnder, you’ll never go back...
Rapid Iterations

•   Quick iterations in the same direction may be easy

•   Remember every iteration cost money

•   But what about Changes of Direction?

    •   Technology innovation

    •   Business/customer requirements
WO and WOnder Architecture
       and Options
                                             Multi-headed
•   Multi-headed Hydra                       Hydra MVC
•   Perfectly positioned for iOS and JS-
    based rich-client architectures with
    ERRest

•   Allows for flexibility (turning) as the
    future changes
Content Warning...
Challenges of using WebObjects

•   WebObjects is DEAD!

•   Not Open Source or Doesn’t cost $50,000

•   Tough to sell in the corporate bureaucracy

•   Need to know a lot: from css down to EOF

•   “Apple eats its own dog food”, but it is not the same as ours
Challenges of using WebObjects

•   No Marketing Air Cover for the technology!!!

•   No Corporate Sales Force for the “product”!!!

•   No apparent technology movement of WO from Apple

•   No coherent WOnder direction
Challenges of using WebObjects
•   No documentation

•   No good examples

•   RoR is better

•   Lack of available developers

•   Lack of training facilities

•   A lot to learn the entire stack from css to EOF...
The Opportunities of Using
           WebObjects
•   But lean startups are not large corporations

•   WebObjects and WOnder is still one of the BEST tools and
    architecture in the market place

•   For a lean startup, WebObjects and WOnder allows a very small
    team to get produce very powerful and scalable systems very
    quickly

•   But you have to know WebObjects already????
MONTREAL 1/3 JULY 2011




At the Beginning
A lean startup
First things first

•   Build the business case

•   Can you make money if you invest your time and effort into this
    venture

    •   Either you job or business

•   Charge one customer A LOT of $$$ vs. Charge A LOT of
    customers a little
Second things second

•   Design the EOModel

•   Build an application architecture with a solid foundation to build
    from, see beyond fluffy bunny presentation

•   Then build the rest of the house based on your vision for the
    product
Then

•   Seek out your local university or chamber of commerce to get
    incubator/advice for entrepreneurs

•   Rapidly build the product and release it in the cloud

•   Get people to use it and pay you to test your application...
MONTREAL 1/3 JULY 2011




Development Environment
IDE
•   MacBook Pro OS X 10.6.7

•   Eclipse Helios Service Release 2 (~/Appications vs /Applications)

    •   WOLips

    •   JRebel

    •   Subclipse moving to EGits

    •   Workspace Mechanic
Additional Tools
•   Subversion Clients

    •   svnX

    •   Versions

•   GitHub Client

    •   Gitbox.app

    •   Tower.app
Version Control
                   Issue Tracking
•   Subversion, but thinking of migrating to private Git Server

    •   Gitolite on CentOS

•   Jira 10 person license, but really using OmniFocus

•   Confluence 10 person license, but really using Yojimbo,
    Notebook
Database

•   MySQL 5.+

•   MySQL Admin

•   DbVisualizer

•   Local tunnels to Production, Staging environments
EOF and Database Independence


•   EOModel with Prototypes

•   Porting from MySQL to other DB’s should be no problems
Why DbVisualizer?

•   Connections

    •   Development

    •   QA

    •   Production
Development Databases


•   Production Replicated for testing

•   Sales Demonstration

•   Simple Switch of the jdbc property in Properties.<me> file
MONTREAL 1/3 JULY 2011




QA/Training Environment
Continuous Build Server

•   MacMini moving to Cloud Server

•   Jenkins

•   Manual task to pull from Wonder

•   Job to build project(s) from svn, moving to git

•   Scripts to push to Stage and Production
QA Clients

•   OS X Firefox, Safari

•   Parallels with Virtual Machines

    •   Windows 7, IE 8

    •   Windows XP, IE 7

•   iPAD Safari
Training Environment
•   iWEB Server (seems cheaper than my production environment)

•   CentOS

•   Oracle Java VM 1.6+

•   Project Wonder wotaskd and JavaMonitor

•   MySQL on the same machine

•   Deploy Apps to /opt/Local/Library/WebObjects
Training Environment



•   Dedicated URL for testing ERRest client applications
Training Environment

•   Experienced major performance issues with undersized training
    environment

•   Concurrent simultaneous users…

•   Don’t want to interrupt production

•   Don’t want to corrupt production data
MONTREAL 1/3 JULY 2011




Production Environment
MONTREAL 1/3 JULY 2011




Production Environment
At the Beginning
Virtual Server Per Customer




         Virtual    Virtual    Virtual
         Server     Server     Server
          per        per        per
        Customer   Customer   Customer
MONTREAL 1/3 JULY 2011




Production Environment
Now
Current Production Environment


                   Apache 2
                        +
               Application Server




                Database Server
Production Environment
•   SliceHost is the ISP

•   Database Server on a 512 MB slice

•   Web and App Server 2GB slice (2 IPs)

•   Ubuntu 8.+

•   Apache2

•   Project WOnder wotaskd and JavaMonitor

•   Nagios
Production Environment
          Merging Databases
•   Contracted with Kieran Kelleher

•   Kieran designed an automated script to merge the three
    production databases into one

•   oldId vs newId

•   Run many times to verify correctness

•   Run once to migrate
Production Environment

•   SliceHost backup service is nice, cheaper than EC2

•   SliceHost create new slice based on backup is nice

•   SliceHost being replaced by RackSpace

•   So will be migrating

•   Canadian client says there are laws governing where the data can
    reside, so not all cloud = cloud
Turning on EO Migration

•   Discussions of “White Labeling”

•   Requests for local installation, traditional software license

•   Would not be able to deal with manual upgrades to the
    database!!!

•   Bit the bullet and turned on Migration
Approach to EO Migration
•   Existing Database

•   Generate EOMigration from current EOModels

•   Extract Database Content for “reference” data

•   Manually set the production environment to migration 1 or
    correct version for all models, so migration will NOT run

•   Tested against a new database to create state 1

•   Modified EOModel to create revision 2
MONTREAL 1/3 JULY 2011




Additional Tools
Startup is not just about the technology
Other Tools
•   Verizon FiOS

•   WebEx or GotoMeetings

•   GotoWebinar

•   Grasshopper

•   Constant Contact

•   SalesForce.com

•   Google Analytics
MONTREAL 1/3 JULY 2011




Credits
Travis Britt, Kieran Kelleher, Pascal Roberts
MONTREAL 1/3 JULY 2011




Q&A

More Related Content

What's hot

Cross-Platform Desktop Apps with Electron (JSConf UY)
Cross-Platform Desktop Apps with Electron (JSConf UY)Cross-Platform Desktop Apps with Electron (JSConf UY)
Cross-Platform Desktop Apps with Electron (JSConf UY)
David Neal
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Serdar Basegmez
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
Jagadish Prasath
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
Randy Shoup
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Wen-Tien Chang
 
Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3ArdenCST
 
The economies of scaling software - Abdel Remani
The economies of scaling software - Abdel RemaniThe economies of scaling software - Abdel Remani
The economies of scaling software - Abdel Remani
jaxconf
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
Alfresco Software
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Kunal Johar
 
Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2ArdenCST
 
Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015
ESUG
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and Joomla
George Wilson
 
"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect WorkshopPatrick Chanezon
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
Paul Withers
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
Alfresco Software
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010
Christopher Brown
 
jQuery Conference Boston 2011 CouchApps
jQuery Conference Boston 2011 CouchAppsjQuery Conference Boston 2011 CouchApps
jQuery Conference Boston 2011 CouchApps
Bradley Holt
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco Software
 
LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"
Daniel Bryant
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
Michael Yagudaev
 

What's hot (20)

Cross-Platform Desktop Apps with Electron (JSConf UY)
Cross-Platform Desktop Apps with Electron (JSConf UY)Cross-Platform Desktop Apps with Electron (JSConf UY)
Cross-Platform Desktop Apps with Electron (JSConf UY)
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
 
Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3
 
The economies of scaling software - Abdel Remani
The economies of scaling software - Abdel RemaniThe economies of scaling software - Abdel Remani
The economies of scaling software - Abdel Remani
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2
 
Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015
 
Modern websites in 2020 and Joomla
Modern websites in 2020 and JoomlaModern websites in 2020 and Joomla
Modern websites in 2020 and Joomla
 
"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop"Portrait of the developer as The Artist" Lockheed Architect Workshop
"Portrait of the developer as The Artist" Lockheed Architect Workshop
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010
 
jQuery Conference Boston 2011 CouchApps
jQuery Conference Boston 2011 CouchAppsjQuery Conference Boston 2011 CouchApps
jQuery Conference Boston 2011 CouchApps
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
 
LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"LJC 05/14 "Cloud Developer's DHARMA"
LJC 05/14 "Cloud Developer's DHARMA"
 
 Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage?  Active Storage - Modern File Storage? 
 Active Storage - Modern File Storage? 
 

Similar to Lean Startup with WebObjects

DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Yves Hwang
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Simple Cloud with Amazon Lightsail - Mike Coleman
Simple Cloud with Amazon Lightsail - Mike ColemanSimple Cloud with Amazon Lightsail - Mike Coleman
Simple Cloud with Amazon Lightsail - Mike Coleman
Amazon Web Services
 
The DevOps Journey at bwin.party
The DevOps Journey at bwin.partyThe DevOps Journey at bwin.party
The DevOps Journey at bwin.party
Kelly Looney
 
Stackato
StackatoStackato
Stackato
Jonas Brømsø
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
LetsConnect
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Docker, Inc.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
ESUG
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015
MSDEVMTL
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Matomy
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
Joel Gascoigne
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
nj-azure
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
Karthik Gaekwad
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
dmethvin
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
Steve Lange
 
WebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on ExalogicWebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on Exalogic
Raoul Miller
 

Similar to Lean Startup with WebObjects (20)

DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Simple Cloud with Amazon Lightsail - Mike Coleman
Simple Cloud with Amazon Lightsail - Mike ColemanSimple Cloud with Amazon Lightsail - Mike Coleman
Simple Cloud with Amazon Lightsail - Mike Coleman
 
The DevOps Journey at bwin.party
The DevOps Journey at bwin.partyThe DevOps Journey at bwin.party
The DevOps Journey at bwin.party
 
Stackato
StackatoStackato
Stackato
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
Journey to Docker Production: Evolving Your Infrastructure and Processes - Br...
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015Les nouveautés ASP.NET 5 avec Visual Studio 2015
Les nouveautés ASP.NET 5 avec Visual Studio 2015
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
 
CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010CodeIgniter for Startups, cicon2010
CodeIgniter for Startups, cicon2010
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
 
WebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on ExalogicWebCenter as a Cloud App on Exalogic
WebCenter as a Cloud App on Exalogic
 

More from WO Community

In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engineWO Community
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsWO Community
 
Build and deployment
Build and deploymentBuild and deployment
Build and deploymentWO Community
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
WO Community
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldWO Community
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful ControllersWO Community
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on WindowsWO Community
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnitWO Community
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO DevsWO Community
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache CayenneWO Community
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to WonderWO Community
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative versionWO Community
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" patternWO Community
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W WO Community
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languagesWO Community
 

More from WO Community (20)

KAAccessControl
KAAccessControlKAAccessControl
KAAccessControl
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
High availability
High availabilityHigh availability
High availability
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Lean Startup with WebObjects

  • 1. MONTREAL 1/3 JULY 2011 Lean Startup with WebObjects Paul D.Yu FDL Solutions, Inc.
  • 2. Agenda • Define lean startup • What or why not WebObjects/WOnder • At the Beginning of the business • Development • QA • Production
  • 3. What is a lean startup? • Use of free and open source software, • Application of agile software development methods, and • Ferocious customer-centric rapid iteration, as exemplified by Steve Blank's Customer Development process • And minimize venture capital investment
  • 4. Purpose of a Startup? • Make Money!!! • Some money from a many of people = good business • Does not have to be the $100M business • Not build it and they will come...
  • 5. Free and Open Source Software • The idea is to minimize the upfront investment in development tools and infrastructure • Lower the costs associated with getting revision 0 out the door
  • 6. Agile Development • Agile development can be traced back to Chrysler Financial’s eXtreme Methodology • They used NeXTSTEP!!!
  • 7. Customer Centric Development • Listen to your customers • Build what your customers want quickly • If your customers feel that you are listening they will tolerate bugs • With each release cycle the product gets better
  • 8. Avoid VC $$$ • Once you take VC money, you are no longer working for yourself… • Founders often are left without a chair
  • 9. Choose Your Partners Wisely • Choose your partner like you would choose your spouse… • May be not • Easier to get together, a lot tough to get divorced
  • 10. Lean Startup is a Business • Not just about software development • Also product deployment and operational maintenance • Also customer support • Especially business development and sales • There is the whole business to run!!!
  • 11. Convergence of Events • Cloud Computing • Software as a Platform • Software as a Service model • Open Source technologies and tools • Pay as you go… • Mobile computing
  • 12. My Lean Startup • EOModel Design Started December 2008 • First Prototype/Demonstration February 2009 • First Customer Usage April 2009 • First Customer Check May 2009 • Self-funded with consulting work
  • 13. MONTREAL 1/3 JULY 2011 WebObjects and WOnder Why did I choose to use WO and WOnder for my lean startup?
  • 14. “Provides the first two floors of a five story building” Steve Jobs
  • 15. WebObjects • Not exactly open source • But essentially free • Single unified stack instead of separate stacks that must be integrated • “The ocean is broad AND deep”
  • 16. Why WOnder? • Open source • Fix problems with underlying WO • So many features beyond basic WO • Once you WOnder, you’ll never go back...
  • 17. Rapid Iterations • Quick iterations in the same direction may be easy • Remember every iteration cost money • But what about Changes of Direction? • Technology innovation • Business/customer requirements
  • 18. WO and WOnder Architecture and Options Multi-headed • Multi-headed Hydra Hydra MVC • Perfectly positioned for iOS and JS- based rich-client architectures with ERRest • Allows for flexibility (turning) as the future changes
  • 20. Challenges of using WebObjects • WebObjects is DEAD! • Not Open Source or Doesn’t cost $50,000 • Tough to sell in the corporate bureaucracy • Need to know a lot: from css down to EOF • “Apple eats its own dog food”, but it is not the same as ours
  • 21. Challenges of using WebObjects • No Marketing Air Cover for the technology!!! • No Corporate Sales Force for the “product”!!! • No apparent technology movement of WO from Apple • No coherent WOnder direction
  • 22. Challenges of using WebObjects • No documentation • No good examples • RoR is better • Lack of available developers • Lack of training facilities • A lot to learn the entire stack from css to EOF...
  • 23. The Opportunities of Using WebObjects • But lean startups are not large corporations • WebObjects and WOnder is still one of the BEST tools and architecture in the market place • For a lean startup, WebObjects and WOnder allows a very small team to get produce very powerful and scalable systems very quickly • But you have to know WebObjects already????
  • 24. MONTREAL 1/3 JULY 2011 At the Beginning A lean startup
  • 25. First things first • Build the business case • Can you make money if you invest your time and effort into this venture • Either you job or business • Charge one customer A LOT of $$$ vs. Charge A LOT of customers a little
  • 26. Second things second • Design the EOModel • Build an application architecture with a solid foundation to build from, see beyond fluffy bunny presentation • Then build the rest of the house based on your vision for the product
  • 27. Then • Seek out your local university or chamber of commerce to get incubator/advice for entrepreneurs • Rapidly build the product and release it in the cloud • Get people to use it and pay you to test your application...
  • 28. MONTREAL 1/3 JULY 2011 Development Environment
  • 29. IDE • MacBook Pro OS X 10.6.7 • Eclipse Helios Service Release 2 (~/Appications vs /Applications) • WOLips • JRebel • Subclipse moving to EGits • Workspace Mechanic
  • 30. Additional Tools • Subversion Clients • svnX • Versions • GitHub Client • Gitbox.app • Tower.app
  • 31. Version Control Issue Tracking • Subversion, but thinking of migrating to private Git Server • Gitolite on CentOS • Jira 10 person license, but really using OmniFocus • Confluence 10 person license, but really using Yojimbo, Notebook
  • 32. Database • MySQL 5.+ • MySQL Admin • DbVisualizer • Local tunnels to Production, Staging environments
  • 33. EOF and Database Independence • EOModel with Prototypes • Porting from MySQL to other DB’s should be no problems
  • 34. Why DbVisualizer? • Connections • Development • QA • Production
  • 35. Development Databases • Production Replicated for testing • Sales Demonstration • Simple Switch of the jdbc property in Properties.<me> file
  • 36. MONTREAL 1/3 JULY 2011 QA/Training Environment
  • 37. Continuous Build Server • MacMini moving to Cloud Server • Jenkins • Manual task to pull from Wonder • Job to build project(s) from svn, moving to git • Scripts to push to Stage and Production
  • 38. QA Clients • OS X Firefox, Safari • Parallels with Virtual Machines • Windows 7, IE 8 • Windows XP, IE 7 • iPAD Safari
  • 39. Training Environment • iWEB Server (seems cheaper than my production environment) • CentOS • Oracle Java VM 1.6+ • Project Wonder wotaskd and JavaMonitor • MySQL on the same machine • Deploy Apps to /opt/Local/Library/WebObjects
  • 40. Training Environment • Dedicated URL for testing ERRest client applications
  • 41. Training Environment • Experienced major performance issues with undersized training environment • Concurrent simultaneous users… • Don’t want to interrupt production • Don’t want to corrupt production data
  • 42. MONTREAL 1/3 JULY 2011 Production Environment
  • 43. MONTREAL 1/3 JULY 2011 Production Environment At the Beginning
  • 44. Virtual Server Per Customer Virtual Virtual Virtual Server Server Server per per per Customer Customer Customer
  • 45. MONTREAL 1/3 JULY 2011 Production Environment Now
  • 46. Current Production Environment Apache 2 + Application Server Database Server
  • 47. Production Environment • SliceHost is the ISP • Database Server on a 512 MB slice • Web and App Server 2GB slice (2 IPs) • Ubuntu 8.+ • Apache2 • Project WOnder wotaskd and JavaMonitor • Nagios
  • 48. Production Environment Merging Databases • Contracted with Kieran Kelleher • Kieran designed an automated script to merge the three production databases into one • oldId vs newId • Run many times to verify correctness • Run once to migrate
  • 49. Production Environment • SliceHost backup service is nice, cheaper than EC2 • SliceHost create new slice based on backup is nice • SliceHost being replaced by RackSpace • So will be migrating • Canadian client says there are laws governing where the data can reside, so not all cloud = cloud
  • 50. Turning on EO Migration • Discussions of “White Labeling” • Requests for local installation, traditional software license • Would not be able to deal with manual upgrades to the database!!! • Bit the bullet and turned on Migration
  • 51. Approach to EO Migration • Existing Database • Generate EOMigration from current EOModels • Extract Database Content for “reference” data • Manually set the production environment to migration 1 or correct version for all models, so migration will NOT run • Tested against a new database to create state 1 • Modified EOModel to create revision 2
  • 52. MONTREAL 1/3 JULY 2011 Additional Tools Startup is not just about the technology
  • 53. Other Tools • Verizon FiOS • WebEx or GotoMeetings • GotoWebinar • Grasshopper • Constant Contact • SalesForce.com • Google Analytics
  • 54. MONTREAL 1/3 JULY 2011 Credits Travis Britt, Kieran Kelleher, Pascal Roberts
  • 55. MONTREAL 1/3 JULY 2011 Q&A