n the abstract, business agility can be defined as your ability to rapidly change business vectors. A business vector is your business speed and direction. The direction may lead into new markets and new products, or engaging with new participants. Reducing time to IT solution delivery increases your team’s ability to adjust the business vector and match business opportunity.With adequate instrumentation, IT delivery agility can be quantified. Consider the following agility metric recommendations:Time to create project workspaceTime to build, integrate, testTime to approve, promoteTime to deploy, releaseDwell time – time waiting for the next operation to commence or completeAfter application project inception and before coding commences, systems administrators must create project workspaces. How long does your team wait before gaining access to source code management repositories, requirement management projects, and defect tracking projects?Moving code through build, integration, and test tools is often a time and labor-intensive process. The entire team waits while applications assets are built, integrated, and tested. When teams use iterative development processes, the wait time aggregates over several hundred or thousands cycles. How long does your team wait during build, integration, and test phases?When one team member finishes a task and the work enters an approval phase, how long does the team wait? After the work is approved to move through phase gate, how long before the project is promoted into the next phase?
Need social networkingApp Factory ComponentsAppCommand: Enhance team collaboration and project visibility. Has two aspects to it – per application view and all projects view.DevOps-Forge: Reduce time to market, increase consistency, share software development environment across partnersCloud PaaS: Rapidly deploy applications into Cloud run-time, share infrastructure across multiple development teamsAppStore: Enable application users to find, subscribe, and personalize the application
Agile and DevOps principles must be applied across a cross-functional team and the entire lifecycle (e.g. project inception, design, development, deployment, and management).Operations activities related to deployment and release management often hinders agility and time-to-market. The level of effort required to deploy a real-world application is often non-trivial. Continuous deployment technology automates operations activities and replaces manual intervention.While dwell time sounds cozy and refreshing, excessive wait states and downtime between activities diminishes team efficiency and engagement. Automated notifications eliminate dwell time between hand-offs. Automated project workspace creation, Cloud environment provisioning, and on-demand self-service access reduces wait time between software development phases.A DevOps focus on continuous activity execution (e.g. continuous build, continuous integration, continuous test, continuous delivery) creates a ‘no wait’ environment. Teams do not have to wait for the next script to run or for the next activity to commence. By incorporating automation into developer and operations processes, teams bypass time consuming manual tasks and gain faster phase execution. Both DevOps and PaaS promote simple, on-demand self-service environments that shield team members from complexity and reduce skill hurdles. By offering on-demand self-service access, rapid business innovation and experimentation is possible. By reducing complexity, team members are not required to obtain special training and skills before consuming IT services and infrastructure.To read more about Enterprise DevOps PaaS accelerating team agility, read a recent blog post.
Cloud platforms exhibiting Cloud Native PaaS architecture provide an opportunity to increase business innovation and creativity. Cloud native platform solutions shield teams from infrastructure details and inject new behavior into the application.Cloud native PaaS architecture requires infrastructure innovation in provisioning, service governance, management, deployment, load-balancing, policy enforcement, and tenancy. Cloud native, innovative provisioning infrastructure increases tenant density and streamlines code deployment and synchronization. Multi-tenancy within middleware containers enables teams to customize applications and services per consumer by changing run-time configuration settings instead of provisioning new instances.A Cloud platform may automate governance and enforce policies (i.e. security, service level management, usage) through enterprise PaaS services. Cloud provisioning may fulfill enterprise deployment requirements across all service providers and technologies used by solution delivery teams.To re-invent the platform and achieve benefits, new Cloud Native platform architectural components and services are required. Traditional client-server and N-tier web application architectures do not exhibit requisite cloud characteristics (i.e. elastic scalability, multi-tenancy, resource pooling, or self-service). Figure 1 below depicts the new Cloud Platform architectural components and services. The PaaS controller layer deploys, scales, monitors, and manages an elastic middleware Cloud. PaaS Foundation services provide common solution building blocks. A complete, comprehensive, and Cloud-aware middleware container layer delivers new cloud-aware capabilities to business applications.The middleware container layer should not be tightly coupled to the PaaS foundation. Acartridge or droplet pattern is used to support running any application or service container on the PaaS. By providing a cartridge plug-point, Cloud Native PaaS environments can run any language, framework, or server (after appropriate integration via the cartridge API and agents).Elastic Load BalancerElastic Load Balancer (ELB) balances load across cloud service instances on-premise or in the cloud. The ELB should provide multi-tenancy, fail-over, and auto-scaling of services in line with dynamically changing load characteristics. Cloud Native Elastic Load Balancers are tenant-aware, service-aware, partition-aware, and region-aware. They can direct traffic based on the consuming tenant or target service. Cloud Native Elastic Load Balancers manage traffic across diverse topologies (i.e. private partitions, shared partitions, hybrid cloud), and direct traffic according to performance, cost, and resource pooling policies. A Cloud Native ELB is tightly integrated with the Service Load monitor component and dynamically adjusts to topology changes. Service Load MonitorThe Service Load Monitor component acquires load information from multiple sources (e.g. app servers, load balancers) and communicates utilization and performance information to an Elastic Load Balancer responsible for distributing requests to the optimal instances, based on tenant association, load balancing policies, service level agreements, and partitioning policies. When the level of abstraction is raised above Infrastructure as a Service (IaaS) instances, Teams no longer have direct access to specific virtual machines. New Cloud Native components are required to flexibly distribute applications, services, and APIs across a dynamic topology. A Cloud Controller, Artifact Distribution Server, and Deployment Synchronizer perform DevOp activities (i.e. continuous deployment, instance provisioning, automated scaling) without requiring a hard, static binding to run-time instances.Cloud ControllerA Cloud Native Cloud Controller (or auto-scaler) component creates and removes cloud instances (virtual machines or Linux containers) based on input from the Load Monitor component. The Cloud Controller right-sizes the instance number to satisfy shifting demand, and conforms instance scaling with quota and reservation thresholds (i.e. minimum instance count, maximum instance count). The Cloud Native Cloud Controller may provision instances on top of bare metal machines, hypervisors, or Infrastructure as a Service offerings (e.g. Amazon EC2, OpenStack, Eucalyptus).Artifact Distribution ServerThe Artifact Distribution Server takes complete applications (i.e. application code, services, mediation flows, business rules, and APIs) and breaks the composite bundle into per-instance components, which are then loaded into instances by a Deployment Synchronizer. The Artifact Distribution Server maintains a versioned repository of run-time artifacts and their association with Cloud service definitions.Deployment SynchronizerThe Deployment Synchronizer checks out and deploys the right code for each Cloud application platform instance (e.g. application server, Enterprise Service Bus, API Gateway). With infrastructure and servers abstracted and encapsulated by the Cloud, a Cloud Native PaaS Management Console allows control of tenant partitions, services, quality of service, and code deployment by either Web UI or command-line tooling.Cloud Native PaaS Architecture Business BenefitsCloud Native PaaS architecture accelerates innovation, increases operational efficiency, and reduces cost.The traditional, keep-the-lights-on, operational run-rate consumes precious resources and limits innovative new projects. By optimizing project footprint across pooled resources on a shared Cloud Native PaaS infrastructure, Responsive IT can reduce operational spend, improve total cost of ownership (TCO), and make more projects financially viable. Multi-tenant delivery models create an efficient delivery environment and significant lower solution deployment cost. For more information on the financial benefits of multi-tenant, Cloud Native platforms, read the white paper.By building a Cloud Native PaaS environment, you provide your teams with a platform to rapidly develop solutions that address connected business use cases (i.e. contextual business delivery, ecosystem development, mobile interactions). Recommended ReadingA Path to Responsive ITPaaS ServicesDoes your PaaS architecture show a paradigm shift?Cloud-aware Applications and PaaS Architecture
Accelerate Business Agility with PaaSDavid S. LinthicumAndChris Haddad
Most application development shops can not createbusiness solutions in a timely manner.
Thus, many clouds are not meeting expectations.Business agility is still elusive.
The results:Application backlogsMissed business opportunitiesIncrease in complexityIncrease in latencyLack of elasticityLagging time-to-marketLack of business agility
The Growth of PaaS is Driven by the Need for Business AgilitySource: Stefan Ried from Forrester
“Research firm Gartner predicts that worldwideplatform as a service (PaaS) is set to reach a high of$1.2 billion in 2012, as compared to $900 million in2011.Market revenue is expected to increase as theyears come with a total of $1.5 billion in 2013, andgrowing to $2.9 billion in 2016, according to theGartner report entitled, ‘Market Trends: Platformas Service, Worldwide, 2012-2016, 2H12 Update.’”
• Large segments within the PaaS marketinclude:– Cloud application platform services(aPaaS), accounting for 34.4 percent of total PaaSspending in 2012.– Cloud application life cycle management (ALM)services (almPaaS) at 12 percent.– Cloud BPM platform services (bpmPaaS) at 11.6percent.– Cloud integration services (iPaaS) at 11.4 percent.Source: Gartner
Achieving Agility Through DevOpsEngineering SecurityOperationsDevelop Test Stage Deploy OperateDesign
• Good– Budget - It’s cheap.– Power - It scales.– Development – It’s productive.• Bad– Limitations - Can only use what’s there.– Standards - Few exist.PaaS in the Real World
• Make sure to consider the targetapplication.– Static application requirementsoften lead to PaaS not being a fit.• Make sure to consider resources required.– PaaS clouds limit use of resources, orthey become too expensive quickly.• Make sure to consider data persistence.– Data support varies greatly.• Make sure not to get religious around thelanguages.– “We’ll do it in any language as long asit’s Python.”• Make sure to consider leveraging theoutside world.– Need to interact with otherclouds, and on-premise systems.• Make sure to consider staging and testing.Real World Advice
• Start with the data, and work up to theservices and UI. Not matter what thePaaS provider suggests.• Create an initial POC, and make sure tovalidate the complete stack.• Define a staging and testing strategybefore you begin development.• Consider SOA approaches in the designand deployment of the PaaS-basedapplication.• Make sure to do load testing along withfunctional testing.• Make sure to model performance.• Don’t fall in love with a PaaS player.You may need to use several.Best Practices
Enterprise VulnerabilitiesAssess your Risks1. Governance2. Regulatory Compliance3. Security & Identity Management4. Business Continuity5. Process and Services6. Data Management7. System Integration8. Resource Skills & Knowledge9. Application Readiness10. Network ReadinessCOMPLEXITY OF MITIGATING RISKRISKTOORGANIZATION12534678910
Architecture RoadmapGeneral GuidanceBuild a solid foundation:Determine business driversUnderstand: data, services, businessprocesses and system integration pointsDesign a “cloud-friendly” enterprisearchitecture roadmap that leveragesServices Oriented Architecture (SOA)Determine an integration strategy forinternal and external systemsOutline a migration path for legacy systemsto the new architecture
How do you measure business agility acceleration?A few benchmark business metrics– Time between business opportunity idea and businessexecution– Time to on-board a new partner, supplier, distributor, customer– Setup time before entering a new market, unveiling a newcampaign, delivering a new product– Time between business change request and deploymentA few benchmark technical metrics– Time to create project workspace– Time to build, integrate, test– Time to approve, promote– Time to deploy, release– Dwell time – time waiting for the next operation to commenceor complete
5/15/2013 27WSO2 App Factory: Integrating Enterprise DevOps into PaaSWSO2AppFactoryApp CommandGovernance andVisibilityDevOps-ForgeCompleteCloud PaaSEnterpriseApp Store
5/15/2013 28WSO2 App Factory: Accelerating Development AgilityReduce deployment provisioning timeReduce dwell time whenpromoting/demoting assetsIncrease Collaboration CyclesEnable rapid micro-iterations
Living the DevOps LifeCycle: Continuous, automated, iterative, holistic
Re-invent the platform withOpen Source PaaS and Cloud Native Architecturehttp://blog.cobia.net/cobiacomm/2013/04/18/cloud-native-paas-architecture/
The Cloud Native Differencehttp://wso2.com/whitepapers/cloud-native-advantage-multi-tenant-shared-container-paas/
Hit the Accelerator• Read more about The Path to Responsive IT• Adopt DevOps practices with WSO2 App Factory– http://appfactorypreview.wso2.com• Reduce time to market with WSO2 StratosLivePublic PaaS– http://wso2.com/cloud/stratoslive/• Transform your infrastructure into a Private PaaSwith WSO2 Stratos– http://wso2.com/cloud/stratos/
Engage with WSO2• Helping you maximize project value and reduce time tomarket• From project evaluation and inception to development andgoing into production, WSO2 is your partner in ensuring100% project success
Join hundreds of WSO2 support customers andAccelerate Your Business Agility