Making enterprise automation your app development advantage

Source- enterpriseinnovation.net

In today’s agile, innovation-driven and dynamic market, automation rules! It allows companies to streamline, optimize, eliminate human error and reallocate valuable human resources to other value-adding tasks.

Automation provides the foundation for DevOps, which brings together the two separate worlds of app development and software operations. In theory, automation can improve rollout of app releases, increase deployment speed, lower failure rates, shorten the time between fixes, and reduce mean time to recovery when apps crash.

The reality, however, can be very different. In a recent Talktech roundtable, organized by Enterprise Innovation and Puppet, participants from leading companies in Singapore highlighted the challenges they faced with automation and DevOps and discussed the need for automation and standardization.

Automation becomes development advantage

Participants noted that their organizations are automating development and testing. “Which is why Twitter can put out an update quickly,” Sanjay Mirchandani, CEO, Puppet said.

For example, ABN AMRO Bank, Guilhem Vincens, Head of APAC Change & Innovation is using DevOps to automate the way they develop and roll out new changes and apps. “Automation is a big thing for us. We are using it to harmonize and update our legacy [applications] and systems.”

Both Fritz Perpignand Jr, Regional Cloud IT Director, Credit Suisse and another participant concurred, noting that their companies see automation as vital to their success and are adopting DevOps as part of the process.

“Automation is a big topic within the Group. There is a big belief that it will optimize our processes and costs,” he added.

Euler Hermes sees DevOps as helping them to address customer demands for faster changes. “In the past, we focused on a lot of customer-facing solutions [extending development cycles]. We think DevOps is a game changer for us,” said Nicholas Hee, the company’s Regional Head of IT at Euler Hermes.

“Automation of our work processes is a key drive within Capitaland’s transformation framework as the company moves towards an asset-light business strategy. Nevertheless, talent remains an important element to achieve a higher rate of success and adoption. To do so, my personal focus for the next 24 months in Capitaland is in the area of Employee eXperience (EX),” said Tony Lee, the company’s Vice President-Group Business Solutions & Systems.

Meanwhile, another participant noted that their organization is looking at IT automation for capabilities development and improving staff learning.

However, Perpignand Jr noted that resistance to change can be the biggest hurdle. “The biggest challenge is people doing the traditional way and afraid of letting go. And the other issue is accountability.”

Legacy infrastructure presents another hurdle, said Craig Chu, Chief Information Officer, Westpac Asia. “But there is so much upside to automation, and we are constantly looking to change because you cannot stand still [in business],” he added.

Making automation a platform

Puppet’s Mirchandani agreed that legacy and legacy-mindset are bigger problems for traditional companies when compared to cloud-native organizations. He likened the internal infrastructure of these companies to having “one of everything, and that’s why they’re stuck, that’s why they can only deliver on a few business needs at a time, and not respond to markets at will. We had islands of technology that made my IT team look like a museum,” Mirchandani said, referring to his previous experience as a CIO.

In comparison, cloud-native companies have only “one of anything across compute, network, storage – and those teams use only those things. And they all share DevOps in common—they use a set of practices that to use technology to bring about better business outcomes,” he said, adding that successful companies embrace DevOps “100%”.

Puppet’s Mirchandani agreed that legacy and legacy-mindset are bigger problems for traditional companies when compared to cloud-native organizations. He likened the internal infrastructure of these companies to having “a little bit of everything.”

“We have islands of technology that made my IT team look like a museum,” Mirchandani said, referring to his previous experience as a CIO.

In comparison, cloud-native companies have only “one of everything.” “And one thing they all share in common is DevOps–it is how to use technology to bring about a business outcome,” he said, adding that successful companies embrace DevOps “100%”.

Having worked at multiple companies both private and public over the years, Paul Loke, Director, Technology & Chief Information Officer, Accountant-General’s Department observed that legacy systems, especially for mission-critical apps, lengthened the development and release cycles.

