You are here
Christian Beedgen is the co-founder and CTO of Sumo Logic.
Adopting microservices for modern applications is no longer a differentiator, but an imperative for organizations that want to stay relevant in today’s market. The pace of technological innovation has enterprises moving faster, smarter, and leaner, meaning the modernization of IT is required in order to move—and stay—ahead of competitors and scale the business.
While many organizations tell stories about their shift from a monolithic application to distributed microservices, the Sumo Logic story is even a bit more radical. Prior to starting Sumo Logic, my team spent almost 10 years building and scaling a similar solution, only on a monolithic architecture, delivered as enterprise software. We started Sumo Logic specifically to build the next generation of a log management system in a new way: as a distributed, scalable, multi-tenant service.
When most of us think of web APIs, we think of REST (Representational State Transfer). You send a request to a request-specific URL, and you receive the results as HTML, XML, JSON, plain text, PDF, JPEG... whatever format makes sense for the application.
In this article we’ll lay out how GraphQL is different from REST, how those differences impact API design, and why GraphQL often makes a better choice than REST for fetching data from a server.
Platform transitions are hard, moving from silicon to silicon or operating system to operating system. But there’s one thing that’s harder: moving from one SDK to another. Microsoft is in the middle of a massive transition, away from more than a decade of Win32 code and its various user experience layers to the modern WinRT and Universal Windows Platform (UWP).
That’s a huge project, with billions of PCs and Windows installations of all versions, and with code that’s built using raw Win32, with WinForms, and with WPF. Porting it all to UWP overnight is an impossible demand on an industry that’s focused on supporting existing line-of-business software with only incremental upgrades. And although Microsoft’s Desktop Bridge allows some integration with Windows 10 features, it doesn’t bring them back to software written for Windows 7 or take advantage of new user interface components that have no equivalents in older Windows SDKs.
Do you have dysfunctional enterprise data? The symptoms are pretty easy to spot, including not having a single source of truth for customers, orders, inventory, etc. Or not be able to properly secure and govern the data, thus being unable to deal with regulations.
Many enterprises are taking their dysfunctional data to the cloud, and thus their limits and problems. But you don’t have to perpetuate that dysfunction in the cloud. Here are some ways to fix that dysfunctional data when moving to the cloud.[ What is cloud computing? Everything you need to know now. | Also: InfoWorld helps you identify the right tools for the job: AWS cloud services guide • Google Cloud Platform services guide. • Tutorial: Get started with Google Cloud. ]Option 1: Fix the data in flight to the cloud
The Eclipse Foundation, which has taken over development of enterprise Java, has outlined the various projects that will make up the enterprise Java platform, which will emphasize microservices and cloud deployments.[ 15 Java frameworks that give developers a boost. • Which tools support Java’s new modularity features. | The new Java SE is coming! Discover the Java 11 JDK roadmap. • The new Java versions are here! Learn everything you need to know about what’s new in Java SE 10 and what’s new in Java EE 8. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]The projects that make up Jakarta EE Java effort
Projects in the Jakarta EE effort include:
Lighthouse 3.0, the latest version of Google’s open source tool for auditing webpage quality, features quicker audits and more precise metrics. Users should also see less variance between runs.[ What’s next for WebAssembly. • 8 projects that give WebAssembly a lift. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]
Lighthouse audits webpages for factors including performance and accessibility as well as progressive web app features. Highlights in the Lighthouse 3.0 release include:
Amazon SageMaker, a machine learning development and deployment service introduced at re:Invent 2017, cleverly sidesteps the eternal debate about the “best” machine learning and deep learning frameworks by supporting all of them at some level. While AWS has publicly supported Apache MXNet, its business is selling you cloud services, not telling you how to do your job.
SageMaker, as shown in the screenshot below, lets you create Jupyter notebook VM instances in which you can write code and run it interactively, initially for cleaning and transforming (feature engineering) your data. Once the data is prepared, notebook code can spawn training jobs in other instances, and create trained models that can be used for prediction. SageMaker also sidesteps the need to have massive GPU resources constantly attached to your development notebook environment by letting you specify the number and type of VM instances needed for each training and inference job.
Error management is an integral part of any application. Elmah (which stands for Error Logging Modules and Handlers) is a pluggable error management framework. Because Elmah can be used to attach error logging capabilities to your application without having to re-compile or re-deploy, it makes the process of detecting application errors almost seamless.
In this article we’ll look at how to implement error management in ASP.Net Core using the Elmah error management framework and Elmah.io, a cloud-based error management system that works with Elmah. Elmah.io indexes all your errors for searching and provides a dashboard for issue tracking. Plus Elmah.io integrates nicely with many other popular logging frameworks including NLog and Log4net.
Version 1.26 of the Rust systems programming language is now available. The new release is described by the project as possibly the most feature-packed upgrade since Rust 1.0. Among the many improvements, Rust 1.26 brings faster compile times and support for 128-bit integers.[ What is Rust? The way to do safe, fast, and easy software development. | Next: Learn how to get started with Rust in the InfoWorld tutorial. | Keep up with hot topics in programming with InfoWorld’s App Dev Report newsletter. ]Where to download Rust
If you already have a previous version of Rust installed via the rustup installer, you can upgrade to Rust 1.26 by entering this command:
Folks, it’s happening. Although enterprises have spent the last few years shifting on-premises workloads to the public cloud, databases have been a sticking point. Sure, Amazon Web Services can point to 64,000 database migrations over the last two years, but that still leaves millions more stuck in corporate datacenters.
But not, it would appear, for long.[ Working with data in the cloud requires new thinking. InfoWorld shows you the way: How Cosmos DB ensures data consistency in the global cloud. | Stay up on the cloud with InfoWorld’s Cloud Computing Report newsletter. ]
Ryanair, Europe’s largest airline, just signaled a significant shift in cloud migrations, announcing that it is “going all-in” on AWS, moving its infrastructure to the cloud leader. But what makes this so important is that it also includes mention of Ryanair moving away from Microsoft SQL Server and replacing it with Amazon Aurora, “standardizing on … AWS databases.”
Everyone loves insider tips. In the case of cloud computing, the tips that matter are mostly about cloud security approaches and technology.
Here are three cloud security tips that your cloud provider won't want to tell you. But I will.[ What is cloud computing? Everything you need to know now. | Also: InfoWorld helps you identify the right tools for the job: AWS cloud services guide • Google Cloud Platform services guide. • Tutorial: Get started with Google Cloud. ]Tip 1: Cloud security should be decoupled from specific cloud providers
While the cloud-native security services are handy and work well, you limit yourself when your security services come from a single provider.
Continuous integration (CI) and continuous delivery (CD) embody a culture, set of operating principles, and collection of practices that enable application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline and is one of the best practices for devops teams to implement.CI/CD defined
Continuous integration is a coding philosophy and set of practices that drive development teams to implement small changes and check in code to version control repositories frequently. Because most modern applications require developing code in different platforms and tools, the team needs a mechanism to integrate and validate its changes.
Let’s get real. Some of you got into software because your parents made you (if you grew up outside of the US) or because you figured you could make a lot of money this way. You didn’t start young because you were into computers, and you don’t really like software development. You’re always going to be mediocre. You’ll make money because our industry doesn’t know how to evaluate skill, talent, or achievement—but this article isn’t really for you.
If you got punished for taking apart electronics to see how they work. If you snuck online at all hours of the night to learn how to make a video game. If you spent precious free time learning when no one was making you and you weren’t actively pursuing a career. If you then found yourself in software as a career, this article is for you.
Google is adding the ability to securely run Linux applications inside a virtual machine within Chrome OS. The Linux support is designed for developers so they can use Chromebooks in addition to—or even instead of—their usual Macs and PCs. Google will offer Linux support in a forthcoming Chrome OS beta for its own Pixelbook line of Chromebooks.
In the Linux VM, developers will be able to build, test, and run both Android and web apps for smartphones, tablets, and laptops.[ The InfoWorld roundup: 5 rock-solid Linux distros for developers. ]
Developers will also be able to run popular editors, code in their favorite language, and put projects on the Google Cloud platform via the command line. Additionally, developers will be able to run the Android Studio IDE on Chrome OS.
API, for application programming interface, is one of those acronyms that is used everywhere from command-line tools to enterprise Java code to Ruby on Rails web apps. Unless you write every single line of code from scratch, you’re going to be interacting with external software components, each with its own API. Even if you do write something entirely from scratch, a well-designed software application will have internal APIs to help organize code and make components more reusable.
Diving a little deeper, an API is a specification of possible interactions with a software component. For example, if a car was a software component, its API would include information about the ability to accelerate, brake, and turn on the radio. It would also include information about how to accelerate: Put your foot on the gas pedal and push. The “what” and “how” information come together in the API definition, which is abstract and separate from the car itself.
Docker containers are meant to be immutable. The code and data they hold never change. Immutability is useful when you want to be sure that the code running in production is the same that passed QA testing; it’s not so useful when you need someplace to write data and persist it across application lifetimes.
Most of the time, you can address the need for data persistence by using an external database. But sometimes an application in a container just needs to use a local file system, or something that looks like a local file system.
Enter Docker volumes, Docker’s native mechanism for dealing with local storage. A Docker volume is a convenient way to allow containerized apps to write and retrieve data through a local file system or file system like interface. But Docker volumes are not a panacea for managing state. They need to be used wisely.
Google is providing a software development kit, called ML Kit, that offers the company’s machine learning technologies to developers building Android and iOS mobile apps.
Featuring a set of base APIs to build machine learning into apps, ML Kit is now in public beta. It works with the Firebase mobile development platform. (Apple has its own Core ML machine learning kit for only iOS.)[ Go deep into machine learning at InfoWorld: 11 must-have machine learning tools. • 13 frameworks for mastering machine learning • Machine learning pipelines demystified • Review: 6 machine learning clouds • Which Spark machine learning API should you use? ]
ML Kit’s base APIs cover: