Posted on 1 Comment

Managing IT Complexity through Infrastructure as Code (IaC)

Tom Petrocelli, Amalgam Insights Contributing Analyst

(Note: This blog is an excerpt from Tom Petrocelli’s current report: Infrastructure as Code: Managing Hybrid Infrastructure at Scale)

Key Stakeholders: CIO, Sysops, System Admins, Network Admins, Storage Admins, IT Operations Managers

Why It Matters: New software architectures continue to add complexity to it infrastructure management. At the same time, organizations expect IT to deploy applications faster. New tools are needed for IT operations to perform in this environment.

Top Takeaways: Infrastructure as Code, or IaC, offers a path to faster and less error prone management of new software infrastructure at enterprise scale. IaC abstracts the myriad of ways IT professionals interact with systems into a simple, plain text, code file.

Infrastructure as Code

Today, IT is continuing to virtualize infrastructure even more with container clusters. Containers often fulfill the same role as a server, even though they do not require an entire stack including an operating system. Like a server, they are a unit of computing that houses services that comprise an application. Unlike a server, containers often contain a single purpose service called a microservice. Microservices architectures lead to a large number of containers, within virtual servers, running on physical or cloud servers. For large enterprises, this new model expands the number of virtual, physical, and cloud devices under management, adding complexity to the infrastructure.

Managing tens of thousands of heterogeneous nodes, where only a few thousand, fairly homogeneous ones existed before, represents a massive challenge to IT. This is further compounded by the presence of (often more than one) cloud services alongside on-premises servers. To add to the challenge, new development methodologies have increased pace of modern software development which constantly alters the IT infrastructure.

To cope with this greatly enlarged management burden, IT managers and professionals are increasingly turning to Infrastructure as Code (IaC). IaC is part management technique and part toolset. The philosophy behind IaC is to write code that defines the desired state of the infrastructure. While this could be carried out using shell scripts or homegrown programs, increasingly IT practitioners are turning to purpose-built tools that allow for infrastructure to be defined as a program (i.e. code) and then executed by automation servers, often with the help of local commands and agents on the physical and virtual servers or service calls of cloud services.

Key Infrastructure as Code Functions and Challenges
While provisioning, configuration, and code deployment may be the most common functions of IaC, it is hardly limited to such a small set of capabilities. IaC can accomplish most of what sysops, network administrators, and other IT operations professionals have to do by hand, via shell scripts, or through management consoles through the following capabilities.

While there are some clear advantages to DevOps, there are also some issues with the approach. Some of the problems are technical but many are social or managerial. A mixture of IT silo politics and skill deficits may lead to a toxic DevOps team environment that no amount of technology can overcome. However, problems associated with IaC itself are relatively straightforward and can be managed with training, support, and planning. Some of the standout issues for IaC include:

Key IaC Vendors

There are a number of vendors offering products in the IaC space. While they all offer the basic functions of provisioning, updating, and configuration, many have a number of other features as well. No product offers the full list of these features, so it is important to choose a vendor based on the automation priorities of the organization.


*Participated in Amalgam’s research process

Conclusion

As enterprise IT infrastructure has evolved from a simple, single mainframe to the highly distributed, hybrid cloud, multi-cloud, microservices architecture, managing a datacenter has become terribly complex. Along the way, the tools available to sysops and admins have likewise evolved into entire management platforms, the so-called single pane of glass.

Posted on 2 Comments

GraalVM is a Multi-Language Compiler Technology to Watch

Tom Petrocelli, Amalgam Insights Contributing Analyst

Oracle Labs has recently (April 17, 2018) announced the 1.0 release of GraalVM. GraalVM is an open source language virtual machine(VM), much like the Java VM or Node.js virtual machine. What makes GraalVM interesting, is that it can execute code written in a variety of languages including Java (and Java VM based languages such as Scala, Groovy, or Kotlin), R, JavaScript, along with Ruby, R, and Python. This is a departure from mainstream VM designs. It is much more common to have separate and specific VMs for languages such as PHP or Python. In some cases, a language will byte compile to a different virtual machine, for instance Clojure compiling to the run on the Java VM. Those languages are purpose built to run on a specific VM. GraalVM, on the other hand, runs code written in languages originally built for their own VM.

