Welcome!

Java IoT Authors: Carmen Gonzalez, JP Morgenthal, Pat Romanski, Elizabeth White, Gerardo A Dada

Related Topics: @CloudExpo, Java IoT, PowerBuilder, Linux Containers, Containers Expo Blog, Eclipse

@CloudExpo: Article

Cloud Development Using SCM 12.5

Saving money on activities related to software development and transforming state government with more status accounting

Recently, I was asked by Mr. Peter Hastings (NH DoIT Commissioner) to take a look at cloud development concepts and see if there was any benefit for our development teams across the enterprise. After some investigation I could see that if all users/developers were on one server that contained all the licenses for the tool and the assets were centralized, and the SCM tool was standardized, the state could save money in various ways on activities related to software development and transform state government with more status accounting and visibility into software development not only for state developers but contractors as well.

I met with Commissioner Hastings and explained that developers would have less of a learning curve from department to department if the tool was standardized. The only thing the developer would have to learn is the application to develop code. The tool would already be known because SCM supports all the development platforms used at the state today. The state develops in Java, multiple versions of Visual Studio, COBOL for legacy applications, multiple versions of PowerBuilder, Visual Basic, etc. The list goes on with every agency that gets implemented in the enterprise as there are new tools I was unaware of and new ways of using SCM integrated with them.

After meeting with Commissioner Hastings I was directed to place all existing servers and developers in the virtual environment on one server and on one standard tool across the enterprise to centralize the State source data assets.

I met with Richard Sliwoski, State Database Manager, and we had a brainstorming session to hammer out a strategic plan for accomplishing this directive. It's one thing to be told what to do and it's another thing completely to actually do it. The current environment has three independent SCM servers. These servers house a number of data assets and users that represent a number of agencies across the enterprise. The idea was to consolidate the three servers into one in the virtual environment. Then the three physical servers could be decommissioned. There is a cost savings to the State with this initiative with fewer SCM servers in technical support and electricity alone and a myriad of other savings I'll speak to later. This initiative would centralize and standardize the users, licenses, assets and support across the enterprise for software development activities.

I requested three virtual servers. Rich and I determined the requirements for the database and application server needs based on what we were using today and planned for an enterprise model. The three servers would be comprised of one SCM production virtual server to replace three physical production servers in use today, a development server for testing and a dedicated virtual server that will eventually house production compiles using a new tool called OpenMake. A number of OpenMake licenses are owned by the State and will be used to ensure the stability of production executables and to standardize compiles across the enterprise. OpenMake supports all platforms used at the State today. Understanding the Open Make tool is planned for a future effort at this time but again it's part of Commissioner Hastings vision of the standardization and centralization SCM initiative (SACI).

As this effort is going to impact more than 200 developers across the enterprise today with more than 300 applications housed across three servers, timing is important. Whenever you upgrade, convert or migrate it has to be timed accordingly with the release cycles of development teams so it doesn't disrupt any production releases. I have worked with all the team leads to make these efforts as seamless as possible. When the entire implementation is complete there may be 300-500 users and 1 terabyte of data assets secured and controlled for the enterprise and managed by a small team.

Once a strategic plan was developed and the virtual servers acquired I moved forward with the conversion/migration part of this initiative from dedicated servers to the virtual environment. During this same time period in addition to the conversion/migration, Computer Associates released SCM 12.5, the latest version of SCM that has a new plug-in for Visual Studio called the Visual Studio Integration Program (VSIP). So Rich Sliwoski and I made the decision to upgrade the product at this time as well. This is the second part of the initiative to upgrade to SCM 12.5. This effort encompasses installation, set-ups, plug-ins, testing of the client, testing of interfaces, testing on various operating systems, etc. It's no small effort but it made sense to create a totally robust environment for development activities.

