Web Development and Serverless Hosting. What Options for a Digital Agency?
A developer's journey: between technologies and hosting
Software requires performance, security, and advanced technological support, including libraries and utilities to simplify development. Alongside this, an essential IDE and skilled developers are crucial. Many technologies meet these criteria, with Node.js and Python being prime examples.
Linux, Docker, AWS serverless, open source, .NET, C#. While these technologies might seem contradictory to some (us?), they have been effective solutions for our challenges.
Linux e Docker
No introduction needed here. They are the most used server operating system and the most renowned container engine, respectively, trending in the Stack Overflow developer survey. Essentially, they are industry standards.
AWS serverless
The combination of Microsoft .NET and AWS might seem daring; Azure comes to mind more readily. However, looking at market trends, choosing AWS isn't against the current. AWS offers numerous useful services, with these especially worthy of mention:
- Elastic Container Service (ECS) : for container orchestration.
- Elastic File System (EFS) : for serverless file storage, optimizing costs and performance.
- S3 e CloudFront: for content distribution (CDN) and digital asset management.
- RDS: for managed database creation.
- Web Application Firewall (WAF)
- Elastic Load Balancing (ELB): for load balancing.
- CloudWatch: for service monitoring management.
- AWS Fargate: as a resource management system for ECS serverless.
All these services combine to create a managed hosting infrastructure that's scalable and distributed, adaptable to diverse needs in terms of performance, security, and budget.
Would you like to be part of a cohesive team?
At AND EMILI, we're looking for a WEB DEVELOPER.
What does .NET have to do with all this?
Let's revisit the previous list:
- Performance: It's one of the fastest frameworks on the market, according to the TechEmpower Web Framework benchmark. How does your current framework compare?
- How often have you encountered unsupported or vulnerable NPM packages? This forces a massive update of the dependency graph and happens frequently. .NET is a framework, not a library, crafted, tested, and maintained by Microsoft, a leading tech company. It ensures long-term support and bug fixing, as well as compatibility during updates.
- Advanced Technological Support:
- Truly multi-platform, running natively on almost all operating systems since 2016.
- Feature-rich, integrating numerous functionalities without needing external libraries or frameworks.
- Natively integrates with popular frontend frameworks (Javascript and WebAssembly) at the IDE level.
- Designed for container and serverless use.
Plus some bonuses:
- Among the most used frameworks according to the Stack Overflow developer survey.
- Programming patterns and best practices are a fundamental part of its structure.
- It offers an advanced IDE, Visual Studio, and a lighter, more efficient option, Visual Studio Code, both integrated with GitHub Copilot.
- Open source: .NET has been open source since the release of .NET Core 1.
- Widely used in the enterprise environment.
It might be an unconventional choice, but as we discovered, using .NET can be a transformative experience you'll love.
Would you like to be part of a cohesive team?
At AND EMILI, we're looking for a WEB DEVELOPER.
Is .NET suitable for a digital agency?
If you can create a multiplatform, high-performance, scalable, and secure website, managed with a modern and agile server infrastructure, then the answer is likely yes.
Although WordPress is not an option, there are valid and possibly underrated alternatives, as well as enterprise-level options. We will explore this further in upcoming articles for those new to .NET CMS.
Numerous sites, many platforms, perhaps complex ones.
Do the updates work? Fortunately, in this case, technology aids rather than hinders us. I work with a framework where the consistency of updates is assured by the framework's provider, and any breaking changes are thoroughly documented (hear, hear, all of them!). We have navigated the migration of sites from .NET Framework to .NET Core 2, then to 2.1, 2.2, 3, 3.1, 5, 6, and now 7, without encountering any noteworthy issues (except for the change in how Entity Framework Core functions from 2.2 to 3, but this was a positive shift).
How do I maintain productivity without npm? I feel somewhat adrift. By leveraging the specific capabilities of the framework, it's possible to create a suite of development support tools:
- Architecture: layered applications, clean architecture.
- Infrastructure: logging, monitoring, security, utilities, and extensions.
- Data Access Management: unit of work pattern, repository, CQRS.
- Authentication and Web/API Login Flows: Support for OAuth, SAML2 standards, and creation and management of local users with custom authentications.
- Optimized Image Generation System with CDN distribution (S3 and CloudFront).
There are also excellent open source libraries like Entity Framework Core, Dapper, ASP.NET Core Identity, and OpenIddict, and the integration of established tools like Redis, RabbitMQ, MongoDB, among others.
We've gone a bit further:
- Data Editor UI: a codeless demographic management system. User interfaces, creation, update, and deletion queries are auto-generated from a configuration. Hooks, callbacks, and customization are central. Managing 50 demographic tables in minutes with the right flexibility may sound overkill, but we use it daily.
- Landing Receiver: A microservices-based, codeless system for embedded forms. Others do it, but often as part of CRMs, which are slow, performance-heavy on Google PageSpeed Insights, and costly.
Data Editor UI and Landing Receiver deserve dedicated exploration due to their unique capabilities.
The Core Issue
If it wasn't clear, the problem is one all developers eventually face. I need to execute a number of projects; they must be fast, secure, updatable, and deployable agilely to meet the time to market and client expectations.
At AND EMILI, we've found an effective response. If you're interested in more details about .NET development and integration with AWS, contact us.
Would you like to be part of a cohesive team?
At AND EMILI, we're looking for a WEB DEVELOPER.
This page has been translated using automated translation tools and artificial intelligence technologies. We strive to ensure that the content is accessible in multiple languages, but please be aware that the translation may not be perfect. If you have any doubts or need clarifications, please feel free to contact us.