Technologie • 20.12.2021
07 januari 2022
In this article, we briefly discuss the benefits of public cloud platforms and put the three largest cloud providers to the test: AWS, Microsoft Azure and Google Cloud.
More and more applications are being developed in the cloud. This saves companies money and increases the flexibility of their applications. It is no longer a question of whether you choose to develop in the cloud, but which cloud platform you choose. When you develop a serverless application it does not run on your own physical server, but is fully managed by a cloud provider. You then develop cloud native, something that is at odds with traditional software development. Servers are still used in cloud native software development, only they are taken away from the developers and managed by the cloud provider. But why would you choose cloud native development? And which cloud platform is best to choose?
To choose the most suitable cloud platform for your application (to be developed), it is important to understand the terminology. What is serverless and cloud native, and when do you use which term?
The term cloud, or cloud computing, is used for the use of applications and data, via the Internet. Where these applications and data are stored varies, this could be servers in a data center, or it could be an individual's computer, connected to the internet.
Cloud native means that the application or data is made available to users through a public cloud provider. The builder of the application has no influence on the infrastructure, but directly uses the services of the cloud provider to build his cloud application.
An application is called serverless when it does not physically reside on its own server. In addition, the development strategy can make use of cloud functions such as Amazon Lambda or Google Functions. These cloud functions are able to make available the way resources needed to run a cloud application. This is based on demand. If there are many users, then more resources are made available. If the application is used infrequently, for example at night or on weekends, then the number of resources automatically decreases. With traditional cloud computing, it is necessary to allocate large amounts of resources in advance so that they are available when needed.
In this blog we explain the advantages and disadvantages of application development in the cloud and we compare the three largest cloud providers: Amazon Web Services (AWS), Microsoft Azure and Google Cloud.
The way of consuming software has changed enormously in recent years. This has not only had an impact on the use of cloud, but also on the way software is developed, and more importantly, further developed. The serverless provision of software is one of the innovations that is gaining ground. With serverless computing, the cloud provider dynamically manages the resources needed to run your software. As a developer, you don't have to worry about setting up the infrastructure, but can fully focus on developing your application. By offering servers, infrastructure and operating systems in one layer, it seems as if no servers are involved.
With serverless, you only pay for the moments when the application is actually used. At times when your application has no users, you have no cost for keeping your application up and running. This can be useful for time and seasonal apps, but also for applications that are focused on commerce, think customer and supplier portals. These are used a lot at certain times and less at certain times, such as at night. As a result, the cost of hosting the application by a cloud provider is generally lower.Lower costs
When the server management of an application lies with the development team, there are more things the team needs to take into account. For example, think about keeping up with patches, bug fixes and the latest security. With serverless development, this responsibility lies with the cloud platform. This leaves developers time to further develop the application, which also saves time and money.
In the end, it's all about the experience of the users. If they are satisfied, users are more likely to continue using your application. If the experience does not meet expectations, this will automatically have a negative impact on the application. Because the development team does not have to worry about things like infrastructure, they can focus on adding features that add value for the end user. This contributes positively to the user's experience.
An application needs to integrate with the cloud provider, but of course also with other systems. Building these APIs takes time and is often more complex than when running through an in-house server. Whereas in-house servers often have a monolithic architecture, complex tasks now require a microservice architecture. This requires specific knowledge on the part of developers.
Once your application is up and running with a cloud provider, you will not be so quick to switch to another provider. Whether you want to replace mission-critical functionalities such as AWS Lambda with its Microsoft counterpart Azure Functions is of course a question. By carefully mapping out your architecture, technology choices and further developed wishes in advance, you prevent making the wrong choice.
Building a cloud application is fast, but sometimes a cloud application can have a slow start. As discussed above, you only pay for the (parts of) the application if it is actually used. Are there functionalities that remain unused for a while? These remain hosted in the cloud, but when they are accessed again after a while, they start up relatively slowly in the Lambda. You can avoid this problem by keeping the functionalities small and accurate. In practice, this slow start should hardly bother you with a website.
On your own server you always have influence, on the cloud server of a third party you do not. You lose a bit of control, but you also get a bit of security in return in the form of a high degree of security and uptime. The cloud provider determines which services remain available and which are replaced by other services. Even when you still use them for an application. In addition, it is important that the choice for serverless development of your application is a conscious choice. Returning an application to the server is often complicated.
AWS is an Amazon's cloud platform. It is the largest cloud provider currently available and one of the most comprehensive with over 200 cloud native services. In addition, AWS has numerous capabilities in terms of servers, storage, network, mobile development and high security, this platform is suitable for almost any application. Another big advantage to AWS is its availability zones. Due to the large number of data centers spread around the world, users get their data from the nearest availability zone. This allows response times to be kept low.
AWS is also very suitable for cloud databases and data management, these have great computing power and no downtime. This means your application can always reach the right data.
Azure is a cloud platform and collection of cloud services and developed by Microsoft. This platform is especially big within the enterprise market where companies are already using Microsoft technology. Many Microsoft applications such as SharePoint, Dynamics and Office have a cloud version, making using the cloud version a small step. Azure supports many programming languages, frameworks, operating systems, databases and devices. This, with a range of services and applications, also makes Azure very suitable for developing cloud applications. The virtualization technology they use makes it more agile and accessible to other systems and integrations.
Azure excels in the areas of Big Data and AI. Organizations want to provide insight into the performance of their application. Visualizing this data via Databricks and PowerBI, for example, is therefore easily possible. Does your organization want to focus on AI? With Azure Machine Learning, Microsoft Genomics and Bot Services Azure is very suitable for building AI applications or applications with AI components.
Google Cloud is developed by, you guessed it, Google. Of course, it uses the existing Google systems and infrastructure to provide the cloud. They also offer several to services, including data storage, application development and IoT. Google's current services can be easily integrated with applications. Since Google Cloud has existed, it has never been "down".
It is not without reason that companies such as Twitter, eBay and Paypal run on the Google Cloud. One USP of Google is its security. Google has a large team of professionals who make sure the entire network is highly secured. All data stored in the cloud is encrypted. So users and companies don't have to worry about the data in the application.
Now that all three platforms have had a brief introduction, below we compare them based on 4 key points: price, availability, users and services. This way you can more easily make the right choice for a cloud platform.
Both Azure and AWS start a cloud solution at around $70 per month. If you compare this with Google Cloud, the same is about $52 per month. The price depends on the memory used by the application, the more memory the higher the price. So the difference in price can become quite large. In terms of price, Google Cloud would be the right choice.
If we look at availability zones, AWS is at the top with 88 zones, this means practically the whole world. Azure lags behind with 54 zones, which by the way cover a large part of the world. Google Cloud currently has 22 zones. These zones When it comes to availability, AWS is a logical choice.
AWS has been around cloud the longest. That's why they supply some big names, think: Netflix, AirBnB, Samsung and BMW. Azure again represents 80% of the Fortune 500 companies, such as: Apple, Fuji and HP. Google is not lagging behind in this regard, with names like: Domino's, Paypal and Twitter.
Comparing services is difficult and mainly customized. Which services are important and decisive is different for each organization. AWS offers 200+ services, Azure 100+ and Google Cloud 60+. So there are plenty of services. Looking for a complete package? Then AWS offers everything you need.
The best choice for a cloud solution? It's a custom job and depends heavily on functionalities, budget and links to other systems. That's why it's wise to delve deeper into what the cloud has to offer and seek advice from specialists. We can't tell you what the best choice is, but we can advise you on which solution best suits your business and application.
Overall, AWS is the cloud platform that leads the way in offering the widest range of features and maturity. It is still the clear market leader, but the gap is narrowing. Its extensive list of tools, services and enterprise features make AWS a good choice for large organizations.
Microsoft is working hard to bridge the gap between the two, and continues to develop the Azure cloud platform, with integration with on-premises software a key component. For organizations that already use Microsoft technology within their business, Microsoft Azure will be a strong proposition.
Then there is Google, which could become a major enterprise competitor. It has made good progress with their large customers, especially in Kubernetes and machine learning expertise, but there is still much work to be done to prove that it is a competitive enterprise cloud solution.
As a Cloud Native agency, we choose to work with one of the cloud platforms, namely AWS. This allows us to focus very specifically on this technology and build the best performing scalable applications. In addition, we specialize in creating customer and supplier portals based on AWS. Read more about what we can do in the field of AWS for your organization. Do you want to spar together about the right technical choices for your application? Call Gert or contact us.
Want to know more? Feel free to call us at +31 (0) 6 557 161 80 or send an email to firstname.lastname@example.org.