POSTPONED as of 2023 until further notice.
Ship your code with confidence!
Learn how to deliver value to your customers safely, reliably, continuously. For any app, any stack, any scale, deployed anywhere.
A question many friends and colleagues have asked me over the years. Engineers working in big and small companies alike, all with the same problem; getting their code automatically deployed, safely and reliably, after every code change they make.
These are the benefits you get by practicing Continuous Integration (CI) and Continuous Delivery (CD) effectively (see "The CI/CD flywheel" image at the top).
Learning how to CI/CD will give your team a productivity boost. In the long-term, you will have a competitive advantage against competitors that ship slower, break their customers more often, and continuously depend on manual processes.
I personally spent years going through existing tutorials and courses for CI/CD, but after some time I realised that a lot of them are missing the point.
Most of the online resources are repetitive, and recycle the same things over and over. How many times do we need to read "whats is CI/CD?", or "top 10 tools for CI".
Courses barely scratch the surface on advanced CI/CD techniques, and mostly focus on Continuous Integration (CI) by showing you how to build your code, run tests, and then deploy to production.
But CI/CD is so much more!
They show you specific tools, instead of teaching principles. They focus on selling you a single product, instead of teaching you how to use any product of similar purpose. They are specific to your programming language and your tech stack, your deployment platform, and many times even your cloud provider. They are so specific that in the end you don't learn, you just watch and mirror-do.
Ultimately, they give you a fish to eat today, instead of teaching you how to fish forever.
I want you to actually learn, and that's why The Elements of CI/CD is taking a different approach!
The Elements of CI/CD is a theory-meets-practice learning experience.
Each module is a combination of text, short laser-focused videos, and inline quizzes ensuring that you learn as you go. The concepts and techniques covered are timeless. They are taught in such way to be applicable to any programming language, any stack, any deployment platform.
Finally, the two self-paced workshops will provide hands-on practice to further reinforce your learnings.
Ship, Ship, Ship; but don't ship shit!
Please note that since I am currently still in the process of creating this course, more things will be added, and in rare occasions some things mentioned might not make the cut.
Some of the material that will be covered includes:
In addition to the generally applicable material above there are two 100% hands-on self-paced workshops.
Workshop—The Core pipeline
You will build a fully functional pipeline implementing all the CI/CD essentials. This is called "The Core pipeline" because for many applications, especially small projects, this is all you need.
Workshop—The Majestic pipeline
You will extend the Core pipeline with many of the advanced techniques taught in the course to accommodate complex application setups. If you want to take your pipeline to the next level, this workshop will show you how, in detail.
What I observed over the years is that no matter how big or fancy the company someone works for, they can still not know the fundamentals and useful practices on CI/CD.
On one hand, established companies already have systems in-place that take care of building, hopefully testing, and deploying their applications. On the other hand, in some companies CI/CD is a luxury. As a result, many engineers do not learn how to CI/CD.
If you answered yes to any of the above, then this course is made for you! Step up, take the course, and boost your career.
Hi there 👋 I am Lambros, the creator and instructor of The Elements of CI/CD course.
I am a software engineer by trade, and throughout my career I always gravitated towards working and fiddling with release infrastructure.
During my early years at LOVEFiLM UK (Amazon) we did manual builds of our mobile app for 3 different platforms (Android, iOS, Amazon Fire). Sometimes facing weird inconsistencies with dependencies due to differences in the local environment, and having to do manual testing to catch them.
Later, in the Amazon Profiler team I worked with a variety of environments including serverless deployments on AWS, and multi stage environments deployed in our internal EC2-like system (Apollo). My most exciting CI/CD experience came when we launched the AWS service Amazon CodeGuru Profiler. I was one of the lead engineers designing our architecture on AWS and implementing core parts of our Infrastructure-as-Code automation. We supported gradual rollouts in waves of multiple regions, with multiple staging and production environments, and with all the bells and whistles in regards to testing, canaries in and out of production, automatic rollbacks, and more.
Most recently, in the WhatsApp Dev Infra team, I contributed to the Continuous Integration system for WhatsApp Server, specifically the jobs running on every pull-request, and the ones running continuously on master. We also built FAUSTA, a fully automated system able to detect reliability, privacy, and performance regressions of a code change.
Long story short;
I went from manual releases to fully automated multi-region deployments, made several mistakes along the way, and learnt the hard way why having a high-quality comprehensive CI/CD automation system is such a huge competitive advantage for any team, of any business, of any size.
The Elements of CI/CD is all my years of experience distilled into a nicely packaged learning experience, and I trully hope that you will love it.
I am so happy to be part of your journey in learning how to deliver value to your customers safely, reliably, continuously.
By joining the waitlist you will get occasional updates on the progress of the course creation with some early access sneak peeks.
In addition, once the course is ready you will have the chance to buy using a special discount, just for the subscribers.
I promise no spam, and you can unsubscribe any time.
The Elements of CI/CD will be released in 2023, depending on how much content I decide to include. Subscribe to the waitlist using the form above to get notified when it's out, including getting a nice discount 😉
Even though the material of the course is generic, applicable to any language, any stack, any deployment platform, the workshops need to use actual tools and services. There are tens of CI/CD tools and services, and hundreds of platforms. I will choose a combination of tools where we can implement all the course techniques without needing expensive Enterprise plans, so that you can use the same techniques into your own projects.
I will update this section with the specific tools used later.
Absolutely, send me an email at [email protected]
. However, please keep in mind that just because you requested something it doesn't automatically mean it will be part of the course. I will ultimately decide if it fits within the rest of the course.
If you have a question for the course, or something else to say, you can send me an email to [email protected]
or message me on Twitter @lambrospetrou.
© 2023-present Lambros Petrou. All rights reserved.