Predictions after Github Satellite 2020
I was excited about the announcements from Github Satellite 2020 a couple of weeks ago, and after connecting a few dots with past announcements, such as Github Actions, and was mind blown with their product direction and potential to take more market share and disrupt software development.
I imagine that after the Microsoft acquisition, Github finally hired people with a strong product vision and it’s showing. They’ve been sitting on potential for a long time, and I’m happy to see they’re making great progress. The Github acquisition by Microsoft wasn’t bad after all.
Announcements from Satellite 2020
Check their announcements blog post for more details.
Codespaces
A complete dev environment within GitHub that lets you contribute immediately
AWS had all of the components to make a similar solution after acquiring Cloud9, except CodeCommit isn’t as popular as Github, and AWS isn’t as easy to use as Github.
They support VSCode, but I wouldn’t be surprised if they documented a protocol to allow integration with other IDEs.
GitHub Discussions
A new way for software communities to collaborate outside the codebase
Big projects already have their mailing lists and Discourse forums. This will impact StackOverflow and other StackExchange forums, but it won’t kill them.
Acquiring a product like Gitter might be a good move to make this a well-round product.
Code scanning and secret scanning
Helping communities on GitHub produce and consume more secure code
They can now identify potential issues based on code patterns and libraries, such as potential SQL injections.
These are big improvements on top of the CVE and secret leak inspection they already had (those have saved my teams a few times).
GitHub Private Instances
Collaboration even for stringently regulated customers
I don’t have experience with this area, and I can’t comment on what this means to the industry.
My Predictions
The recent launches are exciting for the current generation of developers, and they might change how the next generation works. Will we ever spend more than a couple of minutes onboarding on a project? Will production finally become a label instead of a separate environment?
Let me tell you about my predictions.
Github Will Dominate the Development Tools Space
Github will take more market share from companies that offer solutions for the development phase of software projects. Github Actions added CI/CD support in 2019 and is taking market share from CI/CD solutions such as CircleCI and TravisCI.
Products in the development tools space that should watch out:
-
GitLab (CI/CD, private instances, code hosting)
-
StackOverflow (project discussions)
-
Gitter (IM chat for Github projects)
-
SonarQube (code analysis, quality assurance, security)
Github Will Increase Azure Adoption
It’s clear to me that Github will integrate Codespaces with Azure and start offering integration with all of their managed services (e.g., databases, containers, serverless, etc.). Many companies are looking for off-the-shelf solutions that enable their engineers to be productive and ship fast; they don’t care about networking, load balancers, instances, or container orchestration.
AWS and GCP have great Cloud offerings, but they don’t have the product that every developer uses and loves.
Github Will Offer Production Tools
I imagine they’ll eventually take market share from solutions for the production environment too. After all, we’ve been trying to make development as close to production and Github may enable that.
Products that need to watch out:
-
Sentry (error monitoring)
- Once Github is a one-stop-shop for developers, offering error tracking makes sense. They already have Discussions and suggestions for security fixes, can you imagine suggestions for fixing errors? I’d pay for that
-
Netlify (static website deployment)
- Github already has Github Pages, building static websites isn’t too far off once you already have access to the build configuration
-
Heroku (app deployment, PaaS)
- Going from Codespaces to Production won’t be drastic eventually. Think of a “deploy” button that provisions a new environment identical to the development space but with different environment variables, this can eventually be easier than git push heroku master.
IDEs Won
Nobody cares about Vim, Emacs, or terminal-based IDEs anymore. Modern IDEs such as the ones from JetBrains and VSCode won, embrace it. Codespaces uses VSCode in the browser and allows you to develop from a cheap computer. It will be interesting if Microsoft starts pushing some specific devices for developing on Github Codespaces (e.g., Surface, Chromebook, iPad, etc.).
Related Thoughts
Local Development Won’t Exist
Cloud providers such as AWS/GCP/Azure let you provision very similar environments for development, QA, and production. Ideally, you spin up those environments with the same tools & configuration but change a few endpoints. We are not far from a world where there is no “local” environment–developers won’t build and run projects out of their laptops.
Look at the disruption of Dark, they’re challenging this notion of separate environments.
I bet projects will go from development to production without leaving Github.
Don’t Become a Dinosaur
Someone joining the industry today will have a completely different start than you and I had. They live in the Cloud, they don’t read man pages, they won’t care about what operating systems, they will write code from iPads. We need to enjoy the disruption and play with the new products. We still have long ways to go, software development still sucks in the grand scheme of things.
Data Analytics
Github renders Jupyter notebooks and it’d be cool if they hosted them, but I don’t think Github is ready for the data analytics space yet. Let’s keep an eye on Databricks, they’re doing great.
APM and Observability
NewRelic and Datadog were the top players in the Application Monitoring (APM) space, but high-cardinality events are the shiniest new object right now and there is more competition (e.g., Honeycomb). I don’t think Github will have anything in this space for a long time. I can see something similar to Sentry on Github because of its simplicity and smaller scope, though.
Monopolies
Are all monopolies bad? I don’t know, probably. It’s scary to think that Microsoft can control everything from the development hardware (Surface) to the development tools (Github) to the final product in the Cloud (Azure). It’s crazy to think that all of this can be in the hands of Microsoft. Azure hasn’t been a tremendous hit, but Github is unchallenged in the developer space. The more they add to Github and abstract the Cloud components, the better it is for Azure and Microsoft.