Why is using a DevOps implementation plan for cloud app projects a lot like a trip to IKEA? Well, at IKEA, there's...
a vignette on display, and you envision that in your home. So you go to the warehouse -- the first disappointment -- and you gather your new furniture in its flat boxes. Then, you take it home to assemble it, and after hours trying to figure out the Allen wrenches, you realize your room looks nothing like the furniture display.
It's the same in the cloud: Maybe someone in the C-suite is leading a charge for cloud apps, and developers and enterprise architects are the ones tasked with assembling the vignette. Instead of being bottlenecked by the wrong Allen wrench, turning to a DevOps implementation plan for cloud app projects can help speed the time to release and ensure a continuous delivery chain, which is required for successful cloud apps, according to experts.
DevOps provides relief for operations professionals
The proclamation to "move to the cloud" may be made, but when it comes down to it, those that need to make it happen generally don't have a plan to allow the kind of scaling required for cloud apps. "You don't adopt a cloud because everything's great," Robert Reeves, CTO of Datical, said0. "You move there because you want more flexibility."
Jason Bloombergpresident of Intellyx
In the meantime, Agile development has already boosted the workload for operations professionals as they struggle to keep up with releases that are more frequent and increased application outputs. As a result, the software engineers build the apps, but the operations team is struggling to push releases to the cloud. The DevOps model, which is a philosophy and not a tool, supports this continuous delivery chain by finding the bottleneck, fixing it and re-evaluating periodically, according to Reeves.
Reeves recommended three specific steps to get DevOps working for the enterprise: separate the "what" from the "where" by not hard-coding hosting into the app, prioritize self-service by automating day-to-day tasks and embrace failure to find opportunities to improve. "That's DevOps: going through the system, finding failures and bottlenecks, and improving on it," he said.
DevOps is a philosophy with empathy
DevOps isn't about the tools. "It's technology-enabled, but it's about a cultural shift that focuses on better approaches for collaboration across the development and operations team," Jason Bloomberg, president of Intellyx, said. From the enterprise architect perspective, part of the challenge of moving to a DevOps implementation plan does lie in the technology, as they focus on IT portfolio management and technology-centric questions. But priorities need to shift to help the organization itself hone in on digital priorities and best practices, he said.
One of the best practices involving software developers is to have a sense of empathy for the operations team. The traditional way of deploying software is for the developers to create it, then send it to quality assurance or operations for deployment. The rapid pace required for cloud deployments can foster adversarial relationships, according to Bloomberg. However, viewing it more as a collaboration rather than a competition can help move deployments forward.
Tools can help somewhat
Like the IKEA furniture, tools can help professionals move toward a DevOps organization. However, they're not everything. "Don't fall in love with tool sets," David Linthicum, senior vice president, Cloud Technology Partners, advised. Developers may get attached to tools, but the reality is DevOps is more about process: continuous design, development, testing and deployment.
Using DevOps tactics for cloud app projects requires a comprehensive understanding of processes, code, databases and security issues, which -- much like snowflakes -- are all different. Then, developers can choose the right tools for these complex environments, Linthicum said.
If the tools chosen don't work, it's worth it to swap in something else -- or maybe not even using a tool at all. While that may be slower, it may also only be temporary, as DevOps is about constantly improving. In most cases, not everything can be automated, he added.
"Don't be afraid to change things," Linthicum said. "The tools and methodologies you select may not work after a while. This is going to be a learning process."
Linthicum advised splurging on training, because it's necessary to understand the intricacies behind the methodology before a wider implementation of DevOps throughout the organization. Additionally, it's critical to understand the complexity abstracted away from the core processes and adhere to micro-processes, backing the appropriate technology into it.
Ultimately, using the DevOps model for cloud app projects means that different parts of the organization that used to work in siloes are going to have to come together to build cloud apps. While it's more than just selecting tools, it does take Agile development to the next level and allows enterprise architects and software developers to meet the demands of the organization.
Use DevOps for quality software production
Unified DevOps for ALM
Start a new brew of Java with DevOps