This approach offers advantages over the traditional approach of one language, one VM. For example, any program that is compiled for GraalVM can share libraries with other programs that is likewise compiled. Developers can write in different languages but still maintain interoperability and code reuse across them all. This also allows developers to continue to use code written in “older languages” while migrating to a new one. Similarly, it allows the continued used of majority language, such as Java, while leveraging languages that are built for specific purposes, such as R. Another advantage of GraalVM is ubiquity. One VM for multiple needs means fewer VMs to provision and update across IT servers and containers. That can be a serious time saver and makes maintaining large and complex systems a bit easier.
Continue reading GraalVM is a Multi-Language Compiler Technology to Watch

Posted on Leave a comment

Blockchain! What is it Good For?

Tom Petrocelli, Amalgam Insights Contributing Analyst

Blockchain looks to be one of those up and coming technologies that is constantly being talked about. Many of the largest IT companies – IBM, Microsoft, and Oracle to name few – plus a not-for-profit or two are heavily promoting blockchain. Clearly, there is intense interest, much of it fueled by exotic-sounding cryptocurrencies such as Bitcoin and Ethereum. The big question I get asked – and analysts are supposed to be able to answer the big questions – is “What can I use blockchain for?”
Continue reading Blockchain! What is it Good For?

Posted on Leave a comment

Providing a Rapid Response to Meltdown and Spectre for Hybrid IT

Tom Petrocelli, Amalgam Insights Contributing Analyst

I have a new paper out called “Providing a Rapid Response to Meltdown and Spectre for Hybrid IT.” It’s sponsored by CloudPassage, and the paper is free from them.

This paper is designed to help key stakeholders mitigate the risk of Meltdown and Spectre, which will be especially difficult in hybrid or mixed systems.

There are billions of PCs and mobile devices affected by Meltdown and Spectre. That’s a big problem for OS vendors. For enterprise IT, there is also the need to deal with hundreds of millions of host servers and the virtual machines running on them. Meltdown and Spectre highlight just how difficult it is to update and patch hybrid systems with hosts, virtual machines, containers, and cloud servers in the mix. Don’t despair! There are solutions.

Take action by downloading my paper, underwritten by CloudPassage: “Providing a Rapid Response to Meltdown and Spectre for Hybrid IT.”

Posted on 5 Comments

As API Management Problem Grows, Informatica Jumps into the Market

Tom Petrocelli, Amalgam Insights Contributing Analyst

API management is a necessary but boring practice. As developers make use of a mix of public cloud, purchased or open source libraries, and homegrown services, the number of APIs used by developers quickly renders pouring through documentation impractical.

Microservices, usually accessed via RESTFul APIs, cause API calls to rapidly proliferate. Even modest-sized microservices-based systems experience API overload quickly. Agile development can exacerbate the problem of understanding and using APIs. The rapid pace of Agile, especially Scrum, leaves little time for proper documentation of APIs. Documentation often takes a back seat to continuous deployment.
Continue reading As API Management Problem Grows, Informatica Jumps into the Market

Posted on 1 Comment

What’s On Tap for 2018 from Tom Petrocelli

Tom Petrocelli, Amalgam Insights Research Fellow

As the year comes to a close, I have had the opportunity to reflect on what has transpired in 2017 and look ahead to 2018. Some of my recent thoughts on 2017 have been published in:

These articles provide a peek ahead at emerging 2018 trends.

In the two areas I cover, collaboration and DevOps/Developer Trends, I plan to continue to look at:
The continued transformation of the collaboration market. [Click to Tweet] I am expecting a “mass extinction event” of products in this space. That doesn’t mean the collaboration market will evaporate. Instead, I am looking for niche products that address specific collaboration segments to thrive while a handful of large collaboration players will consume the general market.
The emergence of NoOps, for No Operations, in the mid-market. [Click to Tweet] The Amazon push to serverless products is a bellwether of the upcoming move toward cloud vendor operations supplanting company IT sysops.
2018 will be the year of the container.[Click to Tweet] Containers have been growing in popularity over the past several years but 2018 will be the year when they become truly mass market. The growth in the ecosystem, especially the widespread availability of cloud Kubernetes services, will make containers more palatable to a wider market.
Integrated DevOps pipelines will make DevOps more efficient… if [Click to Tweet] we can get the politics out of IT.
Machine learning will continue to be integrated into developer tools [Click to Tweet] which, in turn, will make more complex coding and deployment jobs easier.

