Monitoring Containers: What’s Inside YOUR Cluster?

It’s not news that there is a lot of buzz around containers. As companies begin to widely deploy microservices architectures, containers are the obvious choice with which to implement them. As companies deploy container clusters into production, however, an issue has to be dealt with immediately: container architectures have a lot of moving parts. The…

Please register or log into your Free Amalgam Insights Community account to read more.
Log In Register

Cloud Foundry Provides an Open Source Vision for Enterprise Software Development

From April 18-20, Amalgam Insights attended Cloud Foundry Summit 2018 in our hometown of Boston, MA. Both Research Fellow Tom Petrocelli and Founder Hyoun Park attended as we explored the current positioning of Cloud Foundry as an application development platform in light of the ever-changing world of technology. The timing of Cloud Foundry Summit this…

Please register or log into your Free Amalgam Insights Community account to read more.
Log In Register

KubeCon+CloudNativeCon Europe 2018 Demonstrates The Breadth and Width of Kubernetes

Standing in the main expo hall of KubeCon+CloudNativeCon Europe 2018 in Copenhagen, the richness of the Kubernetes ecosystem is readily apparent. There are booths everywhere, addressing all the infrastructure needs for an enterprise cluster. There are meetings everywhere for the open source projects that make up the Kubernetes and Cloud Native base of technology. The…

Please register or log into your Free Amalgam Insights Community account to read more.
Log In Register

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.

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”

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.

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”