Table of Content
- About The Client
- Client Situation and Challenges
- Key Requirements
- Xoriant Solution
- Key Contributions
- Technology Stack
- Client Testimonial
ABOUT THE CLIENT
As a part of the current trend of cloud computing and software-as-a-service of the enterprise market, our client, a Silicon Valley based start-up founded in 2006, is providing on-demand storage and collaborative services with flexible, secure and limitless storage capabilities. Remote storage has become an inexpensive and on-demand solution for the small and home businesses. Our client's product delivers a comprehensive file server solution that combines unlimited, on-demand file storage and workgroup collaboration capabilities with an automated, online backup. This product works on both Windows and Mac platforms.
CLIENT SITUATION AND CHALLENGES
Our client was building a product based on the cloud paradigm, providing an on-demand file storage and collaboration solution for the users. Our client being a recent entrant into the cloud paradigm wanted to engage with a partner with cloud computing experience and who could provide engineering services at all aspects of the (cloud based) product lifecycle.
Also since the cloud paradigm works on the pay as you use model, it was imperative to incorporate the payment and billing feature into the solution.
QA for this solution is different from other enterprise products and hence required a testing team who could test for the performance of such a solution along with the criteria of high availability and scalability.
Another aspect was to provide customer support for the end customers and infrastructure/operational support to enable the continued operation of the solution.
- Providing rich user experience by leveraging some of the Web 3.0 features and the new APIs
- Incorporating high user and product level security into the product
- Providing users with a server sync feature to map files on their hard drive to the product
- Providing a failsafe environment thereby ensuring no downtime which was a critical requirement
- Ensuring exhaustive QA to enable product release with minimal errors
- Providing global support services to the client’ end customers, in addition to infrastructure and operational support
- Ensuring dynamic storage provisions to enable adding/removing storage as per the requirement
- Ensuring the product compatibility with multiple OSes and browsers
Xoriant formed an initial team of a cloud expert, a technical architect and a senior engineer to understand the product requirements and functionality. After discussions a formal product document was created in collaboration with the client team. A functional requirement document was later created and a development and QA team was structured.
Xoriant team proposed developing the entire product using web tools like Ajax, so that the user experience could be improved significantly and the product matched the market-trends of the Web 2.0 style of deployment while also leveraging the Web 3.0 concepts as available.
Incorporated support for client’s local clouds, a set of file synchronization products which performs live synchronization between client and server and also facilitates offline access to users files. Implemented throttling controls on storage usage.Provided storage High-availability cluster which has provision for adding/removing storage dynamically, used Distributed replicated block device, Haproxy and Cache technologies.
Credit Card Integration: Xoriant designed, implemented credit card processing facility, thereby providing a subscription based model for the end users.
QA team developed automation framework using open source toolsfor reducing the testing time, team was able to automate about 75% of the test cases written for the requirement. QA team created scripts for performing security and penetration testing to identify the vulnerabilities like injection flaws and exploring potential threats. Performance testing scripts were created which helped in identifying crucial bottlenecks prior to product release. Automated cross-browser multi-platform testing scripts were created that enabled wider release of the product.
Support team was formed for providing 24x*7 L1 through L3 support. L1 team provided support for customers in using product features, troubleshooting, etc. A central knowledge base repository for known issues and technology study was created and maintained leading to quick turnaround. Also a team for infrastructure/operational setup was formed which would be responsible for deployments and performance optimizations.
- Developed a full-fledged Web 2.0 based content management solution with some Web 3.0 based features which allow seamless desktop-web backups
- Implemented a robust and scalable UI using framework libraries like Backbone and Marionette
- Provided single sign on integration with Identity Provider using SAML 2.0
- Developed an Ajax-based site with webDAV for creating the file/folder structure that could be accessed over the web
- Provided built in access control for maintaining security for the users/groups
- Implemented prevention measures for web application security vulnerability like XSS, XSRF, SQL injection etc
- Developed upload widget which could be embedded in custom applications thereby allowing ease of collaboration and use
- Provided support and maintenance for client's sync server which is entirely written using python's extension to file system event and python bindings to Casandra event monitoring system
- Developed automation framework for automating test cases, performed security & penetration testing exploring potential threats
- Support team formed for providing 24x7 customer support for all the client’s global customers, uses Zendesk for knowledge management and as ticketing system
- Operational team also set up for deploying patches and for performing performance tuning and optimization
- Provided high-availability clusters to deliver a fail-safe environment through redundancy and used open source tools like Haproxy, LVS, etc
In the course of the engagement, the Xoriant offshore team worked in sync with the client's U.S. development team to define the architecture, the overall feature set, and the finer modules delivery framework. By overlapping time-zones, we could work in real time with the client to deliver the right technology within the right schedule and market launch plans.
Incremental, Rapid, and Iterative Prototyping: Since the product development was a key to the client market launch, Xoriant adopted a weekly release methodology to create and implement a full suite of modules, patches, and features that responded to user feedback and client integration requirements. In this, we achieved high success in seamlessly delivering the product user experience over IE, Safari, and Firefox, substantially increasing the client footprint.
TECHNICAL ARCHITECTURE DIAGRAM
- Incorporating several user centric features and leveraging the new technology advancements enabled development of a feature rich and popular product
- 24x7 support operations enabled client to provide support to its global customers round the clock, improving customer satisfaction
- Automation reduced the test time by over 50% and also the errors in shipped product thereby providing client time to market advantage
- Infrastructure team helped client to make optimal infrastructure investment on need basis
"I wanted to thank you for the great work you have been doing. In the frenzy of next release, bug fixes and everything required "yesterday," sometimes we all get so caught up and not realize and appreciate the hard work being put in by the team. I wanted to express my appreciation and thanks to you." ..... client CEO