First, in a series of bite-sized educational blogs, Nasstar’s Technical Practice Lead & AWS Ambassador Jason Oliver discusses one of his favourite subjects: cloud provisioning.
Watch Jason's short video explainer.
Historic provisioning
As a seasoned IT professional, I recall the days of old.
It used to be the case that newly developed business applications needed to operate on brand-new infrastructure hardware. While co-hosting applications on shared hardware was an option, many organisations avoided it due to a lack of capacity management tools, resources, and knowledge. Security and integration complexities also made this choice unattractive.
Things certainly improved with the advent of virtualisation. Logical isolation became possible and was even encouraged on shared hardware. However, as capacity within a company’s data centre diminished or approached end-of-life, procurement was the only way to source more hardware for the hypervisor software that ran on virtual machines. The same was true for infrastructure at all layers, including storage and networking.
Back then, procurement was slow and constant supply chain issues led to infuriating project delays.
Once new infrastructure hardware was delivered, even more time was needed to register, commission, secure, and manage it. This sometimes took months to complete, and that was all before it was ready for the new application.
Besides the cost of internal resources, the delays stifled innovation and increased time to market - preventing several businesses from becoming market leaders and disruptors.
Cloud provisioning
Compared to the old model of provisioning, resource and service procurement from cloud providers is much simpler. Now, the most useful tool we have at our disposal is Infrastructure as Code (IaC).
IaC refers to the managing and provisioning of infrastructure through code instead of through manual activities. It simplifies cloud provisioning by standardising all manual processes using automation.
Cost: With IaC, businesses can reduce costs and reallocate resources. By removing the manual component, employees can refocus their efforts on business-critical tasks that provide greater value.
Speed: When configuring your infrastructure, automation enables faster execution and greater visibility - helping other teams across the business work quickly and more efficiently.
Risk: Automation reduces the chances of human error and its impact, such as manual misconfiguration. Introducing automation can drastically decrease downtime and increase reliability. These outcomes help the business move towards implementing a DevOps culture, which promotes greater collaboration across IT teams.
Templates
Cloud platforms like Amazon Web Services (AWS) provide native solutions to build IaC - such as AWS CloudFormation - which enables infrastructure construction (whether it’s a small application stack or a complete data centre) in minutes rather than months. This level of automation, including all the usual complexities of connectivity, integration, storage, and security, must be seen to be believed.
Templates make it easy to reuse code so that creating an identical production environment from a non-production environment becomes trivial and eliminates the risk of human error.
Templates created as JSON or YAML files can be stored alongside application code in managed source control services like AWS CodeCommit to enable change tracking and collaboration.
These templates will help your business maintain standards, quality, and governance in the cloud.
Automation
A continuous integration and continuous delivery (CI/CD) pipeline is a process that drives software development through a pathway of building, testing, and deploying code.
CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables. Automated tests verify the software functionality and automated deployment services deliver them to end users.
Using CI/CD pipelines and leveraging services like AWS CodeStar helps to deliver applications faster and more securely while reducing risk. Integrating an IaC provisioning service and CI/CD pipeline would see any changes to the templates automatically provisioned as cloud infrastructure.
Encrypted environmental variables can be leveraged to deploy similar templates with little additional overhead. You can deviate where desired, like changing the names, quantities, and instance types in a production environment.
Ultimately, CI/CD services aim to increase early defect discovery and productivity and provide faster release cycles.
Value for partners
Using a credible AWS Premier Consulting Partner and Managed Service Provider that has DevOps Consulting credentials - such as Nasstar - can help you leverage these cloud best practices and services to help your business innovate and grow at pace while maintaining governance and security.
Talk to the cloud experts: Book a consultation at a time that suits you.