Microservices Expo Authors: Elizabeth White, Stefana Muller, Karthick Viswanathan, Zakia Bouachraoui, Pat Romanski

Related Topics: Microservices Expo, Containers Expo Blog, @CloudExpo

Microservices Expo: Blog Feed Post

The Golden Age of Data Mobility?

Those masters were written on every platform imaginable – from Novell Netware to Windows to Linux to Solaris

image I was working for a mid-sized enterprise as an IT manager, a project that was on the cutting edge of technology at the time, and because it was on the cutting edge, we were using a whole slew of different embedded applications and their masters to collect data. Those masters were written on every platform imaginable – from Novell Netware to Windows to Linux to Solaris – and in every language that was common on each of the platforms. Our job was to make sense of it all. The information these systems collected was billing data, they all collected similar datasets, but all in different manners and all used different ways to store the data in databases. And they all used different RDBMS’s. We had Oracle, MS SQL Server, Sybase, MySQL, IBM UDB, and a few you’ve not likely heard of. We had our own datacenter, and it was a non-stop flurry of activity just trying to consolidate the data and get it into a consistent format and centralized for billing on a single DBMS. We had custom code, Extract Transform and Load (ETL) systems, extraction systems that we then loaded the resulting data from into our central database, all just to get the data in one place.

That’s the worst case I’ve ever been involved in, but seriously every place I’ve worked has had multiple database vendors because we live in the age of purchased applications, and even when a vendor says “oh yeah, we support X, Y, and Z”, smart IT folks immediately ask which one they develop for primarily, because that’s the one that will get the first attention when updates occur, and it is the one most likely to be stable. So while you theoretically could standardize on a single database, and every enterprise I’ve ever worked at has either wanted to or said they did… But purchased applications make it highly unlikely that they ever will.

Image Courtesy of www.servermachine.net

Still, you need a way to communicate that data back and forth, and when the enterprise shifted to “buy before build”, that’s where the programmers went – to integration duties to try and straighten out communications. Your purchased (or service) shipping system needs to update inventory, which is a different system on a different database, etc. We’ve got about a decade of this, and most IT shops have a relatively stable environment that transfers data back and forth as needed, but is  high maintenance, since every release that changes tables or columns evokes a new round of integration work. And unless you’re terribly lucky, no two purchased packages are on the same update cycle.

It is not my habit to plug specific products in this blog, even F5 products. I like to keep it useful to you and figure that if you find it useful, F5 indirectly gets the name recognition. F5 has thus far allowed me the freedom to do just that, and this blog is not a sign of some major shift. While I am going to  plug a specific product, it is not an F5 product. I’m going to tell you how all of the pain caused by the above issues can be alleviated, using Oracle Goldengate. Oracle is a partner of F5, and our uber-smart Business Development and Product Management Engineering teams have been working with Oracle on the Goldengate product and how it fits into our partnership. I was brought in to produce some collateral, and after reading up on Goldengate, fell in love.

It is not often that I, after more than a decade working in IT and several years as a Technology Editor, get excited about a product, but Goldengate fits the bill. It solves a problem that other solutions (like ETL engines) could be hacked to solve, but it does it directly and simply.

Oracle acquired Goldengate in mid-2009, and because it is not my job to pay attention to this stuff, the importance of the announcement flew under my radar. That being the case, I figure it might well have flown under your radar also. The architecture of Goldengate is, like most technology, simple to understand at the 50,000 foot level, and I’ll direct you to Oracle’s Goldengate website if you need more info. You purchase two copies of Goldengate, one to be the source and one to be the destination. The source reads log files and generates a binary representation called a trail file. There is another process on the source called the data pump that then sends this data out across the network to the destination. A piece of software called the Collector picks up the incoming stream and writes it out to a new trail file, then a final process called Replicat reads this binary trail file and creates transactions from it to submit to the database.

This sounds like an optimized database replication tool, which in itself would be kind of cool but not real earth-shattering. The reason this tool caught my attention (and garnered enough excitement to warrant a blog) is that the source RDBMS and the target RDBMS do not have to be the same vendor. Yes indeed, you read that right. Think of it as heterogeneous near-real-time replication. Have a purchased application that runs on SQL Server but your core datacenter RDBMS is UDB? No problem, purchase SQL Server for the source and UDB for the target, configure and tune, and then tell the DBAs where to find the replica of the data. So you create a separate tablespace and just dump into it. If nothing else, you only have to back up the big master database.

