Download - Introducing the WSO2 App Factory
App FactoryRe‐invent App DeliveryRe invent App Delivery
November 2012November 2012
WSO2 App FactoryWSO2 App Factory
WSO2 il it ti d l t• WSO2 uses an agile, iterative development process• v1.0 is a Minimum Viable Product• http://en wikipedia org/wiki/Minimum viable prod• http://en.wikipedia.org/wiki/Minimum_viable_prod
uct• Just enough features to allow a subset of users to
deploy the system in production• Each further release is aimed at meeting specific
user requirementsuser requirements• Feature list we present today may not be in 1.0
• You can follow progress on architecture@wso2 org• You can follow progress on [email protected]
11/27/2012 2
AgendaAgenda
• What is – Cloud, Paas, Cloud EcoSystem
• What is App Factory
• Features
• Architecture
• Benefits
• Demo
• Use cases
11/27/2012 3
Cloud TechnologiesCloud Technologies• Stateless services• Rapid provisioning
Rapid Elasticity
• Rapid provisioning• Flexible topology• High Quality of Service
• Fine‐grained metering
• Billing Elasticity• Billing• Reporting
On‐demand
self‐service
Measured service or pay per use
Resource pooling
self service
• Flexible workload assignmentSt d d i ff i
p g
• Multi‐tenancy• Resource utilization
• Standard service offerings• Quick startup and automation
11/27/2012 4
• Shared, virtual infrastructure• Interoperability
PaaSPaaS
• Hosted application environment for building and deploying applications
Environment for building andEnvironment for building and Deploying Apps
++Cloud Characteristics
11/27/2012 5
Cloud EcosystemCloud Ecosystem
• Cloud ecosystemCloud ecosystem – Other integrators, partners, software, third parties and anything in
their environments that has a bearing the cloud
Ecosystem
• PaaS Ecosystem – Developer tooling
– Devops tooling
– Governance tooling
– Life cycle management
CoreCloud
Life cycle management
– Developer community
– Consumers
– Infrastructure services
11/27/2012 6
What is WSO2 App Factory ?
11/27/2012 7
WSO2 App FactoryWSO2 App Factory
• Platform for managed application development
• Support application from cradle to grave
• Manage infrastructure
• Provide automated configurable devops and governance
• Downloadable VM
• Hosted as a cloud service
• 100% Open source – Apache2 licence
11/27/2012 8
WSO2 App Factory unifies Open Source DevOps, Agile, and CloudOpen Source DevOps, Agile, and Cloud
Project and Team Management
Project and Team Management
SoftwareSoftwareSoftware development workflow
Software development workflow
Continuous DeploymentContinuous Deployment
Governance and Compliance
Governance and ComplianceTest AutomationTest Automation
Development Development Continuous Continuous pDashboards
pDashboardsIntegrationIntegration
App Factory
Develop CodeDevelop CodeContinuous BuildContinuous Build
11/27/2012 9
Issue TrackingIssue TrackingSource ControlSource Control
WSO2 App Factory unifies Open Source DevOps, Agile, and CloudOpen Source DevOps, Agile, and Cloud
Project and Team Management
Project and Team Management
Software development workflow
Software development workflow
Continuous DeploymentContinuous Deployment
App Factoryworkflowworkflow
Governance and Compliance
Governance and ComplianceTest AutomationTest Automation App FactoryComplianceCompliance
Development DashboardsDevelopment Dashboards
Continuous IntegrationContinuous Integration App FactoryApp Factory
Develop CodeDevelop CodeContinuous BuildContinuous Build
11/27/2012 10Issue TrackingIssue TrackingSource ControlSource Control
WSO2 App Factory Solution Components
App CommandApp Command
WSO2WSO2 DevOpsDevOpsWSO2 App
Factory
WSO2 App
Factory
DevOps‐Forge
DevOps‐ForgeApp StoreApp Store Proj
ect and Team
Management
Project and Team
Management
Software development
workflow
Software development
workflow
Governance and Complia
Governance and Complia
Developmen
Developmen
ContinuContinu
Test Automation
Test Automation
Continuous Deployment
Continuous Deployment
ww pliancepliancement
Dashboards
ment
Dashboards
Develop Code
Develop Code
Issue
Tracking
Issue
Tracking
Source Control
Source Control
Continuous Build
Continuous Build
ous Integration
ous Integration
Cloud PaaSCloud PaaS
11/27/2012 11
WSO2 App Factory Development Environment
App Storet Cartridges
Development Cloud
rces
Cartridges
Test Cloud
Cartridges
Production Cloud
nagement
Stratos Platform
g
Data Sou
Stratos Platform
g
Stratos Platform
g
cycle Man
ed APIs &
App Command: Developer & Management Portal
Source Code Management
Lifec
Issue Tracker
Content PaaS
Forums Manage
Continuous BuildCloudManagement Tracker PaaS
Developer Studio
11/27/2012 12
Developer Studio
Features
11/27/2012 13
Features : Application CreationFeatures : Application Creation
1
44
2
Dev Test Prod
33
Features : Facilitate regulatory compliance
• Facilitate regulatory compliance
• Extension point to enforce an approval process
• Eg : App creation– Developer submits application, and can track approval process
– Review gates and approval checklist items
– Automated build test execution and versioningAutomated build, test execution and versioning
Do actionDo action
11/27/2012 15
Features : Configurable Governance• Governs any kind of server/system configuration
M h f ll i lif l i d l
Features : Configurable Governance
• Manages the full promotion lifecycle spanning across development, testing, staging and production environments
TestDev
• Deeply integrates with all WSO2 Carbon middleware products
Feature : Configurable GovernanceFeature : Configurable Governance
• Uses SCXML – state chart XML
• Compose a new Lifecycle in Greg
• App Factory will work accordinglyacco d g y
11/27/2012 17
Features : Automated DevOpsFeatures : Automated DevOps
Processes that require collaboration and coordination between software qdevelopment teams with IT operations team.
• Self service project and policy configuration– Via project configuration portals– Security, service levels, frameworks, usage, topologyy, , , g , p gy
• Automated platform provisioning– Via service tier templates
F k d li f t i t (PEP )– Framework and policy enforcement points (PEPs)
• Process automation– Continuous build, test, and deployment, , p y– Code promotion and synchronization across environments and servers
• Dependency analysis and impact analysis
11/27/2012 18
Features :CXO Dashboard
Communicate project status• Constant communication and coordination
• What applications exist?• When will an application be delivered?
• Overcome SOA Anti‐patternsOvercome SOA Anti patterns• Not Invented Here (NIH), Tight Coupling and Build again
Features : Shared InfrastructureFeatures : Shared Infrastructure
• Shared elastic runtime for all applicationsShared elastic runtime for all applications
• Shared used of source repositories, build farm, testing servers and more.
11/27/2012 20
Features : Integrated Developer ExperienceFeatures : Integrated Developer Experience
11/27/2012 21
Features : Dependency ManagementFeatures : Dependency Management
App A App A App Appfoo db
ppfoo db
ppfoo db
Test ProdDev
Sandboxfoo
Productionfoo
11/27/2012 22
Features : Dependency Management : “bar” urlFeatures : Dependency Management : bar url
• Dev http://a.com/test/weather
• Test http://a.com/test/weather
• Production http://a.com/weather
11/27/2012 23
Features : Inbuilt WSO2 API Manager Integration
WSO2App
Factory
11/27/2012 24
Features : Versioning StrategyFeatures : Versioning Strategy
• Automatic versioningAutomatic versioning• Configurable versioning strategy• Versions are included in dashboardsVersions are included in dashboards
11/27/2012 25
Features : ExtensibilityFeatures : Extensibility
• Customize aspects– UIs
Life Cycle– Life Cycle
– Handlers
– Workflows – Every action goes through a work flowy g g
– Plugins
11/27/2012 26
ArchitectureArchitecture
11/27/2012 27
Extensible Architecture of App FactoryExtensible Architecture of App Factory
• picture UI ‐ Jaggery
Workflow – BPEL
Service LayerService Layer
PluginsPlugins
11/27/2012 28
BPEL and ExtensibilityBPEL and Extensibility
• BPEL – Business Process Execution language
• All actions go through an empty BPEL
• Add human tasks, new actions to BPEL– Regulatory compliance checks
A l– Approval processes
– New service calls
• The work flow approach allows toThe work flow approach allows to– Develop any application
– Deploy to any server
– Selective customization and governing of any action
– Do anything!
11/27/2012 29
Extensible Architecture of App FactoryExtensible Architecture of App Factory
App CreationApp Creation
11/27/2012 30
WSO2 App Factory DemoWSO2 App Factory Demo
1) Access developer portal
2) Create a project
3) Connect with development cloud
4) Write application code
5) Use SDLC tooling
6) Promote application
7) Dependency Management – Using different databases
11/27/2012 31
BenefitsBenefits
11/27/2012 32
WSO2 App Factory Overall Benefits
• For developers– Simplifies project setup, provisioning, and development lifecycle activities
– Works with leading development tooling (i.e. SVN, Git, J it M J ki d R d i ) d IDE (i E liJunit, Maven, Jenkins and Redmine) and IDE (i.e. Eclipse, IDEA, Rational)
WSO2 App Factory Overall BenefitsWSO2 App Factory Overall Benefits
• For development managers– Manage project lifecycle
– Enforce compliance
– Ensures projects follow governance model and best practices
11/27/2012 34
WSO2 App Factory Overall BenefitsWSO2 App Factory Overall Benefits
• For the CIO and Executive IT management– Development dashboards deliver at a glance view of
• application status,
• lifecycle, activity, and health, trend
– Change Business‐IT conversations and dynamics
11/27/2012 35
App Factory & Cloud Ecosystem
Middleware
PaaS WSO2App Factory
Source Code Management
PaaS Framework
SDLC Tools
Gith bGithubCollabNetAtlassian
11/27/2012 36
App Factory in CloudApp Factory in Cloud
• Creates a holistic PaaS ecosystem
• Instantly provision infrastructure
Sh d i f t t• Shared infrastructure
• Enforces regulatory compliance
• Reduce application proliferation• Reduce application proliferation• Consolidate 100s and 1000s of assets based on business domain
• Increase application re‐use
11/27/2012 37
WSO2 App Factory Modernizes your IT Infrastructure
Partner and Mobile applications
IT Infrastructure
API Management
Lightweight High PerformanceIntegration
Existing IT infrastructure
Scalable Private Cloud infrastructure
CIO/Management Dashboard
Workflow managedbuild and deployStratos Multi-tenant elastic
integration and ESB runtime
Governanceand Identity
WSO2 AppFactory
g
WSO2 App Factory Platform builds a digital business ecosystemdigital business ecosystem
Your Core BusinessYour Core BusinessBusiness CapabilityBusiness Capability
3rd Party P t3rd Party P t
Your Digital B i
Your Digital B i
AA
PartnersPartnersBusiness EcosystemBusiness Ecosystem
App Factory Platform
App Factory Platform DevOps Forge DevOps Forge Personalized Personalized PlatformPlatform p g
and Governancep g
and GovernanceSaaS SolutionSaaS Solution
Cloud Deployment
Cloud DeploymentApp StoreApp Store
11/27/2012 39
WSO2 Competitive Advantages
• Cloud‐basedPl bl i P S f k (S )– Pluggable runtime PaaS framework (Stratos)
• Can integrate 3rd party runtimes to app factory
– Available both as PaaS and product for private cloud deploymentp p p y
– Shared elastic infrastructure – cost effective and maximal usage
• DevOps– Integrates development forge, enterprise workflow best practices, and
Cloud run‐time
Pl bl t SCM/SLDC t l t– Pluggable to any SCM/SLDC toolset• Ships with SVN, Git, Jenkins, Maven, Ant, Selenium, Redmine
11/27/2012 40
WSO2 Competitive AdvantagesWSO2 Competitive Advantages
• IT Business Focus– Extensible governance model and compliance
Project and Portfolio dashboards– Project and Portfolio dashboards
– App Store
• Business ModelBusiness Model– Full open source provides broad customer reach
11/27/2012 41
Use Case 1
11/27/2012 42
App StoresApp Stores
600
sand
s
400
500
Thou
s200
300
0
100
0
Jan‐09 Jan‐10 Jan‐11 Jan‐12
Apple App Store – Growth of AppsApple App Store – Growth of Apps
11/27/2012 43
Evolution of WebEvolution of Web
Web 3.0
Web 2.0 T i l
Web 3.0 Contextual• Data‐drivenM bil
Web 1.0 Presentation
Transactional• E‐Commerce• Social networks
• Mobile• Personalized• Self‐Selection
Presentation• Web sites• Brochure‐ware• E mail
• Software as a Service
• E‐mail
11/27/2012 44
Want to develop/publish an App/API ???Want to develop/publish an App/API ???
• Where to maintain my code?
• Where to build it ?
• How to test it ?
• A place to track bugs ?
• Finally submit to App Store/API Store ?
11/27/2012 45
Use Case 2
11/27/2012 46
Ecosystem PaasEcosystem Paas
• Generic Ecosystems– GAE, Cloud Bees, Heroku
B i S ft• Business Software– SalesForce CRM + Force.com
• Twitter• Twitter– “Twitter wants to become a platform on top of which other companies
build like Facebook and Apple”
– “the company wants to move away from a situation in which developers and companies ‘build off of Twitter, to a world where people build into Twitter’people build into Twitter.
11/27/2012 47
How to creating an Ecosystem ???How to creating an Ecosystem ???
T h i l Ch ll• Technical Challenges– Managing infrastructure
Integration– Integration– Interoperability– Quality of Service and Q y
Traceability across distributed system
• Business Challenges• Business Challenges– Controlling use of business
brand– Monetization and revenue
sharing
Use Case 3
11/27/2012 49
Enterprise & Internal InnovationEnterprise & Internal Innovation
• Universities offering an App development infrastructure to student projects. Or any entity that wants to support innovation!!innovation!!
• Enterprises with many internal/external partners – managed innovationinnovation
ShippingShipping
LogisticsLogistics DistributionDistribution
Platform ProviderPlatform Provider
11/27/2012 50
Outdated infrastructure, processes, and tooling impedes App Delivery
Existing IT infrastructure
Difficult to improve IT processes and app delivery without automation and governance structure promoting architecture best practice, encouraging collaboration, reducing process friction, and monitoring compliance
How to provide IT as a service?How to provide IT as a service?
• Enforce governance
• On demand‐infrastructure
• Provide infrastructureProvide infrastructure for 100s of projects in a cost effective mannercos e ec e a e
• Provide self‐service
11/27/2012 52
TimelinesTimelines
Al h 30th N b 2012• Alpha – 30th November 2012
• Beta – 20th December 2012
• GA 30th January 2012• GA – 30th January 2012
Beta ProgrammeBeta Programmehttp://wso2.com/solutions/app‐factory/
Thank youThank you
11/27/2012 55