That’s why, whenever I’m helping beginners learn to code, I try to walk them through the process of solving problems in the same way I would at my job. I’d like to articulate those steps here, both for software newbies who are overwhelmed by this whole “coding” thing, and to see how it compares to the process other experienced developers use.
In general, I believe the process of solving a software development problem can be divided into four steps:
OPNFV has released OPNFV Euphrates, the project’s fifth platform release, focused on enabling service providers to accelerate network functions virtualization (NFV) transformation via open-source NFV.
A key element of the new release is that OPNFV Euphrates delivers Kubernetes integration as well as enhanced cross-community continuous integration (XCI) and new carrier-grade features such as increased virtualized networks visibility.
These elements are enabled via Euphrates’ platform of pretested, tuned, interoperable open-source NFV components. OPNFV says these components facilitate multiple use cases such as VNF onboarding, network service testing, data plane acceleration, NFVI/VIM validation, MANO qualification, test automation and creation of DevOps methodologies and operational best practices.
Increasingly, people want to contribute to projects casually—when they want to, rather than adhering to a schedule. This is part of a broader trend of “episodic volunteering” noted by a wide range of volunteer organizations and governments. This has been attributed not only to changes in the workforce, which leave fewer people able to volunteer with less spare time to share, but also to changes in how people perceive the act of volunteering. It is no longer seen as a communal obligation, rather as a conditional activity in which the volunteer also receives benefits. Moreover, distributed revision-control systems and the network effects of GitHub, which standardize the process of making a contribution, make it easier for people to contribute casually to free/libre/open source software (FLOSS) projects.
Although it may be tempting for communities to focus on habitual contributors and newcomers who may become habitual, there are several reasons to devote attention to casual contributors. First, research has shown that casual code contributors deliver benefits to a FLOSS project.
At the recent Open Source Summit in Los Angeles, Oracle made some major announcements, including joining the Cloud Native Computing Foundation (CNCF), in an effort to help ease cloud native and container adoption for the enterprise. Additionally, the company has released Kubernetes on Oracle Linux and open sourced a Terraform Kubernetes Installer for the Oracle Cloud Infrastructure. Linux.com talked with Bob Quillin, Vice President Developer Relations at Oracle, to learn more.
Linux.com: You recently joined the Cloud Native Computing Foundation (CNCF) as a Platinum Member. Can you tell us about this commitment and how it came about?
Bob Quillin: Oracle works with some of the most prominent and innovative enterprises in the world – from startups all the way up to Fortune 50 companies. Each and every one of these companies is embracing software as their engine for digital transformation to delight their customers in new ways, beat old competitors and stave off new ones, reach out to new markets, and build enduring business advantage. This translates directly to focusing on new and innovative ways to increase developer velocity and agility to fuel this engine of change.
Bob Quillin, Vice President Developer Relations
Open, container native technologies have become the tools of the trade for these developers who need to move fast, build for the cloud, but retain the flexibility to run where the business or workloads require. They are relying on open, cloud-neutral, and community-driven container-native software stacks that enable them to avoid cloud lock-in and to run in a true hybrid mode – so they can use the same stack in the cloud – for that matter on any cloud – as they run on premise. CNCF shares Oracle’s commitment and is the leading hub for this community effort – thus a natural fit for us to join up with!
Linux.com: Why is open source important to Oracle?
Quillin: Developer ecosystems grow and thrive in a vibrant and supported community – something Oracle believes in, has invested in, and continues to invest in with projects including EE4J, OpenJDK, MySQL, GlassFish, Java, Linux, PHP, Apache, Eclipse, Berkeley DB, NetBeans, VirtualBox, and Xen. This required significant investment in resources for developing, testing, optimizing, and supporting these open source technologies. As a Platinum member of the Linux Foundation and a member since day one, Oracle participates in a number of other Linux Foundation projects, including the Open Container Initiative (OCI), Xen Project, Hyplerledger, Automotive Grade Linux, and the R Consortium.
We are also committed to a number of CNCF technologies – Kubernetes in particular – but more broadly we are also leveraging many other CNCF projects including Prometheus, Envoy, gRPC, and OpenTracing. And this commitment involves engineers and contributions – something many describe as “earning your stripes” or to do the work by “chopping wood and carrying water.” This is also part of being good open source citizens by contributing to the Kubernetes project and related initiatives – from the main project to areas including security, federation, network, testing, and service catalog.
Linux.com: Another big announcement was the release of Kubernetes on Oracle Linux. Can you explain what that means for developers?
Quillin: Oracle Linux now includes Kubernetes as part of Oracle Container Services for use with Kubernetes, which is part of Oracle Linux 7 and can be used for any environment: public cloud, private cloud, and on-premise. It simplifies Kubernetes setup and deployment and is designed to easily build both the master controller as well as worker nodes, to deliver maximum scalability across a Kubernetes cluster.
Linux.com: How is Oracle itself using Kubernetes? What are some benefits? Challenges?
Quillin: Oracle has announced a new Container Native Application Development Platform with three major parts: (1) managed Kubernetes service, (2) continuous integration/deployment CI/CD, and (3) private registry service, delivered together in a frictionless, integrated developer experience. The Managed Kubernetes service – named Oracle Container Engine – benefits users by helping them create and manage Kubernetes clusters for secure, high-performance, high-availability container deployment on the Oracle Cloud Infrastructure bare metal. From our own experiences, managing and maintaining a production Kubernetes cluster is difficult, so we built a HA, managed Kubernetes control plane on bare metal that manages and maintains that for you while providing enterprise grade performance and security on our cloud infrastructure.
Linux.com: What are some interesting trends you see around Kubernetes and/or cloud adoption and how is Oracle contributing to those?
Quillin: The first major trend we see is a growing adoption wave for open, cloud-neutral, and community-driven container-native technology stacks that avoid cloud lock-in. Why? Developers and development teams are currently wedged between two bad choices. Either they have to choose an opinionated application development stack from their legacy application platform vendor – which looks “open” at first glance but in reality, consists of closed, forked, and proprietary components – well-integrated, yes, but far from open and cloud neutral. The second choice is a mind-boggling menu of unintegrated, discrete and proprietary components from their favorite cloud provider – thus signing up for layers of DIY integration and administration and slowly getting locked into that cloud vendor drip-by-drip.
What they want instead is the flexibility and choice to run in a true hybrid mode – using the same stack in the cloud – any cloud – as they run on-premise. That has driven our work with CNCF and focused our contributions in areas that help move container and Kubernetes workloads to production including the main project, security, testing, federation, conformance, and service catalog.
A second major trend involves serverless technology and helping to drive a more open, community-driven serverless project. Serverless is a category of cloud services that raises the abstraction level so that developers never think about servers, VMs, and other IaaS components. This could be the next logical evolutionary cloud model – as virtualization disintermediated physical servers and containers are disintermediating virtualization, can serverless disintermediate containers? But as with the rest of the new stack, developers are looking for a serverless approach that is open source, can run anywhere, and is container native. To that end, Oracle recently open-sourced Fn, an open serverless developer platform project available at http://fnproject.io. Fn is open (cloud neutral with no lock-in), can run locally on your laptop or on any cloud, is container native, and provides polyglot language support (including Java, Go, Ruby, Python, PHP, Rust, .NET Core, and Node.js with AWS Lambda compatibility). We believe serverless will eventually lead to a new, more efficient cloud development and economic model and this is just the beginning of that evolution.
To learn more and stay up to date on the latest developments, please visit the Oracle Developers Blog.
Oracle is a Platinum member of The Linux Foundation.
The Cloud Native Computing Foundation continues to vigorously build its portfolio of open source cloud-native technologies. CNCF’s Technical Oversight Committee voted to accept both the Docker-developed Notary trusted content framework and the specification Notary was built on, TUF, as the 13th and 14th hosted projects, respectively.
The organizations announced the new members at the Open Source Summit Europe, being held this week in Prague.
Released by Docker in 2015, Notary manages the metadata needed to ensure the integrity of container image updates, even those on untrusted networks and linked to compromised registries. The software allows developers to sign applications at every step of development, blocking malicious content from being injected into the workflow.
Many companies that provide an API also include SDKs. At SendGrid, such SDKs send several billions of emails monthly through SendGrid’s Web API. Recently, SendGrid re-built their seven open source SDKs (Python, PHP, C#, Ruby, Node.js, Java, and Go) to support 233 API endpoints, a process which I’ll describe in my upcoming talk at APIStrat in Portland.
Fortunately, when we started this undertaking, Matt Bernier had just launched our Developer Experience team, covering our open source documentation and libraries. I joined the team as the first Developer Experience Engineer, with a charter to manage the open source libraries in order to ensure a fast and painless integration with every API SendGrid produces.
Our first task on the Developer Engineering side was to update all of the core SendGrid SDKs, across all seven programming languages, …
As I discussed in my 2016 Open Source Yearbook article on troubleshooting tips for the 5 most common Linux issues, Linux installs and operates as expected for most users, but some inevitably run into problems. How have things changed over the past year in this regard? Once again, I posted the question to LinuxQuestions.org and on social media, and analyzed LQ posting patterns. Here are the updated results.
1. Documentation
Documentation, or lack thereof, was one of the largest pain points this year. Although open source methodology produces superior code, the importance of producing quality documentation has only recently come to the forefront. As more non-technical users adopt Linux and open source software, the quality and quantity of documentation will become paramount. If you’ve wanted to contribute to an open source project but don’t feel you are technical enough to offer code, improving documentation is a great way to participate.
The Napa.js runtime is in development to bring C++-like performance to Node.js.
Microsoft’s beta Napa.js runtime is offering multithreaded support for the Node.js server-side JavaScript platform, to provide the flexibility of JavaScript with speedy performance akin to C++’s.
By introducing multithreading to Node.js, the Napa.js runtime can more easily handle computation-intensive tasks, Microsoft said.
In October 2010, Mark Shuttleworth, founder of the Ubuntu open-source operating system and CEO of Canonical, announced his grand plan to build a converged Linux desktop that would work on mobile devices, desktops and even TVs. He called the effort “Unity” and poured significant financial resources into it.
Seven years later, the Unity dream is dead.
On Oct. 19, Ubuntu 17.10 was released as the first Ubuntu Linux version since 2010 that didn’t use Unity as the default Linux desktop. In a video interview with eWEEK, Shuttleworth details the rationale behind his decision to cancel Unity and why he has now put his company on the path toward an initial public offering (IPO).
When checking out the nodes of your Kubernetes cluster, you may have noticed some containers called “pause” running when you do a docker ps on the node.