Infrastructure Automation & DevOps
Infrastructure Automation and DevOps are popular approaches for systems and applications within most organisations. The ability to deploy infrastructures and solutions in cloud, on-premise or hybrid, automatically, within a matter of seconds, is an important and valuable investment. Some of the biggest costs of major change projects in recent years were in the provision of infrastructure and associated operations. The investment now in being able to leverage DevOps practices and associated tooling represents incredible value by comparison.
DevOps is a mindset and a cultural practice involving the collaboration of developers and operational engineers in order to deliver and operate systems at scale. It’s about the creation and operation of systems, coming together into a single practice that plans and builds for service life. Infrastructure Automation refers largely to the tooling for automatic provisioning, deployment and testing that is typically adopted in a DevOps practice.
The evolution of virtualisation and in particular cloud, has led to many new concepts within this space, most notably
- Continuous Integration
- Continuous Delivery
- Continuous Testing
- Continuous Deployment
- Infrastructure as Code
- Disposable Infrastructure
- Configuration Automation
All of these concepts feature within the DevOps space and make it easier to follow the DevOps practice.
Reduced deployment time
Consistency in standards
Greater resilience and up time
Implementation of Infrastructure Automation & DevOps
A key feature of a DevOps approach is leadership buy in. DevOps is a journey, help and support will be needed along the way. It is important to try and deliver quick, positive changes. Cost-saving or fixing critical security issues are excellent candidates to begin to build a business case in order to get management to take notice and begin a journey into DevOps.
DevOps is a culture, therefore it’s important to prepare for this shift in behaviour and thinking. This cannot be tackled solely with a list of new policies and procedures, there should be some education and internal marketing activities organisation-wide to influence the adoption of the thinking. A capability maturity model can help here, forming a 360 view of the DevOps culture and organisational readiness for change. It is important to break down existing barriers between development and operations, often a cross-working initiative is established and embedded in order for each team to see the value that the other brings, and cross pollination of skills.
Once the organisation is ready to accept DevOps, the focus turns to making the team successful. A continuous integration and continuous delivery platform is a common start to the practice. The creation of this platform and the associated pipelines can essentially enable the developers to “own” the solution through to production as opposed to “handing off” to operations to try and solve issues in the field. Operations subsequently have the capability to automatically test and deploy within a very short period of time, therefore delivering the basics of a DevOps practice.
Continuous testing and continuous deployment are now a natural evolution. These two capabilities enable testing and deployment throughout the delivery pipeline at various stages as opposed to at single points. This can be further augmented by continuous monitoring to all feedback as early as possible to help provide focus and save time and effort.
Ultimately moving from traditional software development to DevOps is going to be a challenge, and not just to the teams, but right across the organisation. However, as long as best practices are followed in creating continuous integration, continuous delivery, continuous testing and continuous deployment, then organisations can reap significant rewards very quickly.
Common Mistakes Made in Infrastructure Automation and DevOps
Tackling too much at once
Achieving Automation, Disposable infrastructure, Continuous Integration, Continuous Delivery, Deployment, Monitoring & Alerting, Automatic Tests, and a Security Fortress takes time. Focus on one thing at a time, and at your natural cadence, otherwise you will be overwhelmed by many challenges at the same time.
Tempted to adopt new technologies
The goal is always adding value to the business, not adding new technology. You will be frequently tempted by new frameworks, tools and architectures. While it is important to keep an eye on trends, focus on what is beneficial for you.
Lack of time/resources to do it properly
The best mitigation to this common mistake is to be aware of it. No company has time to explore all of the options and consider every angle. Even if that could be done, the best one today won’t be the best one in a month or in a year. Explore the options you can and find a balanced solution that will make the system ‘better than before’ at ‘reasonable cost’. This cycle can be repeated as many times as it is needed.
Being blind to failures
Systems are not built to fail or malfunction, but they do. Imagine having a quick way to check the health of the system, and highlighting the faulty pieces. That dream is called observability, and having even something very basic is an effort that will pay off very soon.
How Can Chakray Help?
Chakray can advise on DevOps approaches and automation, or provide fully functioning DevOps teams as a service. We have operated in many different capacities in this area and can provide a wealth of experience across many industries.
Chakray can advise on technology choices and implementation in this space and are happy to provide health checks or validation on choices already made. We have a long standing DevOps practice within Chakray who can train your teams in best practices and help your organisation achieve the benefits of DevOps and Infrastructure Automation.
You May Be Interested In…
Further information and reading on subjects related to this page.