Category: "Web Business"

Key Cloud Service Architecture Considerations

Converting an existing product or service for use in the cloud should begin with a consideration of several key requirements. Simply extending a system to support more clients may result in serious security, performance, and scalability issues.

These core requirements should be addressed prior to the application specific features, they represent the foundation for the system. These common elements apply for virtually any cloud based service.

  • Secure - The system must be designed and developed with best practices for security.
  • Scalable - The system must be scalable, to allow additional organizations to join without impacting others. The system capacity must be able to grow as necessary.
  • Manageable - It must be possible to adjust the resource allocation in response to changing consumption. If one server is too busy, clients should be able to be moved to a different server, with minimal service impact.
  • Fault Tolerant - System outages should be minimized and a disaster recovery plan must be in place. This includes backup and restore procedures, whether the failure or problem is due to a hardware, software, administrator, or user issue.
  • Segmented - Each client or organization must have a separate file system area, or account, and database, and access to these resources should limited as necessary for the use of the data. Failure to organize and protect the data can make it difficult or impossible to secure, scale and manage. Although some service elements may be system or server based, they must be provisioned or partitioned for use in such a way that the data is segmented.
  • Access Paths - Cloud services should allow subscribers to white label, so they can offer the services as if they are their own. Access URLs should be defined by the subscribers, probably as subdomains or derivative domains from their existing architecture.
  • Brandable - It is important that the services be brandable, so clients can identify the system as theirs. The extent of branding can vary, but at a minimum, a corporate logo should be displayed, and some connections or links to the corporate site and support resources should be provided. A neutral color scheme, such as grayscale can make it easier to ensure a nice presentation regardless of the logo.
  • Incremental - A tiered service offering should be established to allow free trials, as well as service levels so clients can purchase only the services they need.
  • Extensible - Cloud offerings should include the ability to extend and integrate with other systems, and those extensions should be managed at the client level. Thus, if one subscriber needs custom code, the code can be added without affecting other clients.
  • Integration - As with extensions, custom integration should be enabled to allow access into client infrastructures without affecting other clients.
  • Turnkey - The base system should be available very quickly, set up time should be minimal.
  • Easy to Use - Examine any existing systems and consider support requests to identify areas that have been difficult for clients to work with. Be sure to consider ways to improve these issues before proceeding.
  • Web Service or API Access - Subscribers should be able to interact with the system through automated processes with standards based interfaces such as SOAP and REST. These interfaces must be well-defined and documented. Test code and interfaces should be provided to ease development.
  • Well Supported - An extension of easy to use, support refers to ensuring users can use the system to do what needs to be done in a timely manner. The application needs to be organized carefully, supported with validation and help on the client (browser) side, adequate documentation, meaning a full manual in PDF, HTML or .zipped, a ticket system and possible a live chat interface.
  • Cost Effective - The cost of the system must be competitive.
  • Service Level Agreement - A service level agreement must be provided. This ensures both the provider and client understand exactly what is being offered.
  • Localization (l10n)
  • Internationalization (i18n)

Open Source Partners

Many open source companies have partner programs. Companies that become partners demonstrate a commitment to the open source software.

Partnership does not guarentee qualification or competency. Before allowing partnership to influence your selection of a company, the following factors should be considered.

In most cases, companies purchase partnerships in an attempt to gain referrals and to access support resources. One may assume that purchasing a partnership to gain referrals indicates marketing difficulties or sales problems. Access to support resources is more difficult to assess, because companies that are pushing the envelope definitely need support occassionally, but support may also mean inexperience.

Companies that claim to be active participants in an open source community should provide links to their contributions. Contributions may range from bug fixes, extensions, themes, sample code, documentation, forum support, and donations. If a company can’t quickly show how they have contributed, their claim may not be honest.

The number of sites developed with an open source application can be a good indicator of experience level, assuming the team has the maturity to strive to improve their skills on every project. Any company that claims to be an expert with a product should have at least ten sites using the application. No two projects are the same. No two clients are the same. An expert company should have experience with enough different projects that they should have learned how to best resolve the most common issues.

A company should also state clearly what their specialty is with the application. No web company is good at everything. Some are stronger in design, some are better at integrating applications, some build excellent custom applications. Any company that doesn’t clearly state what they do best, and who can benefit most from their services may not have a real strength. They may be competent in many areas, but their solutions may not be as good as other companies.

