<![CDATA[raphaelf]]> https://www.raphaelf.xyz/ https://www.raphaelf.xyz/favicon.png raphaelf https://www.raphaelf.xyz/ Ghost 5.81 Mon, 09 Sep 2024 22:24:58 GMT 60 <![CDATA[Why the Cloud has so much Momentum these days]]> https://www.raphaelf.xyz/why-the-cloud-has-so-much-momentum-these-days/ 66d77d8f520f2747bb2d54c4 Tue, 03 Sep 2024 17:00:00 GMT

In 2024, businesses of all sizes are adopting cloud computing and hyperscalers like AWS, Azure and GCP are growing at an insane pace. From an engineering perspective, the cloud is an amazing piece of technology. However, that's not the reason why so many companies are moving their applications into the cloud. The reason is that it helps businesses reach their goals. But how? This is what I'm trying to summarize in this article.

Here are my top 10 reasons why you should consider cloud-hosting your business application.

1. Managed Services relieve you of Maintenance Work 🥱

When you use managed services, you no longer need to worry about low-level infrastructure management. Deploy a container instead of a VM, then you don't need to update your operating system to ensure security. When you use a managed SQL database, you don't need to manage the host machine. You are tired of operating your own Kubernetes cluster? Then use a managed platform, it will save you a lot of exhausting brainwork.

2. Increadibly Easy Scalability 📈

Cloud infrastructure can scale seamlessly to meet your growing needs without requiring additional hardware or major changes. A few clicks or configurations allow you to scale up and down at any time. This ensures your applications are future-proof and can handle increasing loads effortlessly.

3. Empower Teams for End-to-End Ownership 💪

"You build it, you run it" is the motto of platform engineering. Great (cloud) platforms empower their teams to own not only the application code, but also the infrastructure that lives around it. It can reduce friction to align your software with your organization structure, see Conway's Law. This brings you one step further towards a self-sufficient, cross-functional team, that isn't dependent on other business units.

4. Infrastructure Automation and Auto-Healing ❤️‍🩹

When the infrastructure layer can be controlled via APIs, you can do all sorts of magic with automations, such as auto-healing your deployment whenever the container is unresponsive. Many of these techniques are even built into the cloud offering, so you don't need to create the automation from scratch.

5. Elasticity and Pay-As-You-Go Model 💵

The resources your application demands probably varies from hour to hour, from day to day. Some applications are only used during business hours. Or sometimes a marketing campaign causes so much traffic that your server crashes (We've seen it all). With the elasticity that hyperscalers provide, you can overcome this issue by scaling automatically, depending on the current demand. What's more, you only need to pay for additional resources when you really needed them.

6. Serverless Computing for Infrequent, High-Power Tasks ⚙️

Related to the previous point, many businesses have the need to periodically run resource-intensive tasks. While banks operate massive mainframes to do that, you could also just run some serverless functions. You pay for it while it runs. While your code doesn't run, you scale to zero and spend no money at all. Running your function on insane 256 GB of RAM and 32 cores costs as little as 5€ per hour.

7. Governance of Large IT Landscapes 🔍

Cloud platforms support central oversight and governance of large IT landscapes. Through policies, your platform engineers can ensure that every application in your organization complies with security, privacy, data locality, backup and logging requirements.

8. Ready-to-Use Cloud Services 🌱

Instead of building everything from scratch, you can leverage existing cloud services for data analytics, Internet of Things (IoT) applications, and many more. Take a look at the components your cloud platform provides, to see if you can make use of them to save time and reduce development costs.

9. High Availability and Disaster Recovery 💥

Cloud providers offer multi-region deployments and allow you to seamlessly shift traffic between regions and data centers. It ensures your applications remain available even in the unlikely event that your data center burns down or a major regional outage.

10. Machine Learning and AI Tools Tailored to Your Data 🦾

Last but not least, who doesn't want an AI tools that is tailored to their very own data. Only when your personal and your company's context is incorporated into an LLM does it really show its strengths. Data analytics and machine learning can add valuable insights to the data you have already stored. Unless you have your own in-house data scientists and ML experts, all of this only makes sense in the cloud, as it provides you with the tools you'll need to create your own AI tools.

To sum it up, by leveraging cloud technologies, companies can innovate faster, operate more efficiently, and stay competitive in an increasingly digital world.

]]>
<![CDATA[Green Light, Red Light: What is a Watermelon Project?]]> https://www.raphaelf.xyz/what-is-a-watermelon-project/ 66847f40922b20eacf9fe332 Fri, 23 Aug 2024 17:00:00 GMT

Have you heard about the term Watermelon Project? It describes something that occurs in many organizations dealing with project-based work. So let's get into it.

Project status

In update meetings, weekly check-ins or steering committees, the current project status is often described by a traffic light indicator. A green status means everything is on track with the plan, while red means that there are major risks or roadblocks ahead.

Green Light, Red Light: What is a Watermelon Project?

So what about the watermelon?

A watermelon project is green on the outside but red on the inside. In terms of project status, that means on the first glance, it seems like everything is alright and the project manager tries to maintain that impression towards the stakeholders. But if you look beneath the surface you can observe huge problems. The project is actually red and eventually it will become obvious.

Green Light, Red Light: What is a Watermelon Project?

Tell me why [does it happen]?

It is clear that a watermelon project is not great, but why could it happen anyway? There are a variety of reasons:

  • Uncertainty and 90% syndrome:
    As time passes in a project, some issues might appear that haven't been clear from the beginning. For example, the project could be based on assumptions that turn out to be incorrect later on.

    An extreme case of this problem is called the 90% syndrome. It describes the issue that for the first 90% it looks like the project is making good progress, but when it comes to the last 10% there are horrendous delays. In software projects, this happens when the integration of components is done too late or when the chosen architecture is not suited for the project and has to be changed mid-project.

  • Lack of communication:
    When there is no regular communication of the project status, problems will be noticed too late. Common tools to prevent this are regular update meetings or project dashboards that make the current status apparent to everyone.

  • Fear of negative consequences:
    Maybe there is regular communication but the PM is reluctant to openly share the real project status anyway, because they want to maintain a good image or fear negative consequences. These could be coworkers or managers questioning their competency, not receiving a promotion or bonus - or even worse - the risk of losing the job. Psychological safety is needed to create a trusted environment where bad news are shared and not hidden.

  • Subjective assessment:
    The project manager could also be very excited about the project and a bit over-optimistic for the situation. For example, they expect open issues to be solved soon or simply underestimates risks.

What we can do to prevent it:

Now what can you do to avoid watermelon projects in your organization?

  • Communicate early and manage risks:
    Make your watermelon project a strawberry project instead - red on the inside and also on the outside. If there are major risks or the project is already unhealthy, communicate it early, explain the risks you identified and what can be done to mitigate them. And by taking appropriate measures early, it will hopefully become green again 🍏

  • Back the status by data and KPIs:
    To avoid subjective evaluations, back your project indicators by data and KPIs. Numbers and charts don't lie. When talking about budget status, ask for the numbers. How much money has already been spent, how much is the planned total budget? Compare these numbers with the completion status - are both KPIs aligned or are they drifting apart? For more advanced reporting, take a look at Earned Value Management, which provides ways to calculate the chances your project will be completed in time and in budget.

Good luck for your upcoming projects!

]]>