The 4 Biggest Mistakes to Avoid When Migrating to the Cloud

Picture of Andriy ShapochkaThe following article is contributed by Andriy Shapochka, a Principal Software Architect at SoftServe Inc with 17+ years experience in Enterprise and SaaS software architecture, consulting, development and Agile team leadership in the US and Europe.

Competition, desire to grow profit margins, and other business considerations keep driving software vendors towards the adoption of a Software as a Service delivery model and cloud based provisioning of their offerings. This transition can be challenging and may affect efficiency in many ways:

1. Traditional enterprise mindset. It takes time and effort to shift from a traditional data center to the elasticity and infrastructure economics in the cloud. Based on the current and predicted loads on their systems, companies should switch from up-front investments into hardware capacity to investments into smart usage of the unlimited cloud resources.

2. Operations that are not part of development.  DevOps in the Cloud is a complete automation of provisioning, monitoring, service scaling and other operations. Developers should participate in release management and should be considered an essential part of the development process at the start instead of being addressed at the end of a project.

3. Not expecting failure. Software and the operations framework to manage it should be built on the assumption that some of its infrastructure and components will eventually fail. Fault tolerance and resilience must be designed and implemented into any solution developed for the cloud from the very beginning.

4. Not eating your own dog food. A solution intended for cloud production deployment must be developed, tested, and staged on the target application cloud platform. Development, testing, continuous integration and delivery should be hosted on the production cloud platform and continue to use all of the cloud platform capabilities as much as possible. The boundary between the production eco-system and the development eco-system should become invisible for the team as well as the product.

Resources

Do you have an mistakes that you would add to the list. Let us know in the comments section below, or via @TechNetUK