The tools in the Distributed Developer's Stack make development manageable in a highly distributed environment.
The shape of software development has changed radically in the last two decades. We’ve seen many changes: the Internet, the web, virtualization, and cloud computing. All of these changes point toward a fundamental new reality: all computing has become distributed computing. The age of standalone applications has disappeared, and applications that run on a single computer are almost inconceivable. Distributed is the default; and whether an application is running on Amazon Web Services (AWS), on a private cloud, or even on a desktop or a mobile phone, it depends on the behavior of other systems and services that aren’t under the developer’s control.
In the past few years, a new toolset has grown up to support the development of massively distributed applications. We call this new toolset the Distributed Developer’s Stack (DDS). It is orthogonal to the more traditional world of servers, frameworks, and operating systems; it isn’t a replacement for the aged LAMP stack, but a set of tools to make development manageable in a highly distributed environment.
The DDS is more of a meta-stack than a “stack” in the traditional sense. It’s not prescriptive; we don’t care whether you use AWS or OpenStack, whether you use Git or Mercurial. We do care that you develop for the cloud, and that you use a distributed version control system. The DDS is about the requirements for working effectively in the second decade of the 21st century. The specific tools have evolved, and will continue to evolve, and we expect you to evolve, too. Read more…
Can we create more vibrant intersections?
For the past two decades, the web has been a vibrant intersection of design and programming, a place where practices from art and engineering both apply. Though I’ve spent my career on the programming side – you don’t really want to see the things I design – I’ve loved the time I’ve spent working with designers.
Much of that time was frustrating, because I was frequently stuck telling designers that no, 1990s HTML couldn’t produce page layouts like QuarkXPress. The medium was different, with its own complications. However, as designers became familiar with the web, and found new ways to apply it, the conversations became richer and richer. Front-end web development became an amazing place where designers and technicians could work (and sometimes curse) together. Read more…
A software company reaches into the physical world with hardware.
PayPal is a software company, but when I met with Josh Bleecher Snyder, director of software engineering at PayPal, it was to talk about hardware. He’s leading the development of Beacon, PayPal’s new hands-free payment platform. At its heart is a finger-size stick that uses Bluetooth Low Energy to connect with mobile phones and confirm identity.
Paypal’s move into hardware extends its software into the physical world — a key idea behind our Solid Conference. What was once a system confined to screens and keyboards is now part of a new set of interactions in brick-and-mortar stores.
Beacon is part of a vast PayPal stack, and Bleecher Snyder’s team solved problems with a blend of hardware and software thinking — writing code in Go that was efficient enough for Beacon’s processor to be underclocked and avoid overheating, and to anticipate attacks on PayPal’s service that might come from compromised hardware. His entire system hews to PayPal’s “don’t be creepy” mantra by quickly and permanently discarding data that isn’t used in transactions. Read more…
There are many ways a system can be like the brain, but only a fraction of these will prove important.
Editor’s note: this post is part of an ongoing series exploring developments in artificial intelligence.
Here’s a fun drinking game: take a shot every time you find a news article or blog post that describes a new AI system as working or thinking “like the brain.” Here are a few to start you off with a nice buzz; if your reading habits are anything like mine, you’ll never be sober again. Once you start looking for this phrase, you’ll see it everywhere — I think it’s the defining laziness of AI journalism and marketing.
Surely these claims can’t all be true? After all, the brain is an incredibly complex and specific structure, forged in the relentless pressure of millions of years of evolution to be organized just so. We may have a lot of outstanding questions about how it works, but work a certain way it must. Read more…
The key to brilliant factories lies in the combination of information technology and operations systems, says GE's CIO.
Solid is about the intersection of real and virtual — the idea that, through sensors, networks, and intelligent machines, information can move fluidly between software and the physical world. It’s easy to see the technical implications of that intersection — thermostats that adjust themselves and cars that can drive autonomously — but there’s also a crucial management implication as well. Just as design can be automated and optimized if it’s encapsulated in software, a company’s operations can be made much more efficient if they’re modeled digitally before being executed.
Jamie Miller, senior vice president and chief information officer at General Electric, calls that “IT meets OT” and sees the combination changing her industry. “When you take these two disciplines that used to be separate and combine them, you can start to approach engineering and design differently, operate workflow differently, make factories brilliant.” It’s a philosophy that GE uses internally and builds into the products it sells.
Companies like GE have a lot of data — digital designs for manufactured parts, human-resources records, work orders from customers, service manuals — and this data tends to converge on human operators. A field technician might receive a work order to fix a wind turbine, visit the machine, consult documentation, call a colleague for specialized advice, order a replacement part, and finally make the repair. Read more…
The enterprise IT phenomenon known as systems of engagement can empower developers in varied sectors.
Working on software development tools at IBM, I typically work with enterprise customers. These are large teams building large, complex software systems with a lot of legacy. I was excited when I had a chance to get involved with IBM’s platform-as-a-service (PaaS) initiative, which is now available as BlueMix.
The “systems of engagement” concept behind BlueMix sounded promising, but also triggered my buzzword-skepticism reflex. Ultimately, though, I’ve become convinced there is something happening here, and it extends beyond my traditional enterprise stomping grounds. It’s a projection of a trend that is occurring among makers, enterprise software development shops, and, most surprisingly, in complex systems.
The IT phenomenon “systems of engagement” is actually much bigger than that — it’s a feature of a new era of apps and composable services in software and systems, and it could even be the beginning of a fun phase of software development. Read more…