I pulled together a great test team comprised of professional quality folks from the State. This nine-person team was made up of talented tenacious developers who had one goal in mind: to produce a better product for the state. The test team is as follows: Casey Horner (DES), Colleen Giuda (DRA), Ryan Stevens (DOE), Robert Kelley (DAS), Eric Ferren (DHHS), Terry Laderbush (DHHS), Michael Brennan-White (Treasury), Sanjay Dua (Deloitte) and Chris Taylor (DHHS). I thank all these folks and their managers for allowing them to participate in this effort; they did an incredible job at beating the tool up and making CA a better company and allowing the state to get a better tool. The tool overall integrated better in this release but I'm already assembling another beta test team to push the tool even farther. There are enhancements that developers have already been communicating to me that I want in the next release. I personally would like to see full integration.

To me when the word integration is used I believe it should be seamless. I don't want to perform activities outside the tool once I'm in it. The tools should assist you in creating a better product. That means you don't have to waste time by going somewhere else to accomplish the task at hand. Today you still have to leave the Visual Studio IDE and go to the Workbench to delete a file. That's a waste of time and should be fixed. My hope is that in the next release we come even closer to a fully integrated product. There really should be no need to open the Client if full integration is achieved. In any case I'll have a great test team assembled again and produce an even better product for the State of NH, Computer Associates and other users in the development community as well.

I have been working with Computer Associates (CA) for some time now to achieve this goal of tighter integration and with every release they listen to me a little more. One thing that has helped is having smart folks from the State of NH on the front end beta testing the tool.

These folks are good at what they do and provide clarity to the CA development team. I was very pleased this time with testing after looking back at the 12.1 release, which I soundly rejected as bad development on CA's part. Needless to say it was very disappointing from such a mature product. They heard me.

Kevin Lin's team from CA came through this time and receives higher marks with 12.5. I did not like the clunkyness of SCM 12.02 the product always felt unstable to me. This release has a much more professional feel to it. Melinda Skelton (CA), Dave Carmack (CA) and the entire CA development team really gave us a much better product. Thank you! It only benefits everyone to get the very best product that we can to support such important intellectual property and source data assets across the enterprise of all state government.

There is no reason this environment couldn't be replicated across the States. Intellectual property is a valuable commodity and it needs to be secured and controlled. Standardizing tools and centralizing assets to reduce cost and streamline software development activities makes sense on so many levels (reduction in support, fewer physical SCM servers to maintain and support, less electricity, less software to install, fewer operating systems to maintain, fewer servers to back-up, easier to maintain SCM licenses, less of a learning curve for developers from one State agency to another on an SCM tool, more formalized development, more disciplined development, status accounting now available on software development activities, common code library can be shared to reuse code, future upgrades to the client are easier, standard defect tracking being used which is centralized, etc.). All these savings add up and benefit state government in managing the cost of software development activities.

In addition to the centralized virtual environment initiative there was now the SCM 12.5 upgrade, which made sense on another level as well. The State has many Visual Studio developers and I wanted to move to the new Visual Studio Integration Program (VISP). The previous version of SCM 12.02 used SCC API calls within the Visual Studio IDE. However, Microsoft was moving away from offering the calls up to competitors because they were releasing Team Foundation as the competing tool to SCM.

They were closing the door and CA needed to figure out another mechanism for performing SCM activities within the Visual Studio IDE without Microsoft's APIs. I truly never liked the SCC anyway as I explained earlier; I've always felt it was clunky and not stable. So CA developed the VSIP. I feel better about the VSIP and the state beta test team beat it up good. It feels more stable to me and CA has more control over the VSIP to work outside of the Microsoft constraints to accomplish good SCM. CA must keep improving as this market is getting more competitive every day; once other tools of this nature figure out how to create plug-ins that integrate into every development platform seamlessly, the playing field will be leveled. Right now CA still holds a slight lead in the area of integration but tools like MKS, PVCS, and TFC are going to figure it out and there will be integration into PowerBuilder, VB, Visual Studio, Java, Eclipse, etc.

I'll digress for one more moment. I am a professional musician as well and release my own albums every year and I have noticed this trend even in the music industry as it relates to software and integration. Several years back everyone recorded on Recording Workstations. A couple of years later workstations are gone and now it's all software. Keep going down the road now it's all about the plug-ins. Plug-ins for virtual drums, virtual stringed instruments, virtual pianos, virtual synthesizers, etc. It's a huge side of music software now and the same thing is happening in software development - the SCM tool that comes along that has plug-ins that integrate into every development platform wins.