In the case of serious integration issues with many systems on many RDBMS’s needing to talk, this is a lot cleaner than what most of us are doing. And a lot faster to adapt to changing table/column configurations. If this had been available on that first project I reference above, perhaps my team wouldn’t have grown so quickly from tiny to huge. We’d have still needed DBAs and Systems Admins and Engineers, but developer count might have been smaller since almost all of our developer hours were database integration time. We only developed a few applications, our policy was definitely “purchase if possible”. I know in mergers and acquisitions space this tool would also be a huge boon. “We need to move data from our new subsidiary into our systems” is perhaps the most dreaded M&A phrase an IT person can hear. Or second most if “and you’re in charge of the integration, be done by Monday?” is first most dreaded.

I haven’t used Goldengate, and I know there are a host of ETL solutions that could be hacked to perform this job, but they list all of the major database vendors on their supported RDMBS list, and Oracle is pretty good about providing solid support before issuing such a statement. And the relative simplicity is striking. Sure it will take installation on two (or more) systems, and configuration of both the networking component and the trail file component – it has to know what data you want replicated, and where to send that data – but that’s much less work than writing or hacking tools to do the same job.

So it is worth checking out. I know I would if I was still in IT management. Life is complex enough, let me move all of my data to one DBMS and do all of my calculations, reporting, tabulation, etc. there. And since it is essentially a replication tool, I’d also replicate it off so things like reporting weren’t bogging down the primary database.

And yeah, we have tools to make it even better. If you’re thinking of running Goldengate over the WAN, watch for updates from our BIG-IP WOM team, but I’m sticking with my general rule not to plug products.

It certainly does appear that Goldengate is going to usher in the golden age of data mobility, which would be good, data integration is one of the sticking points in highly adaptable IT.



Connect with Don: Connect with F5:
linkedin rss facebook twitter o_facebook[1] o_twitter[1] o_slideshare[1] o_youtube[1]

Related Articles and Blogs:

Read the original blog entry...

More Stories By Don MacVittie

Don MacVittie is founder of Ingrained Technology, A technical advocacy and software development consultancy. He has experience in application development, architecture, infrastructure, technical writing,DevOps, and IT management. MacVittie holds a B.S. in Computer Science from Northern Michigan University, and an M.S. in Computer Science from Nova Southeastern University.

Microservices Articles
"We do one of the best file systems in the world. We learned how to deal with Big Data many years ago and we implemented this knowledge into our software," explained Jakub Ratajczak, Business Development Manager at MooseFS, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Traditional IT, great for stable systems of record, is struggling to cope with newer, agile systems of engagement requirements coming straight from the business. In his session at 18th Cloud Expo, William Morrish, General Manager of Product Sales at Interoute, will outline ways of exploiting new architectures to enable both systems and building them to support your existing platforms, with an eye for the future. Technologies such as Docker and the hyper-convergence of computing, networking and...
Containers, microservices and DevOps are all the rage lately. You can read about how great they are and how they’ll change your life and the industry everywhere. So naturally when we started a new company and were deciding how to architect our app, we went with microservices, containers and DevOps. About now you’re expecting a story of how everything went so smoothly, we’re now pushing out code ten times a day, but the reality is quite different.
Gone are the days when application development was the daunting task of the highly skilled developers backed with strong IT skills, low code application development has democratized app development and empowered a new generation of citizen developers. There was a time when app development was in the domain of people with complex coding and technical skills. We called these people by various names like programmers, coders, techies, and they usually worked in a world oblivious of the everyday pri...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addres...
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. “Fly two mistakes high” is an old adage in the radio control airplane hobby. It means, fly high enough so that if you make a mistake, you can continue flying with room to still make mistakes. In his session at 18th Cloud Expo, Lee A...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
"Peak 10 is a hybrid infrastructure provider across the nation. We are in the thick of things when it comes to hybrid IT," explained , Chief Technology Officer at Peak 10, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...