Posted on Thursday, March 07, 2013
Application PaaS "VALUE ENGINEERING" with ERP
Enterprises have spent heavily on their ERP systems over the last couple of years and many are now considering implementing an aPaaS solution in order to extract real value from the investment they have made.
But what are the potential approaches and benefits one could accrue by linking your "system of record" with an aPaaS product? Here are our thoughts on potential approaches and rationale:
Protect your system of record
By using an aPaaS you can extend the functionality of your ERP solution, whilst leaving your core system unexposed. i.e. Leverage the web and mobile capabilities of the aPaaS vendor to extend the value of data residing in your ERP. Use cases include customer portals, self service channels, partner collaboration.
Mobilize your data
Exposing your ERP data for mobile consumption typically requires implementation of a whole new infrastructure. aPaaS providers can simplify this with their rapid application development environments. Mobile solutions can be delivered in days rather than months with "traditional" mobile platform solutions.
Harmonize your web experiences
Depending on your ERP vendor, you are likely to have a combination of different user interface options and 3rd party solutions, aPaaS can provide a consistent user experience and abstract all the underlying systems from end users - and provide a simple business process view from an application perspective. Adopting this approach would allows the seamless replacement of legacy systems without impacting the user experience.
ACCELERaTED application delivery
aPaaS allows you to quickly build, deploy and change enterprise apps. By changing your development platform you can now deliver solutions significantly faster. The development becomes simpler and the resources required to develop solutions are less expensive. (Of course aPaaS has licencing implications).
Introduce agility to ERP landscape
Agility and ERP are by and large mutually exclusive, aPaaS allows organisations to build an agile layer on top of the systems of record. Agile methodologies are baked into the best of breed vendor tooling allowing improved communication and feedback - far better than the traditional waterfall approach.
Lower the cost of development workforce
PaaS developers can be productive in weeks rather than expensive ERP resources. Of course you will always need an architect to assist in the exposing of ERP services but the principle of aPaaS is that it removes complexity in the app development environment (improves DevOps)
Empower the business Developers
Application PaaS can shift development responsibilities from low level code jockeys to business analysts who are comfortable with technical concepts and can build business value driven applications.
aPaaS can add significant value to your IT landscape, however ensuring you understand the benefits will allow you to make an informed decision. Handguns & Tequila has deep experience in the PaaS space, specifically integrating solutions with ERP solutions, please contact us for more details on our capabilities.
Posted on Friday, December 07, 2012
PaaS - Who, What and Why?
A recent venture beat article suggests that 60% of companies will soon deploy PaaS solutions. A surprising statistic? Not really, Platform as a Service (PaaS) has such a broad definition that a large number of vendors position themselves in this segment.
Our perspective on how to differentiate the various providers is by evaluating what they offer from an application development value chain perspective.
A PaaS solution can vary between:
- Run time providers in which your code can run (typically some form of a virtual container) and focuses on the "Deploy" part of the value chain; through to
- An End-to-End Agile Application environment which manages your entire development value chain
Here is an overview of how we see the broad categories of providers.
These providers allow developers to push their code into a environment which provides the application hosting on their behalf. See this great post on how you can deploy java code across a number of PaaS providers. These tools are supported heavily by coders who want granular control of their applications, see this post about the way of the developer and do not want any development assistance using rapid application tools.
Providers in this category include: Heroku, CloudBees, Amazon Elastic Beanstalk, SAP Netweaver Cloud, Google App Engine, Azure.
Rapid Application Development providers
These providers typically supply proprietary tools for the development of applications that are generated by a framework. By removing the complexity of underlying technology (plumbing) layers developers and business analysts can quickly design and deploy applications - even without writing a line of code. Depending on where these providers play in the value chain they either assist in code generation (Develop) or additionally in the (Deploy) areas.
These tools target non-expert developers looking for the quickest way of building web and mobile applications.
Providers in this category include: SpringRoo (Develop); WaveMaker (Develop & Deploy); WinDev
Agile (Model) Solution Providers
These vendors manage the entire application lifecycle and typically have agile methodologies baked into their tooling – their tools manage the life-cycle and versions and changes of the applications. In most cases the platform has its own proprietary modelling language (see Model Driven Architecture).
Typical supporters of these platforms are business that are frustrated with the slow delivery and response to change requests from the application delivery team. Business wants to see fast agile solutions that can be deployed and managed without having to include an army of IT administrators.
Providers in this category include: Mendix, Outsystems, Force.com, Rollbase, SAP ByDesign
Choosing a provider depends on your specific need
As providers complete more of the value chain, they move from utility pricing to per use pricing. The question for organisations is to identify where their pain points are, and how they intend to improve the efficiency of the application development process.
Are you selecting a PaaS provider? Download our Paas Considerations Deck
Posted on Friday, July 06, 2012
A solution for improving developer effectiveness?
While the cloud computing concepts of IaaS (Amazon Web Services) and SaaS (Successfactors. Salesforce) are relatively well known for business executives, the PaaS or “Platform-as-a-Service” is a relatively new entrant into the cloud lexicon – here is a short overview on why business thinks enterprise application developers need assistance.
What is it?
PaaS is a business solution that supports the rapid development, running, and management of custom enterprise applications. The core value proposition is that you can deliver custom applications at the fraction of the cost - by reducing the complexity typically associated with custom applications.
PaaS provides the following components:
- A complete stack of development; monitoring and life-cycle tools that allow for flexible application implementations.
- Delivers the entire infrastructure (design and runtime) to manage requirements, design, implement, and deploy applications – typically into a cloud environment.
- PaaS enables an organisation to leverage key middleware services without having to deal with the complexities of underlying hardware and software elements, thereby reducing integration complexity.
Business Benefits of implementing a PaaS solution
The key reasons why enterprise application development teams are adopting PaaS solutions include:
- Reducing complexity within IT department and speed developer output of custom applications. Developers focus less on the lower infrastructure layers (servers, networks, security, source code deployment) and rather on delivering the core application.
- Delivering a consistent UX experience across the various bespoke applications
- Accelerating the time to value (of the developed applications)
- Provides a central place to manage all custom delivered applications - improving governance
- Reduction of coding errors (bugs) that occur in the custom applications. This is because solutions are built using “clicks not code” to craft and deploy applications.
Ideal approach for developing application PaaS
While PaaS provides excellent mechanism for organisations to develop applications suited for their specific business needs, ideally PaaS should be used to develop “niche” applications unique to your business and not for developing commodity applications (for more information on this be sure to read Geoffrey Moore's book - Dealing with Darwin) i.e. you should not be using PaaS for developing your core ERP system, but rather using it to develop unique applications in the market.
The "suits" are taking over, the days of the long haired guru programmer working for corporates is over - the smart ones are working for PaaS software development companies.
Posted on Saturday, June 02, 2012
An architects view of PaaS
Cloud computing has meant that organisations have ability to scale and deploy solutions without much consideration of the underlying hardware. The next evolution of cloud is PaaS - delivering software development; lifecycle management and runtime execution environments.
While cloud and new application development technologies excite geeks, the real benefits for the business are:
- Faster time to value - build applications quicker
- More reliable applications - as apps are built with clicks not code
- Improved agility - changes to underlying business processes can be implemented quicker
PaaS providers have either evolved from Infrastructure; SaaS; or Middleware players. Adopting a PaaS provider for your business raises some fundamental architectural questions. Openness is typically the key concern.
Open or proprietary
By selecting a PaaS provider that has closed stack you expose yourself to vendor lock-in and in perpetuity subscription models. . If you select a proprietary provider such as Force.com, you are locked into the platform and have no alternatives for deployment i.e. the code, workflows and user interfaces that you have developed are specific to your PaaS provider. Of course the benefits of the closed system may outweigh these concerns.
Cloud vs On-Premise
A critical question is where do your applications need to run? Options are either on-premise within your own infrastructure or externally hosted in cloud environment (public or private). If you need to run them internally, this significantly reduces the vendor landscape and increases complexity and associated governance and management (called "devops"). Some providers such as Outystems allow you to generate code in 'traditional' software stacks such as .NET or J2EE.
Your core ERP system
Your main corporate back-end system can influence your PaaS selection. Clearly your PaaS selection should "play nice" with your ERP. Certain vendors such as Mendix provide integration into core ERP backends and may be a solution to expose your ERP as your system of record. Of course choosing the right cloud integration solution for your chosen platform will make integration between the various systems easier.
Application Development Strategy
Another key factor would be your development team composition and your business model for application development. Offshoring or outsourcing development skills has been a common approach to reduce application costs. Do you have a specific application development language capability or strategy internally and want to select a PaaS platform aligned with these skills? E.g. .Net or Java
Security and Legislative requirEments
Ensuring your PaaS provider supports your Identity, Authorisation and Access solution is important so that applications can be provisioned in a co-ordinated fashion. Certain legislation may preclude your organisation from storing data in 3rd party solutions, forcing you to consider offerings that allow private deployment options.
Business Users vs Developers
Who will be creating applications? PaaS platforms allow quasi-technical individuals to deploy and test applications with very little training. It may be that you see the benefits of using Model Driven Development (MDD) techniques to reduce errors of your developers. Certain PaaS platforms such as Outsystems automatically generate code in .NET or JAVA.
Selecting a Paas for your company should be not be taken lightly, the key factors vary between organisations and System Integrators. We at H&T have developed a number of solutions using 3rd party PaaS providers and recommend the following:
- Create a short list of vendors based on your specific requirements taking cognizance of points above. Request our PaaS evaluation matrix.
- Prototype an application, most vendors offer free trials and development environments.
- Determine how integration and security between your existing applications in your landscape will be handled.
- Build a ROI model and understand the "additional costs" that platform introduce such as storage, premium feature sets
- Understand your compliance environment and review regulations that apply to your geography / industry. E.g. Data privacy laws, archival requirements
Posted on Saturday, April 28, 2012
A development comparison
One of our clients (a risk advisory consultancy) recently asked us to develop a prototype of case management solution that they want to deploy at one of their clients. Of course, SAP has a case management solution, but the licensing, infrastructure and implementation timeframe immediately excluded this option.
We spent some time looking at various solutions (custom Rails app to 3rd party solutions) and decided to prototype the solution using the Force.com development platform. Here is an overview of what it took:
- Initial prototype took 8 hours to build (7 Custom objects and relationships)
- Used the standard Salesforce UI (no custom CSS developed)
- Developed approval workflows for case assignment and approvals
- All the Salesforce security features were provided "out the box" - see image below
I was impressed with the speed in which we could build out the solution, and think the Force.com platform is excellent for applications that support the database metaphor (structure applications). The licensing is reasonable straight forward at $15 per named user a month.
So how is this different to developing a custom SAP solution?
Of course having a SAP development DNA, I would have preferred to to build this in a custom SAP based solution, here is what we considered:
- SAP Netweaver Neo - still in beta
- Custom WebDynpro via Floor Plan Manager
- Custom BSP solution
Of course options 2 & 3 above would require us to figure out the hosting, licensing and deployment mechanisms. But in my estimation it would have taken around a week to develop the equivalent initial prototype (including workflows). The reality is that a SAP development approach is not feasible.
Should the client decide to go the Force.com route, it is also possible for them to list the application in the Appexchange and market the solution through the Salesforce AppStore. The development choice in our opinion is no-brainer. But the reason for this blog post would be to open up the debate to other application developers for their opinion?
Recent blog posts Rss
- Application PaaS "Value Engineering" with an ERP
- PaaS - Confusion Reigns
- Web based Service Request Management for City of Cape Town goes live
- PaaS - A new way for the 'suits' to manage the 'geeks'?
- Architectural questions when evaluating PaaS
- Crossing the Rubicon - a SAP developers perspective on Force.com
- Email branding + Content Curation
- Curating via the iPad
- Curata adds twitter search capabilities
- Curata eBook Extract and Interview with CEO