The Cloud is here
There is no getting around “The Cloud”. We all know it, everybody is doing it!
And, let’s face it, if you are looking to get away from the hardship of having to go through troublesome and boring processes to get a new server or a new rack installed in your data center, this might help.
- How much new hardware to buy?
- How to ensure the best price?
- Do we have enough physical storage?
- What about the power required?
- Can we get enough cooling capacity?
- What are the utilization rates?
- And so on…
Cloud fixes that for you…
And there is more! Because most of the topics above are pre-operating considerations. Have you thought about Day 0, Day 1, and even Day 2 activities that need to be considered and performed?
Running your IT operations is like running a small company within your company:
- Data management
- Internal and external users
- (Externe) high availability
And, to what extent does it support your core business; the piece that distinguishes your company from your competitors? These might just be things you do not want to spend your specific knowledge and resources on.
Everything “as a Service”
- As you conclude that “going Cloud” might be a good fit for you, the options come…
Your CSP will want to go all in. Because, let‘s face it, the more you consume, the cheaper the bits become. And it is all so neatly integrated. “A single pane of glass” for everything you need. Super flexible and super easy.
Remember the saying: “There is no such thing as a free lunch”?
It’s probably not surprising that this is also true with Cloud. Apart from the apparent things, you might have already taken into account; the hidden costs… there is much more to be considered. One of those elements is the reason for this blog post. In your specific case, there might be more and there might be others to consider.
From simple to hard
Your Cloud provider was also not born yesterday. They know exactly what is required for a complete IT infrastructure. Ranging from very simple services to very complex data architectures. To support their customers the best they can, your Cloud provider has developed a broad range of services that includes every aspect of a modern IT infrastructure.
And, let’s face it, this is very convenient. There is one company you need to deal with, one single invoice to pay, which you can probably “pay as you use” and only pay for the resources you are actually using –remember those utilization rates we talked about earlier?–
This might just seem like the perfect solution. A complete puzzle with all the pieces fitting very snugly together. All the individual components have been tried and tested and made to work together. One single interface that lets you monitor and administer the entire complexity of your operation.
With that, you are done! Or, are you?
More than meets the eye
People who have been reading up on s’more of my articles might know what comes now.
Indeed! Please, step back and consider what you are trying to accomplish.
What was the original reason you started looking at Cloud? I can bet your dollars to doughnuts that it was not to get you MORE work. It will also not have been an initiative to spend more money or to bring more complexity to your life.
Let me share some considerations below that might help you to put this abstract notion of Cloud into context.
And, the abstract Cloud
The Cloud might not be what you think it is, or even where it is. Apart from the old saying “Cloud is just your stuff on my computer”, there are more nuances and distinctions to be made.
If you do some research in the area, you quickly start to realize that it comes down to resources, which should not
come as a surprise.
- CPU’s (or fractions of them)
- Memory and all kinds of shapes and sizes
- Disk space for storing things, slow and quick
- Bandwidth to do your reads and writes
- And many more knobs and dials
This is fantastic news because all of these let you tune your environment to fit your specific needs! On the other hand, each knob and dial comes with a cost and there are a good amount of fixed ratios. Perhaps one of the more conspicuous (especially in our trade; databases) is the ratio of storage space and bandwidth. Running a rather small database with an extremely large workload might become a head-scratching exercise. Pitfalls to be aware of, that might catch you off guard.
From A to B, and back again
WHY! I mean, why are you looking at the Cloud to begin with… Most probably because you got an assignment, right? But WHY! There is a reason behind the assignment. Is your company looking to save money or perhaps to become more flexible… But why?
For me, there was one distinct moment that I started to think about “Why Cloud?” and it was the keynote by Turing award winner, Dr. Mike Stonebraker. In this keynote there were (among many others) two key points:
- Cloud is in your future
- Cloud is for (extremely) flexible workloads.
We are talking about 1, simply because it is in your future. It is everywhere, it is all the time. You are reading this blog post from the Cloud after it was written in the Cloud. Everything that has such a commodity stature as writing and publishing “content”, you do in the Cloud. The small village that is required to transform my thoughts into something readable collaborates so much more easily in the Cloud, with contributors from multiple countries.
The product; is an article that discusses also the second point about flexible workloads. And, I don’t want to talk about flexible workloads; I want to talk about the other side of that medal!
If Cloud is in your future, and it is also for extremely flexible workloads, what does that mean for static workloads?
Imagine you run a production company that produces… Let’s say bricks. And you have a system that controls your operation. Bricks are fundamental and they are exciting, believe you me! But the entirety of processes around that and where your company sits in the supply chain inherently makes for a fairly predictable business. There are no “black Fridays”, “Boxing Days”, or other incredible peaks in supply and demand. You sit in a well-defined and solid business-to-business industry and the matter of fluctuation is mostly macro-economically influenced…
Looking at and considering all aspects of the Cloud, you will probably, highly probably, not find that Cloud is going to bring you much, as long as you define Cloud as “my stuff on your computer”. Or to put it another way, getting rid of your hardware and infrastructure, might not be your best way forward. Picking a bespoke set of hardware and software and tailoring it to do exactly what it needs to do, day in and day out, will most likely get you the best value for your investment. Just think about it.
Cloud Infrastructure at your fingertips
This also leads to look at a third aspect. It builds on the first point; abstraction and considers the second point. Especially if the company you work for is “a bit bigger”.
The Cloud essentially is a way of life, and that sounds much more grand than it is. Cloud is about:
- Increasing compute density
- Application development paradigms
- Creating more velocity in deploying new features
- Add omnipotence to the things you do
And you do not need to move your business to Amazon, Google, or Microsoft for that! With technology such as Kubernetes, you have all of this at your disposal.
- Increase compute density by getting rid of segregated virtual machines with their separate operating systems and overhead
- Adopt state-of-the-art development paradigms with Dev/Ops and CI/CD, you will find that containerized infrastructure was made for this, the CloudNative mindset
- We can talk about this the whole day. Ranging from the findings in Google’s DORA reports to developing applications that never go down
- Infrastructure as code is the basic foundation of running containerized workloads in Kubernetes. It scales like nothing else.
The cool thing about all of this is that Kubernetes is a community-governed open-source project, just like Postgres! Your Cloud, bringing the best of all worlds to your fingertips! AMEN!
The missing piece
The theme of this blog post is about puzzles and missing pieces. After all that we have talked about above, what on earth could be the missing piece? Everything is considered, and all elements have been weighed and combined to make the ideal solution. Or, has it?
Your Cloud Provider even promises you that everything to get from them is “fully managed”, and that it will be available to a specific SLA. They will get some sort of “latest and greatest stable version” of all the pieces that complete the puzzle!
There is a catch, as there is always a catch!
Remember that in the beginning, we concluded that everything is on offer, from “very simple services to very complex data architectures”. And even though we are in the business of open-source software, which is often wrongfully associated with “simple”, it is not.
Doing anything at scale, by definition is hard… running a polyglot data management system like Postgres can be a real challenge, especially at scale.
And this is where the missing pieces start to show. Fully Managed does not automatically mean fully supported. There are many more elements to running Postgres besides ensuring you run a current version of the system.
- Which current version of Postgres does your application need
- How do you update or upgrade your Postgres application and specifically when
- What things do you consider when scaling from 100 to 100,000 or 100,00,000 users
- In what way do I use any of the countless features, functions, or extensions of Postgres
- And what if something bad happens?
The reality of the thing is, that does not fall under the “management” of the “fully managed” of your Cloud provider. It would even be mad to expect that, as they are managing countless of these super complex systems it can never be economically viable to retain and maintain expertise on everything when the business model is to exploit technical infrastructure.
So, what now?
How to fix it!
The answer is as obvious as it is simple. The missing piece is a specialist. In this case, the specialist knows all there is to know about every single aspect of PostgreSQL.
At CYBERTEC, this is all we care about and all we have cared about for more than two decades. Running Postgres, running Postgres at scale, running Postgres anywhere, and making Postgres do things Postgres was never originally designed for*.
We will walk with you on every step of your Postgres journey, from design to implementation and from initial decisions to full operational management. On a public Cloud, on a private Cloud, be it a single Cloud or a multi-, hybrid- or inter-cloud approach. Whichever infrastructure you prefer or desire, AKS, EKS, native Kubernetes, or just a simple AMI, we have seen it, we have done it, we have been there and we know how!
If you know the answer, the question is always simple.
We have been the missing piece in many puzzles over many years.
And it all starts with an understanding of what is at stake. Running Postgres is not hard, running anything at scale nevertheless is.
It is a good and comforting thought that your Postgres implementation is fully managed. It is also good to realize what this means in your day-to-day practice. This helps you to understand the puzzle and assess which pieces might be missing, so you can be ready.
At CYBERTEC, we are ready to help you succeed and be that missing piece.
* Postgres might not have been designed for running in the Cloud or for being an eloquent part of the CloudNative Mindset. The ideas of Dr. Mike Stonebraker and the implementation by the PostgreSQL Global Development Group have yielded a piece of server software that might as well have been purposefully designed and built for this. The flexibility, manageability, and extensibility of Postgres are second to none and make it the ultimate data management tool for tomorrow, in comparison paling all alternatives.