Organizations realize that in competing against digital disrupters, they must move beyond being cloud service consumers to becoming cloud providers themselves. This requires looking differently at how they tackle software engineering and involves the adoption of a cloud-native architecture. Lets take a look at some of the approaches and challenges of these new development practices and application architectures and technologies and what questions you should be asking.
Continuous Integration – Continuous Delivery
Key areas to help accelerate software delivery are continuous integration and continuous delivery. Both allow developers to build and update software quickly and frequently with the aim to build, test, and release software as speedily as possible. The goal is to be able to iterate through software versions and try new technology rapidly to determine what fits or needs to be swapped out. This lowers costs by shortening development cycles and delivering value to users fast.
A successful continuous integration and delivery approach is not easy; it necessitates cultural change across the organization. Developers need to merge new software into a repository as often as several times a day and new technologies are needed to test the code and deploy to production. Some questions to think about when adopting a continuous integration and delivery approach are:
- What are your plans for version control to track changes?
- How do you deploy software across hundreds or even thousands of servers?
- Can you monitor performance or run regular health checks to identify and eliminate bottlenecks?
Continuous delivery also requires productive tools for developers to build software. New projects need additional resources quickly, and having to submit a service ticket to IT slows down projects because it may take several months for approvals, purchasing, and configuring to stand up additional infrastructure. So ask:
- How do you replace manual steps involved in building infrastructure?
- What is the right architecture that will provide consistency between a development and production environment?
While agile development accelerates software delivery and produces software that’s more responsive to user needs, the agile business needs a culture where developers cooperate with operations to deliver the software. DevOps is about continuous change including this cultural transformation within the organization. Ask:
- How do you foster collaboration between developers and operations? Developers are goaled for building and delivering new features to stay ahead of competition. But operations need to provide a stable predictable infrastructure for production. How do you merge these intended outcomes?
- Will the tools on each side work well together? When the application goes down, is it because developers deliver code that’s not fully tested, or is operations not implementing the code correctly? How do you remove the friction between development and operations to shorten the software release cycle?
- How do you integrate security and governance to make the application secure?
Microservices is a software architecture approach using loosely coupled, independently deployable, purpose-built components where changes in one component do not affect other parts of the application. Microservices rely on APIs for the communications between microservices. This approach allows organizations to iterate frequently through software versions, easily scale, and put the software into production.
- Decomposing applications into more microservices means more complexity and more effort required to integrate microservices and compose them into business applications. What developer skills are required to build such complex integration apps?
- What is required to ensure that communication between microservices is secure and reliable?
- What are the best practices for discovering new services or shared services?
- Can the microservices auto-scale and avoid bottlenecks and accommodate more or fewer users?
- How will the organization be able to monitor and manage the health of the microservices and the APIs?
Attend Cloud Industry Luminaries Webinar
Register today and join cloud industry thought leaders on March 17th on the roundtable, “Going to Cloud? Here’s What You’ll Change and Why”. This webinar features Sam Ramji (CEO, Cloud Foundry Foundation), John Rymer (VP, Principal Analyst at Forrester Research), Joshua Mckenty (Sr. Director Platform Engineering, VMware), and Matt Quinn (EVP, Products & Technology and CTO, TIBCO Software) to explore the prerequisites of a successful adoption of cloud-native architecture.