This integration allows states to standardize a tool across an enterprise because it supports whatever development platform you choose. That to me is huge because states typically have a variety of development platforms in use. In my music software I want as much available to me as possible so I can be as creative as the software can stretch me and I believe developers want the same. I'd rather have more capability than less. I'm certainly not going to refuse a Mercedes if it cost less than the Yugo.

Rich Sliwoski (State DBA Manager) and I were having a conversation and the context was placed around a secure cloud within SCM and I came full circle back to the directive that Commissioner Hastings had initially instructed, which was to explore how cloud development concepts could be used and taken advantage of at the State of NH. It is amazing how one directive can take you down many roads. The next initiative would be to create a common code library for common functionalities between agencies across the enterprise and code that could be shared, reused, understood all under the secure umbrella of SCM. SCM allows groups to be created that have certain levels of access all the way down to a process or a file. It's easier to allow some teams or many teams the ability to browse this library of shared common code. It also educates other teams on how one team versus another might be developing common functionalities.

I asked a colleague of mine Eric Ferren (DHHS) to check if any of the development teams had common code that they thought could be reused by other teams and wouldn't mind sharing. Many teams were very forthcoming and offered common code that is now available for use. The common library was born. An SCM environment was created to house various frameworks of Visual Studio, PowerBuilder, Java, Eclipse, etc. This common library is a read-only library for all developers to check out anything they can use to cut down development time on common functions (e.g., passwords, log-ins, etc.). It's not available to all users at this point; it only exists for those developers who have been upgraded to the virtual environment using SCM 12.5.

If you have a robust SCM tool with a database behind it, you can have all of your users centrally located and standardized with access to the source code, not just for their projects under source code control, but all projects under development in source control. The administrator of your tool with a process-based tool can then create user groups and assigned user groups with any number of individuals associated with it to any SCM environment under the umbrella of source code control. If you had an aggressive development schedule you can potentially use developers from another agency to help temporarily by turning on access to a project, and when the project is done turn off the access. The point is that when everyone is centrally managed you can get creative.

Developers can browse development libraries for the Visual Studio Framework, PowerBuilder, Java, etc., and have access to this library to check out common functionality code that was already developed and modify or tailor the specifics for their new development activity, rather than writing this set of code from the concept stage. I believe over time the state will save money by having code that is reusable. There are many types of code that can just be tailored rather than completely rewritten. Plug in the correct variables for your functionality and your off and running. Certainly it's not that easy but it should cut down on development time.

With one virtual environment for development, upgraded to the latest release of SCM 12.5, using the latest plug-ins for integration of development tools comprised of a shared common development library, using a standard compiling tool for production executables, defect tracking standardization and a SCM test environment for future release testing, Commissioner Hastings has transformed State Government software development for many years to come. It has been quite a directive. I have been juggling many balls in the air but I have had some good support and encountered many cooperative, collaborative, professional, disciplined developers.

I could never pull this off alone so I thank all of those who helped to accomplish Commissioner Hastings vision. It takes courage in state government to move someone's cheese and that's exactly what is being done. There are always going to be teams that don't want to play and convincing teams that this is in the state's best interest is challenging at best but with solid IT managers understanding the importance of securing this intellectual property and mission-critical data assets, centralization can be achieved.

I have been thinking of some of the ways I considered this initiative could save the state resources, time and money on development activities:

  1. All State source data assets are centralized - diminishes the overhead of physical support
  2. All processes are standardized by the use of one product to support multiple platforms
  3. Allows movement of a developers from one project to another with more flexibility
  4. Common functionality libraries can be set up for all development platforms (Visual Studio, PowerBuilder, Java, etc.) so that all developers can have access to reusable code under a SCM secure umbrella
  5. Provides transparency to all managers with a view into a life cycle as to what developers are working on in any SCM State whether it be system integration testing (SIT) or user Aacceptance testing (UAT), fewer servers means less power consumption, fewer updates to the operating system, fewer man hours of support, easier back-up time with one set of scripts, etc.