Open source service providers may only work with one application. In that case, if you have already chosen the application, and you are sure that you want to use it, the company may be a good fit. However, if you don’t have a clear understanding of the available options, selecting a company that really only works with one application is likely to force your decision to fit their skill set. For a very large project, it may be better to invest some time in researching the requirements and the best path toward meeting them, prior to choosing a provider. Single product providers may also have a more limited skillset, due to the reduced exposure. The more applications you work with, the more you learn.

Never forget that open source applications are available for everyone. Check the resumes of the people who will be working on your project. Consider the level of education and the years of experience. Ensure they are inline with your expectations. Do the engineers have Computer Science degrees? Do the designers have Graphic Design or Art degrees? How many years of experience do they have? Do their titles match their education and experience?

Remember that a company that is very comfortable with a product, has a strong team that needs little support, and delivers quality work on time and under budget has little need for partnership agreements. They can stand on their own.

Instant Web Site - with Full Control

Concrete5 (http://www.concrete5.org/) offers a great way to create a site quickly, and be able to customize it later.

This is a valuable service, because many people start with a simple site, and then want to extend it. Concrete5 gives you all the access you need, so that when you are ready to extend the site, in any way, you are ready. This also means you can start with their hosted solution, then move gracefully to your own server.

They have a great collection of themes/skins/designs to choose from: http://www.concrete5.org/index.php?cID=614

This solution allows you to run a very powerful system without the help of an expensive web development firm. They handle the hosting, application upgrades, and security.

You may need help setting up email, but you can contact them or a hosting company. The prices are excellent.

Check it out.

Web Development - Horizontal and Vertical Markets

Horizontal

http://en.wikipedia.org/wiki/Horizontal_market

  • Web sites
  • Intranets
  • ecommerce
  • Live support
  • Social networking / web 2.0
  • Blogs
  • Flash
  • RSS / aggregation
  • SEO
  • Internet Marketing

Vertical

http://en.wikipedia.org/wiki/Vertical_market

  • Application development, including RIAs
  • email management
  • Server management
  • Licensing
  • Toolkit / Framework development
  • Technical support
  • Product support
  • Open source customization
  • Content Delivery Networks

Web Development Firms - Strategies for Today's Economic Environ

Internet services (building web sites and applications) used to be a black box type of service, the client requested a solution, a web company developed one, and then client relied on the service provider for all related work.

Times have changed.

  • Web sites are now perceived as vital communications connections. Clients want the content to be current, and fresh, to engage site visitors. This requires frequent updages and many clients want to manage their content themselves. This improves the response time and reduces the cost. It also requires a mechanism to allow them to maintain the content - usually a blog or content management system. Impact: web companies must be able to integrate designs with applications instead of building standalone pages and sites.
  • Everyone knows more about the web than before. They know many powerful software packages are available at no cost. They know a good team can make changes quickly. Impact: Expectations are higher, and response time is expected to be lower.
  • Web technology has exploded in every direction. Sites must be faster, more attractive, and more sophisiticated than before. Impact: Web professionals must continue learning and pushing the envelope at every opportunity. Web companies must hire the very best people they can afford.
  • Malicious netizens are a constant threat. Impact: Web companies must comply with all the appropriate rules and regulations to protect site visitors, and their servers. Everything, from server configuration, web application firewalls, HTTPS/SSL/SSH/SFTP access must be carefully considered. Application security issues must be identified and addressed quickly.
  • Most companies already have a web site. Impact: There may be a significant investment in content and code. Protecting the investment, while reengineering the system in a cost effective manner may be difficult.
  • Many clients are facing difficult financial choices. The impact of a web site can be difficult to estimate in terms of revenue. Impact: A key opportunity for web companies is providing measurable benefits for clients. Although it may be difficult to illustrate revenue impacts, clear reduction in service costs should be offered. This requires that the web company be able to deliver services in a very streamlined manner.
  • Clients need to know what makes a web company a good fit for their project. Most are more concerned with what they want done, than work a company did for others. Impact: Displaying a portfolio of work done is less valuable than providing an interactive guide to assist a client in understanding the types of services (and possibly the costs) they need.