As you know, I joined Amalgam Insights in September. Amalgam Insights, or AI, is a full-service market analyst firm. I’d welcome the opportunity to learn more about what 2018 holds for you. Perhaps we can schedule a quick call in the next couple of weeks. Let me know what works best for you. As always, if I can provide any additional information about AI, I’d be happy to do so!

Thanks, and have a happy holiday season.

For more predictions on IT management at scale, check out Todd Maddox’s 5 Predictions That Will Transform Corporate Training.

Posted on 1 Comment

4 Key Developer Responsibilities Where Machine Learning Can Help

Note: A version of this post was published to Tom’s Tech Take II

As the fall season of tech conferences starts to wind down, something is quite clear – machine learning (ML) is going to be everywhere. Box is putting ML in content management, Microsoft in office and CRM, and Oracle is infusing it into, well, everything. While not a great leap forward on the order of the Internet, smartphones, or PCs, the inclusion of ML technology into so many applications will make a lot of mundane tasks easier. This trend promises to be a boon for developers. The strength of machining learning is finding and exploiting patterns and anomalies. What could be more useful to developers?

Here are some examples:
Continue reading 4 Key Developer Responsibilities Where Machine Learning Can Help

Posted on Leave a comment

Microsoft: The New Player in Quantum Computing

Doppelspalt
Doppelspalt

On the week of September 25th, 2017, Microsoft made a huge announcement at its annual Ignite and Envision conference. Microsoft has become one of a small number of companies that is demonstrating quantum computing. IBM is another company that is also pursuing this rather futuristic computing model.

For those who are not up-to-date on quantum computing, it uses quantum properties such as superposition and entanglement to develop a new way of computing. Current computers are built around tiny electron switches called transistors that allow for two states, which represent the binary system we have today. Quantum computers leverage quantum states that give us ones, zeros, and combinations of one and zero. This means a single qubit, the quantum equivalent of a bit, can represent many more states than the bit can. This is, of course, a gross oversimplification but quantum computing promises to deliver more dense and exponentially faster computing.

There are a number of problems with practical quantum computing. The hardware is still in a nascent stage and must be cooled to a temperature that is quite a bit colder than deep space. This makes it much more likely that quantum computing will be purchased via a cloud model than on-premises. The other inhibitor is that there is no standard programming model for quantum computing. IBM has demonstrated a visual programming model that shows how quantum computing works but is clearly not going to be a serious way to write real programs. Microsoft, on the other hand, showed a more standard looking curly bracket programming language. This application layer makes quantum computing more accessible to existing programmers who are more used to the current model of computing.

When quantum computing becomes practical – I would predict that is at least 5 years away, perhaps longer – it won’t be for everyday computing tasks. The current model is already more than adequate for those tasks. It’s also unlikely that the capabilities of quantum computers, especially the information dense qubit, and costs will have much a place in transactional computing. Instead, quantum computing will be used for analyzing very large and complex data sets for simulation and AI. That’s fine because the AI and analytics market is still new and the future needs are not yet completely known. That future computing needs is what quantum computing is meant to address. Even today’s big data applications can stretch computing capabilities and force batch analytics instead of real-time for some use cases.
Microsoft’s entry into what has been an otherwise esoteric corner of the computing world signals that quantum computing is on the path to being real. It has a long way to go and many obstacles to overcome but it’s no longer just science fiction or academic. It will be years but it is on the way to becoming mainstream.

Note: This post was originally posted on Tom’s Take

Posted on 1 Comment

Microsoft Infuses Products with Machine Learning and the Social Graph

This past week (September 25 – 27, 2017) Microsoft held its Ignite and Envision Conferences. The co-conferences encompass both technology (Ignite) and the business of technology (Envision). Microsoft’s announcements reflected that duality with esoteric technology subjects such as mixed reality and quantum computing on equal footing with digital transformation, a mainstay of modern business transformation projects. There were two announcements that, in my opinion, will have the most impact in the short-term because they were more foundational.

The first announcement was that machine learning was being integrated into every Microsoft productivity and business product. Most large software companies are adding machine learning to their platforms but no company has Microsoft’s reach into modern businesses. Like IBM, SAP and Oracle, Microsoft can embed machine learning in business applications such as CRM. Microsoft can also integrate machine learning into productivity applications as can Google. IBM can do both but IBM’s office applications aren’t close to having the market penetration of Microsoft Office 365. Microsoft has the opportunity to embed machine learning everywhere in a business, a capability that none of their competitors have.
Continue reading Microsoft Infuses Products with Machine Learning and the Social Graph