If the tool were designed to be transparent and seamless to the front-end user, this would give managers more latitude in assigning developers to a particular project. I feel you could access your developers like never before because they would be in one pool using the same methodologies as developed via the life cycles in the tool that mirror their processes on the ground. Many large organizations have too many varying methods, tools, processes and this creates silos of development, which is overall counterproductive to the whole. This makes it harder to not only know what the team(s) are doing or developing in or having access to or to interchange that skill set with another development team.

When all developers are using the same tool they can easily be provided access to another project via the secure cloud of the tool and work any project and have a much smaller learning curve by not leaving the development environment but seeing a new project in their view in the SCM tool.

I have been working in Software Configuration Management (SCM) for a few years now and I am presently, the administrator of SCM at the State of NH. SCM is a process-based Software Configuration Management (SCM) tool for managing application source code. I manage 300 plus applications housed in SCM and support 300 users using the product. The development tools we currently use are PowerBuilder PBV8, PBV11 and 12; Visual Studio 2003, 2005, 2008, 2010 and 2012; Eclipse, Juno, Cold Fusion and Java, COBOL. VB, etc.

As the Software Configuration Manager (SCM), I provide the administration of the source code management tool. This includes the entire infrastructure of the environment for development, developing life cycles, providing the best practices, procedures, processes, documentation; maintaining build machines; and the training of all the developers on proper source code management using the development tool in our development environment.

Summary

The SACI (Standardization and Centralization Initiative) is comprised of a lot of moving parts from consolidating/migrating projects from one SCM database to another in coordination with teams' release schedules and then upgrading the developers to the latest release of the SCM client. Provide them with a view into the Common code library and integrate across the enterprise the standardization and centralization of the SCM tool and centralization of all state source data assets and missions-critical assets for disaster recovery purposes and work to get more teams using the Defect Tracking tool within SCM to standardize reporting as well and get rid of the access databases, Excel spreadsheets and word documents and centralize this data as well..

The final result should look like one virtual software development server with 300-500 users and one terabyte of data assets, which would include intellectual property of various types (application code - VS, PB, Java, docs, etc., or Oracle code, SQL code, Access, etc.) and mission-critical assets.

As I bring on new agencies across the enterprise they are integrated directly into the latest SCM 12.5 virtual environment while I continue to move other agencies from the SCM 12.02 perspective to the SCM 12.5 perspective. There are a half a dozen agencies using the Defect Tracking System that is built into SCM. It is part of the product and up to a few years ago only a few agencies adopted its use and over time more teams are engaging in the use of the form. The form is a Defect, Modification or Enhancement against an application under development.

This is how issues are reported and tracked. Many are kept in Excel spreadsheets and recorded there, Access databases, Word documents, etc. The SCM Defect Tracking Form is attached directly to a CR Package so it follows the SCM activity through the entire life cycle. All I'll say at this time is that it has value to again have a centralized Defect Tracking System contained within the existing SCM tool that you already own. This offers the state a cost savings and removes all the various forms of maintaining issues being reported in the same location as needed for development activities. I can discuss the details of this part of SCM another time. I'll just mention a few advantages: You can attach multiple files to a form (Word docs, Excel spreadsheets, etc.), you can use the form as a running history of development activities against a task and you can print out a details report.

What will have been achieved across the enterprise:

  • Centralized State Data Assets
  • Centralized Data Repositories
  • Standard SCM Tool
  • Standard Compiler OpenMake
  • Standard Defect Tracking System
  • Common Code Library
  • Status Accounting and Auditing of SCM projects
  • The HART Reporting tool is on the radar

