InfoQ Homepage Development Content on InfoQ
-
Wiring Microservices with Spring Cloud
As we move towards microservice-based architectures, we're faced with an important decision: how do we wire our services together? Components in a monolithic system communicate through a simple method call, but components in a microservice system likely communicate over the network through REST, web services or some RPC-like mechanism.
-
Everything Is “Lock-In”: Focus on Switching Costs
Coding in Java, buying SAP, deploying OpenStack, and using Amazon Web Services: each one introduces a type of lock-in. However, it makes no difference how hard you try- some form of lock-in is unavoidable. What matters most is understanding the layers of lock-in, and how to assess and reduce your switching costs.
-
Living in the Matrix with Bytecode Manipulation
In this article we take a deep dive into two popular bytecode manipulation frameworks: Javassist & ASM. Bytecode manipulation is used in Java libraries like Spring and Hibernate, most JVM languages and even your IDE. For this reason, and because it’s really quite fun, it is a valuable skillset to learn for performing tasks that are otherwise impossible. And once you learn it, the sky's the limit!
-
InfoQ at 10
We know that software is changing the world, and we’ve come to see our impact as accelerating the software side of that change. With that passion, we started InfoQ 10 years ago, in the context of some unusual beliefs and concerns.
-
A Reference Architecture for the Internet of Things (Part 2)
This is the second article of a two article series in which we try to work from the abstract level of IoT reference architectures towards the concrete architecture and implementation for selected use cases. This second article will show how to apply this architecture to real world use cases - one being in the field of smart homes, one in the field of insurance.
-
The Volcano - Prioritize Work for Multiple Teams & Products
It is always a challenge to pick the correct priorities. Which one of work item A, B or C shall you do first, and why? Tomas Rybing presents the Volcano, a tool to visualize and prioritize work for multiple teams working with several products.
-
Martin Van Ryswyk on DataStax Enterprise Graph Database
DataStax recently announced a new product called DataStax Graph to store graph data models. It's based on open source Titan graph database and uses Apache Tinkerpop framework's Gremlin query language. InfoQ spoke with Martin Van Ryswyk about the new product.
-
Outsourcing Software Development to a Global Talent Pool: World of Help or World of Hurt?
Going offshore for software development: world of help or world of hurt? When outsourcing software development the country options are endless: India, China, Malaysia, Mexico, Indonesia, Brazil, Bulgaria, Egypt, and on and on…. what’s the right choice? The decision-making process is not easy and it shouldn’t be. Yousef Awad presents a checklist of key elements to consider.
-
Big Data Processing with Apache Spark - Part 4: Spark Machine Learning
In this fourth installment of Apache Spark article series, author Srini Penchikala discusses machine learning concepts and Spark MLlib library for running predictive analytics using a sample application.
-
OpenStack in Action Review and Q&A with the Author
OpenStack in Action is a new release from Manning that aims to introduce readers to the OpenStack platform for cloud computing (IaaS). InfoQ has interviewed V. K. Cody Bumgardner, author of the book.
-
Four Benefits of Switching Your Contact Center Agent Software to WebRTC
Contact centers around the globe are running two sets of expensive software: CRM and Real-Time Communications. Tsahi Levent-Levi shows how, by integrating WebRTC, companies can become more flexible and save money. Using only a browser, with no additional software or plug-ins to install, call centers can distribute their work force around the globe.
-
Microservice Threading Models and their Tradeoffs
A microservice's efficiency and resource consumption patterns are dramatically affected by its threading model. Choosing the correct model for your solution is a basic requirement for success. Glenn Engstrand investigates multiple options for a service's execution life-cycle, gives examples of the benefits and drawbacks for each choice, and provides recommendations for each model's implementation.