6 principles that drive success in the cloud

As cloud adoption continues to permeate businesses, cloud computing is becoming the norm for many. But while cloud computing has many advantages over traditional IT computing, the nature of the cloud creates new challenges. In order to master cloud computing, consider the following principles that help drive cloud computing success.

Infrastructure as Code

In the old days, if we needed a network cable plugged in, we’d send Billy down to the data center to plug in the cable. Later, when we needed to reconfigure the network, we’d send Billy back out to do it again. The cloud-equivalent of this? Clicking buttons in the AWS console.

With the power of the cloud, we now have the option to codify our network design in code/configuration. And with both humans and machines able to reason over this code, we can ensure consistent and reliable deployments, utilizing the same automation while infrastructure is promoted between development, staging, and production environments. (Want to learn more about Serverless? Check out our video blog.)

Application Focus

Cloud adoption is best approached as an application-focused program. Unlike the physical-world, where large capital investments require centralized planning, the cloud allows infrastructure to be procured on-demand, on an application-by-application basis. This allows decisions to be made in the context of what is best for each application, fine-tuned over time, and scaled responsibly. (Want to learn more about cloud adoption? Check out our video blog.)

Automated Pipelines

Applications, both home-grown and commercial off-the-shelf (COTS), should be delivered to cloud environments through a well-defined, staged pipeline. These pipelines should start from source and include all build, test, and deployment steps. Promotion between environments happens automatically (sometimes with human approval steps) and reliably. (Want to learn more about creating a CI/CD pipeline? Download our white paper.)

Stateless & Immutable

Ideal cloud environments are stateless and immutable — allowing the rebuilding of the production environment without harming existing environments and with nearly zero downtime. In practice, there are always some stateful components. However, in a well-architected cloud environment, these components are clearly identified, segregated, and made resilient. The remainder of the environment embraces the ephemeral nature of the cloud, and updates are delivered as net-new infrastructure rather than in-place modifications. (Are you well-architected in the cloud? Check out our blog.)

Deploy Often

Many enterprise customers are accustomed to planning major projects around each deployment. Often scheduled only once per month or once per quarter, these deployments are planned in detail, and entire weekends are dedicated to the event. One of the primary goals of cloud adoption is to enable rapid deployments. To make this possible, cloud environments should be designed to enable deployments frequently, with automated, reliable and tested roll-back plans. Over time, as teams gain confidence in the deployment automation, the frequency of deployments will increase and features, changes, and enhancements will be delivered more quickly to the business. (Learn more in our blog about leveraging DevOps tools in AWS.)

Self Reliance

The goal of centralized IT organizations should be to enable application teams to be self-sufficient. While IT teams deploy baseline infrastructure, security policy, compliance tools, and automation standards, application teams should own the full lifecycle of their application. From development, to production, application teams are free to innovate, test, and deploy. (Learn more in our blog about AWS security tools and best practices.)

Are your current cloud operations teams following these principles? See how Cloud OpsPilot can help you adhere to these 6 principles and  achieve operational excellence on AWS.

Cloud OpsPilot

Tolga Tarhan

About Tolga Tarhan

As Onica’s Chief Technology Officer, Tolga Tarhan leads the technological vision of the company by pushing innovation and driving strategy for our product development and service offerings. With nearly two decades of experience leading and hands-on software development, his cross-functional expertise across different technology areas gives him unique insight into the best approaches for building complex systems and applications. In addition to facilitating technology on the executive level, Tolga has also successfully led numerous deployments involving web-based, mobile, Internet of Things (IoT), and real-time telecommunications applications. His passion for IoT in particular has driven Onica’s achievement of the AWS IoT competency, and he continues to show thought leadership in the field through his extensive speaking engagements at AWS events and educational groups across North America. Tolga also holds an MBA from Pepperdine University and helps customers strategize beyond technology solutions to improve their businesses and grow their bottom line.