While software continues to eat the world, the philosophies and tactics used to build that software are constantly changing. Getting from idea to working software has never been easy, and companies that never needed cutting-edge expertise in software development are finding themselves out-shipped by smaller, nimbler competitors.
The solution to this has been billed as “DevOps,” a mindset in which the roles of software developers and systems operators are no longer as separate as they once were. This has changed the way that companies think about building, testing, and deploying their software, allowing them to ship updates more frequently and helping ensure reliability.
Technologies like containers and microservices are also emerging to support this mindset. Containers allow developers to package their applications with all the external dependencies they count on to make the app go and have them deployed across multiple servers, either at home or in the cloud. Likewise, microservices allow developers to break their apps down into lots of smaller pieces that can be tweaked or updated without having to monkey with the whole code base.
We invited five experts to discuss how this world is evolving at our GeekWire Cloud Tech Summit in June, in hopes of helping attendees understand how these worlds are changing and how they can implement some of these ideas in their own organizations. There are a lot of options for building modern cloud-native software right now, and that’s both a blessing and a curse: while some of these new capabilities can unlock business-changing opportunities, it can be very hard to understand what tool is best for your team.
Here’s what they had to say:
Bassam Tabbara, co-founder and CEO, Upbound
One trend that everyone is watching very closely is Kubernetes, the container-orchestration project originally developed at Google that (with a lot of work) paves the way for companies to run their applications across multiple public clouds and on-premises data centers. Tabbara’s Seattle startup is working on ways to bring storage services to Kubernetes, and he discussed how progress in this area could result in people looking at Kubernetes as the deployment layer for their apps.
Edith Harbaugh, co-founder and CEO, LaunchDarkly
Before cloud and mobile computing changed everything, the software development process was driven as much by marketing goals as anything else, but those days are gone. Big companies like Google and Facebook have shown the world that you can build better software at faster rates by continuously making small improvements to your code, and Harbaugh sketched out for the crowd how the benefits and occasional pitfalls that have arrived along with this new reality.
Padmashree Koneti, senior director of product operations, Puppet
Before you plunge into devops and agile software development, you need to make sure everyone on your team understands how these emerging concepts work and how their roles will change. This is a leadership challenge, not a technology challenge, and Koneti, who leads development teams at Portland’s Puppet, gave attendees some tips on how to have these conversations inside their teams sooner rather than later.
Tamar Eilam, IBM Fellow, next generation cloud and DevOps, IBM Research
Companies that break their applications down into microservices enjoy a number of benefits from that move, but quickly find they need something to help them manage all those microservices. A lot of people think the answer is the service mesh, and Eilam explained how Istio, an interesting service mesh open-source project developed in combination by IBM, Google, and Lyft, will evolve over the next few years.
Ying Xiong, chief architect, cloud platform, Huawei
As edge computing becomes more important, many of the technologies described above — from containers to microservices — will need to evolve to fit the constrained requirements of those operating environments. Xiong walked attendees through ways that Kubernetes can be used in edge computing deployments.