Best Practices for Cloud Engineering
Cloud computing is one of the most exciting technology shifts happening in the industry today. ISVs across the globe have started turning to cloud computing to reduce costs, shorten time-to-market, scale up or down instantly to meet predictable or unpredictable spikes in demand and expand their market share with innovative products.
While cloud computing offers many advantages, each business must look carefully at analyzing risks associated with regulatory compliance, legal issues, security, system uptime, and the cost of migrating a legacy system to the cloud, otherwise it may outweigh the potential advantages. At the same time, it would be a very painful journey for ISVs moving to cloud based services (SaaS) if their existing engineering processes are not able to support the highly demanding delivery model of cloud services.
Typically, cloud based services demand shorter release cycles with feature enhancements and hot fixes for better customer satisfaction. As cloud based services are delivered over the Internet, performance, scalability and availability (ex: 99.999) parameters are very key to the success of the business. There has to be a very rigorous QA process to ensure that all these parameters are met by the product architecture. It is also very critical to ensure the higher maintainability index for the product to reduce ISVs’ total cost of ownership (TCO).
Here are a few engineering best practices that ISVs need to adopt to be more successful in a cloud business model.
- Avoid a Big-Bang approach and adopt an Iterative and agile methodologies
- Develop the strategy to migrate the customers and their data early in the cycle
- Evaluate Cloud Infrastructure suitability for rationalizing development and test infrastructure and improve the time to market
- Plan the performance, security, reliability & availability testing early in the cycle and have more weight age to these testing cycles
- Adopt an integrated application life cycle management tool to have higher visibility, traceability and control on the delivery
- Adopt daily build & continuous integration process to ensure higher quality
- Automate the QA Infrastructure setup and processes to minimize the provisioning time
- 100% automation of regression test suites to reduce release cycle time
By Ananta Shamal of Symphony Services
Symphony Services is a leading global specialist providing software product engineering outsourcing services. The company’s focus on Engineering Outcome Certainty™ drives R&D results that shorten time-to-market for new products and delivers greater innovation to compete in a global marketplace. Independent software vendors (ISVs), software enabled businesses and companies whose products contain embedded software partner with Symphony Services to achieve their business goals.