Elaborating further, he remarked that “companies used to customize core products in order to achieve functionality needed by business in the past. This resulted in patch cycles taking up to six months to complete because of the testing needed to ensure that functionality was not compromised. With the evolution of technology, the question now is how we architect our on-premise systems in a manner that gives us the same agility as the cloud.”

Mirchandani replied that companies need to see automation less of a feature and more of a platform. “For automation to become a core capability it needs to be a platform.”

He explained that automation is not new. But most companies have been automating within a vendor platform—a concept that he called “snowflaking.” “So yes, you are automating, but you are automating badly.”

To make automation a platform, companies need to embrace the idea of abstraction, where you use the same standardized approach to address diverse needs within the company, explained Mirchandani.

Abstraction and standardization help to tackle a critical problem that Lim Kuo Siong, EVP and Head, Business Technology, Maybank highlighted.

“In the marketplace, some DevOps initiatives are done with speed but without sufficient framework. Various departments may drive their own DevOps roadmap. In the beginning, it may provide some agility and speed, but without adequate infrastructure and cloud-based standard established, some of these deployments will be challenged with unnecessary integration effort later and inability to sustain the lower cost to serve.”

“There needs to be an abstraction, there is no other way. If I am running an IT organization, I will make abstraction the number one process today. Our research shows that the number one cause for mission-critical outages is human error. If you have an automation tool like Puppet, flags would have lit up to make sure any change is not out of policy, and human error can be eliminated,” Mirchandani pointed out.

“You cannot have two different processes. Else it will be very expensive. Rather you should have a common approach,” Mirchandani added.

Solving the CI/CD riddle

Automation allows DevOps teams to address the most difficult aspects of application development: Continuous Integration/Continuous Delivery (CI/CD).

CI is a process for developers and testers to validate new code collaboratively. It allows teams to discover coding errors quickly, and automation plays a massive role in integration and testing. Meanwhile, CD allows a continuous release of new codes or features to production quickly after being tested. Together, CI/CD enables continuous development, testing and delivery of new codes—a process that companies like Facebook and Amazon use for fast updates.

While CI/CD has many advantages, one participant questioned the suitability of this approach for financial institutions.

“One of the challenges for FSI is the CI/CD part. The same concept may not be applicable to a financial institution. There are a lot of factors, including stringent financial regulations and the need to address customer experience. So when it comes to end-to-end automation, banks are tied up when we get to the deployment part of the process,” he said.

Mirchandani noted that this is an area where abstraction plays an important role.

“What I would say is the important first step for CI/CD is having a consistent method of integrating your software creation toolchain with your software delivery toolchain. CI has been here for a long time. CD is where we are tripping. You need to have a uniform CI and CD pipeline methodology and tools,” he recommended.

Getting CI/CD right is also essential in a market where good developers are in short supply. “It is hard to get the best developers to use a uniform set of tools. You have to give them a choice. But if you do not manage choice, you have chaos. If you are integrating code to your delivery capability, it goes the same way,” Mirchandani said.

Don’t compromise security; use analytics

Overall, participants acknowledged the importance of automation in development. Throughout the discussion, they noted the value of automation in improving their DevOps processes and addressing talent gap challenges.

But Mirchandani advised that it should not come at a cost to security.

Chong Seow Wee, Head, IT Infosecurity & Audit, The Farrer Park Company Ltd agreed. He warned that companies should not compromise security for automation. “Automation is our friend, so we need to make sure it is safe and secure.”

But many DevOps teams see security as a hindrance to software development. “The number one inhibitor to a perfect sprint is security,” said Mirchandani.

Mirchandani urged companies to make security a part of the team. “I made sure that the security guy is my business security consultant and his team will define security requirements and check them throughout the process. That way there are no surprises [at the end].”

Responding to a query on defining ROI and selecting the right tools from the participants, Mirchandani noted that in reality ROI should not be a mystery. “You go to an engineering team and ask for productivity measurements, and they will scratch their heads. Why? Because it is an art form. But we believe it should not be an art form. There should be defined capabilities for ROI that we can measure against.”

Here, data and analytics will help. “Analytics and Machine Learning will tell us where we are more inefficient today. Shame on us for not using it,” he added