One last item I will mention is that a senior developer Robert Kelley (DAS) took the initiative to create a reporting tool and this is a brief description of the tool: "The goal of the Harvest Automation and Reporting Tool (HART) project was to become intimately familiar with the CA Harvest Software Change Manager Software Development Kit (SDK) by exercising as much of its capability as possible in a C# .NET application. The SDK was accessed by interfacing with a COM DLL provided by CA. The HART tool, when finished, will make it easier to check-in and check-out files on a project-by-project basis, provide ad-hoc reporting such as retrieving a list of all files that have been checked out for more than thirty days for one or more projects, and provide built-in reports such as looking for empty projects. The tool was also designed to separate the user interface from the business logic that makes use of the CA SDK so that the functionality seen within HART can be taken and placed within another project with a different UI."

Risks

One of the issues I keep my eye on is performance. The virtual environment was scaled correctly but with so many users and so much data there could be problems. My hope is that there won't be but it is a watch issue for me and basically has always been anyway. When you want to get your work done, you don't want any disruption with connectivity related to storage and retrieval activities.

More Stories By Al Soucy

Al Soucy is software configuration manager at the State of New Hampshire's Department of Information Technology (DoIT). In that role Al manages software configuration for dozens of PowerBuilder applications as well as applications written in Java, .NET, and COBOL (yes, COBOL). Al plays bass guitar, acoustic guitar, electric rhythm/lead guitar, drums, mandolin, keyboard; he sings lead and back up vocals and he has released 8 CDs.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
The Internet of Things (IoT) promises to simplify and streamline our lives by automating routine tasks that distract us from our goals. This promise is based on the ubiquitous deployment of smart, connected devices that link everything from industrial control systems to automobiles to refrigerators. Unfortunately, comparatively few of the devices currently deployed have been developed with an eye toward security, and as the DDoS attacks of late October 2016 have demonstrated, this oversight can ...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
As data explodes in quantity, importance and from new sources, the need for managing and protecting data residing across physical, virtual, and cloud environments grow with it. Managing data includes protecting it, indexing and classifying it for true, long-term management, compliance and E-Discovery. Commvault can ensure this with a single pane of glass solution – whether in a private cloud, a Service Provider delivered public cloud or a hybrid cloud environment – across the heterogeneous enter...
"Dice has been around for the last 20 years. We have been helping tech professionals find new jobs and career opportunities," explained Manish Dixit, VP of Product and Engineering at Dice, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Extracting business value from Internet of Things (IoT) data doesn’t happen overnight. There are several requirements that must be satisfied, including IoT device enablement, data analysis, real-time detection of complex events and automated orchestration of actions. Unfortunately, too many companies fall short in achieving their business goals by implementing incomplete solutions or not focusing on tangible use cases. In his general session at @ThingsExpo, Dave McCarthy, Director of Products...
"ReadyTalk is an audio and web video conferencing provider. We've really come to embrace WebRTC as the platform for our future of technology," explained Dan Cunningham, CTO of ReadyTalk, in this SYS-CON.tv interview at WebRTC Summit at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, Dave McCarthy, Director of Products at Bsquare Corporation; Alan Williamson, Principal...
Businesses and business units of all sizes can benefit from cloud computing, but many don't want the cost, performance and security concerns of public cloud nor the complexity of building their own private clouds. Today, some cloud vendors are using artificial intelligence (AI) to simplify cloud deployment and management. In his session at 20th Cloud Expo, Ajay Gulati, Co-founder and CEO of ZeroStack, will discuss how AI can simplify cloud operations. He will cover the following topics: why clou...
Video experiences should be unique and exciting! But that doesn’t mean you need to patch all the pieces yourself. Users demand rich and engaging experiences and new ways to connect with you. But creating robust video applications at scale can be complicated, time-consuming and expensive. In his session at @ThingsExpo, Zohar Babin, Vice President of Platform, Ecosystem and Community at Kaltura, discussed how VPaaS enables you to move fast, creating scalable video experiences that reach your aud...
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
"At ROHA we develop an app called Catcha. It was developed after we spent a year meeting with, talking to, interacting with senior citizens watching them use their smartphones and talking to them about how they use their smartphones so we could get to know their smartphone behavior," explained Dave Woods, Chief Innovation Officer at ROHA, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life sett...
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.