2023: a year of exploration - these are my top 7 priorities


Want to stay updated on all-things SRE? Subscribe to my weekly newsletter Embrace Risk and get quality article & podcasts content every Monday!

As the new year approaches, it’s important for everyone to take a moment to slow down and reflect on the past year. If you’re like me and always working to stay relevant in the software engineering industry, introducing and implementing new, cutting-edge technologies into your organization, there are plenty of exciting technologies to explore in the coming months. Now is a great time to take a step back and think about how these new technologies can help you and your organization achieve your goals.

Therefore now it’s a good opportunity to set new goals and make a plan for how to incorporate the latest technologies into your work. Whether you’re a seasoned software engineer or just starting out in the field, there are always new tools and techniques to learn and explore.

In this post, we’ll take a look at some of the most exciting technologies to keep an eye on in the coming year or priorities you can set for yourself.

twirp

Twirp Github

TL;DR: opinionated, lightweight RPC framework

Working a lot with micro-services and focusing on performant communication between them? Twirp and gRPC are both popular RPC frameworks that allow you to build efficient, high-performance microservices.

They both offer many similar features, such as the ability to define service interfaces using a high-level language-agnostic IDL (Interface Definition Language), automatic generation of client and server code, as well as support for bi-directional streaming.

One key difference between the two is that Twirp is a smaller, simpler framework than gRPC. It is designed to be easy to learn and use, with a focus on simplicity and minimalism - which I have learned to appreciate a lot living in Scandinavia. However Twirp has a more opinionated design, with a limited set of supported features. This can make it easier to understand and use, however may not be as flexible as gRPC for more complex scenarios.

Ultimately, the choice between Twirp and gRPC will depend on your specific needs and requirements. If you are looking for a simple, easy-to-use RPC framework with a small footprint, Twirp may be a good fit. It definitely is #1 on my list.

neon

Project Github

TL;DR: serverless database with first-class support for data branching

Neon serverless db is a cloud-native database that offers a simple and cost-effective way to store and manage data. With Neon’s generous free tier, you can easily create and scale a database without the need to provision any infrastructure or worry about maintenance tasks.

However, the primary reason I recommend looking further into it is the first-class offered support for data branching. This is especially helpful when dealing with a large amount of data, eg. when a team needs to work on multiple features in regards to the same dataset concurrently. Hence, you safely and efficiently develop and test changes to your database.

Cloudflare Workers

Project page

TL;DR: edge computing platform powered by Cloudflare

Edge computing has gained a lot of traction. It is a computing architecture that brings data processing and analysis closer to the source of the data, with significant improvements on the speed and efficiency of data processing.

I don’t have extensive experience with it yet and I feel that same applies to a lot of experienced SWEs out there, therefore adding this here to raise visibility. In general, edge computing is suitable for both large and small enterprises, and can be especially beneficial for businesses that rely on creating a positive customer experience. In industries where a blackout could result in significant losses, edge computing is likely to become the dominant form of computing. By bringing data processing and analysis closer to the source of the data, edge computing can help businesses quickly and effectively process and analyze data, leading to improved customer experiences and reduced downtime.

Bytebase

Project page

TL;DR: database CI/CD for developers

Bytebase is a database management system that is designed to be easy to use and scale. In fact, the CNCF Landscape includes Bytebase as the first-ever database CI/CD solution (link).

As DevOps becomes more widely adopted, teams are using tools like GitLab and GitHub to manage code and Terraform to manage infrastructure. Similarly, Bytebase is the tool to use for managing databases during application development.

Bytebase complements existing cloud provider database platforms or a company’s internal database operation platforms by helping teams use the provisioned database to build their applications. These platforms typically handle database instance level operations, such as provisioning a database instance, while Bytebase helps teams manage the database during the application development process.

WASM

TL;DR: WASM offers a way to ship lightweight containers and run them on the web alongside your JS or elsewhere

WebAssembly, or WASM, is a new binary format that enables faster and more efficient code execution. What originally came out for the web as a way to ship code faster other than JS, nowadays has evolved into a great way to compile and package applications written in a variety of languages. You can still ship applications that will run in a sandbox environment on the web, as well as elsewhere, using a common architecture.

Docker also recently announced support for WASM, which makes it incredibly easy to run fast and lightweight containers aside of your existing Linux containers (I intentionally pretend that Windows containers are not a thing).

In my opinion, there are numerous ways to benefit from this technology. From client-side software development kits (SDKs) to reducing costs in container-based systems by using fewer resources, potential applications are endless. It’s clear to me that this technology is on the verge of becoming widely popular and widely adopted. Whether you’re a developer looking to build more efficient applications or a business owner seeking to cut costs, it’s definitely worth exploring the possibilities that this technology offers.

CNCF/OSS contribution

TL;DR: the world runs on open-source. Consider contributing more to OSS projects. Need support making it a full-time job? Github launches a program for that.

Open source software plays a vital role in the functioning of our digital world. It is made possible by a global community of contributors who generously donate their time and skills to advance our shared digital infrastructure. However, for many open source developers, balancing their day job with community work can be challenging and often unsustainable. While there are a few successful examples of open source businesses, our community needs more guidance and support to help more developers make the leap to full-time work.

This is why Github launched Github Accelerator, which is a program offering sponshorship, mentorship and continuous support to eligible open-source contributors and project maintainers who want to make the leap and convert to an OSS-contributing full-time job.

This is a good reminder for myself to keep giving love to my open-source projects like helm-eks-action or awesome-containerized-security, as well as attempt to start contributing myself to some beloved CNCF projects that I deeply care about.

Low/no-code & serverless platforms

TL;DR: low or no-code platforms pop up more frequently lately, offering unique ways to ship code faster by letting you focus at the core of your app

Low or no-code platforms like AWS CodeCatalyst offer a number of benefits to developers and organizations. By reducing the need for coding, these platforms allow developers to focus on building and improving their applications rather than worrying about the underlying infrastructure and tooling. This can help teams to deliver software faster and with fewer errors. In addition, low or no-code platforms can make it easier for non-technical professionals to build and deploy applications, allowing organizations to tap into a wider pool of talent and ideas.

In order words, if used right they can help streamlining the software development process and increase efficiency, making them a valuable tool.

Projects I have under my radar to try out:

  • Grafbase, enabling very easy creation of GraphQL backends for mobile/front-end apps
  • Akeero, a platform aspiring to help devops, product and security people design and deliver secure cloud infrastructure. Maybe a good way to eliminate common misconfigurations which spread like the plague?
  • AWS’s CodeCatalyst, which looks as a great way to use blueprints to start new services or keep coding locally but run on the cloud while developing.
  • Encore.dev is not really a low/no-code platform but it provides a lot of goodies for “free” out of the box (eg. authentication) and the cherry on top? Deploys your infrastructure on the cloud.
  • Attini, offering a framework to package your Infrastructure as Code, deploy and manage the lifecycle of your app/infra by defining a “deployment plan”.

What are you working on this coming year? If you have any thoughts with cool ideas or feedback about my plans, feel free to DM me or leave a comment below!


See also