diff --git a/content/consultingv2/net-8.json b/content/consultingv2/net-8.json new file mode 100644 index 0000000000..3779c28b3a --- /dev/null +++ b/content/consultingv2/net-8.json @@ -0,0 +1,421 @@ +{ + "seo": { + "title": "Enterprise Development and Consulting for .NET8 Migration", + "description": "With over 10ys experience creating enterprise Angular apps for private and public sectors, SSW can design, build, and deliver your dream Angular app." + }, + "blocks": [ + { + "background": { + "backgroundColour": 6 + }, + "finalBreadcrumb": "Enterprise Development and Consulting for .NET 8 Migration", + "_template": "breadcrumbs" + }, + { + "topLabel": { + "labelText": "" + }, + "heading": "Expert .NET 8 migration. Zero business disruption.", + "isH1": true, + "description": "", + "chips": { + "filledChipText": "", + "clearChipText": "" + }, + "featureColumns": { + "twoColumns": true, + "features": [ + { + "heading": "Faster Time-to-Market", + "description": "Native AOT compilation delivers 60% faster startup and 40% smaller memory footprint. Deploy faster, scale better.", + "icon": "BiFastForward" + }, + { + "heading": "Zero-Downtime Migration", + "description": "Battle-tested strangler fig pattern keeps your systems running while we migrate. Gradual, safe, proven.", + "icon": "BiAlarm" + }, + { + "heading": "Modern Dev Experience", + "description": "C# 12's primary constructors and minimal APIs cut boilerplate. Built-in caching and rate limiting boost performance.", + "icon": "BiLaptop" + }, + { + "heading": "Cloud-Native Performance", + "description": "Built-in container support and Azure integration. Instant scaling with Kubernetes and Container Apps.", + "icon": "BiCloud" + } + ] + }, + "buttons": [ + { + "buttonText": "Book a FREE Initial Meeting", + "showLeadCaptureForm": true, + "buttonLink": "", + "colour": 0 + } + ], + "background": { + "backgroundColour": 6, + "backgroundImage": "", + "bleed": false + }, + "mediaConfiguration": { + "placement": "Right", + "verticalPlacement": "Centered", + "mobilePlacement": "Above", + "imageSource": "/images/Louis Test Images/Incident-io-batch/devs_planning_office.png" + }, + "_template": "imageTextBlock" + }, + { + "background": { + "backgroundColour": 6, + "backgroundImage": "", + "bleed": false + }, + "heading": "Trusted by", + "isWhiteImages": true, + "logos": [ + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/event_cinemas_logo.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/7-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/6-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/4-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/1-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/5-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/2-removebg-preview.png" + }, + { + "logo": "/images/Louis Test Images/Incident-io-batch/Logos/3-removebg-preview.png", + "altText": "Logo" + } + ], + "_template": "logoCarousel" + }, + { + "heading": "Strategic .NET 8 Migration: A Phased Approach", + "body": "Migrating to .NET 8 requires careful planning and execution. Our battle-tested approach breaks down this complex process into manageable phases, ensuring a smooth transition while minimizing business disruption.", + "accordionItems": [ + { + "label": "Phase 1: Assessment", + "content": "We start with a comprehensive evaluation of your current system through our Specification Review. This critical first step helps us:\n\n* Map out your application's architecture and dependencies\n* Identify potential migration challenges and compatibility issues\n* Document critical business functionality that must be preserved\n* Assess your team's readiness and training needs\n" + }, + { + "label": "Phase 2: Strategy Selection", + "content": "Based on your business priorities and technical requirements, we'll help you choose the optimal migration strategy:\n\n* Strangler Fig Pattern: Perfect for large, complex applications where a gradual transition is preferred. We incrementally replace legacy components while maintaining system stability.\n* Big Bang Approach: Ideal for smaller applications or when a quick transition is required. The entire application is migrated in one coordinated effort.\n" + }, + { + "label": "Phase 3: Planning", + "content": "For each component in your system, we develop a detailed action plan following one of three approaches:\n\nRefactor\n\n* Modernize existing code to leverage .NET 8 features\n* Preserve business logic while improving performance\n* Update dependencies and packages\n\nReplace\n\n* Identify modern alternatives for legacy components\n* Evaluate third-party solutions that match your requirements\n* Ensure seamless integration with your existing ecosystem\n\nRewrite\n\n* Create new components from scratch when necessary\n* Implement using modern best practices and patterns\n* Take advantage of .NET 8's latest capabilities\n" + }, + { + "label": "Phase 4: Migration Execution", + "content": "We implement the migration using industry best practices:\n\n* Maintain parallel environments for testing and validation\n* Follow a robust CI/CD pipeline for deployment\n* Perform thorough testing at each stage\n* Monitor system performance and stability\n* Provide rollback procedures for risk mitigation\n" + }, + { + "label": "Phase 5: Optimization", + "content": "Post-migration support ensures your application performs at its best:\n\n* Performance tuning and optimization\n* Security hardening\n* Knowledge transfer to your team\n* Documentation updates\n* Monitoring and maintenance planning\n" + } + ], + "isMultipleOpen": true, + "buttons": [ + { + "buttonText": "Explore our Migration Guide", + "buttonLink": "https://adamcogan.com/2024/03/19/dotnet-8-migrations-made-easy/", + "colour": 1 + }, + { + "buttonText": "Rules to Better .NET 8 Migrations", + "buttonLink": "https://www.ssw.com.au/rules/rules-to-better-net8-migrations/", + "colour": 1 + } + ], + "background": { + "backgroundColour": 6, + "backgroundImage": "", + "bleed": false + }, + "mediaConfiguration": { + "mediaType": "youtube", + "placement": "Right", + "verticalPlacement": "Top", + "imageSource": "/images/Louis Test Images/net-8/migrate_net_8.png", + "youtubeUrl": "https://youtu.be/N9QOoTwOo_U?si=nFwcvCSFgc0k37Nn", + "altText": "Strategic .NET 8 Migration: A Phased Approach" + }, + "_template": "accordionBlock" + }, + { + "isStacked": true, + "heading": "How We Handle .NET Migration Differently", + "isH1": false, + "body": "", + "cardStyle": 0, + "cards": [ + { + "guid": "ye7r7", + "image": "", + "altText": "Lorem Ipsum", + "chips": { + "filledChipText": "", + "clearChipText": "" + }, + "icon": "BiRun", + "heading": "Zero Production Risk", + "description": "Your systems stay live during migration. We use battle-tested patterns and parallel environments to ensure business continuity.", + "embeddedButton": { + "buttonText": "" + } + }, + { + "guid": "imtiro", + "image": "", + "altText": "Lorem Ipsum", + "chips": { + "filledChipText": "" + }, + "icon": "BiSkipNext", + "heading": "Skip the Learning Curve", + "description": "We've already solved the tricky bits of .NET migration. Access our proven patterns and avoid the common pitfalls.", + "embeddedButton": { + "buttonText": "" + } + }, + { + "guid": "m0bkqf", + "image": "", + "altText": "", + "chips": { + "filledChipText": "" + }, + "icon": "BiRocket", + "heading": "Beyond Basic Migration", + "description": "We architect for what's next: cloud-native features, containerization, and microservices – all baked into your migration.", + "embeddedButton": { + "buttonText": "" + } + } + ], + "background": { + "backgroundColour": 6, + "backgroundImage": "", + "bleed": true + }, + "_template": "cardCarousel" + }, + { + "topLabel": { + "labelText": "Case Study" + }, + "heading": "BizCover: From Microservice Maze to Monolith Magic", + "isH1": false, + "description": "We Marie Kondo'd BizCover's codebase, swapping their microservice sprawl for a tidy .NET8 modular monolith (MoMo). Domain-driven design helped us define the modules, while OpenTelemetry, Prometheus, and Grafana kept things monitored.\n", + "chips": { + "filledChipText": ".NET8", + "clearChipText": "Modular Monolith (MoMo)" + }, + "featureColumns": { + "twoColumns": true, + "features": [ + { + "heading": "Faster onboarding for new devs", + "description": "From 6 weeks to 5 days. Now that's what we call an improvement!", + "icon": "BiChalkboard" + }, + { + "heading": "Feature delivery speed? Boosted by 40%", + "description": "They're shipping code like there's no tomorrow", + "icon": "BiFastForward" + } + ] + }, + "buttons": [ + { + "buttonText": "Book a FREE Initial Meeting", + "showLeadCaptureForm": true, + "buttonLink": "https://form.jotform.com/250066954570056", + "colour": 0 + } + ], + "background": { + "backgroundColour": 2, + "backgroundImage": "", + "bleed": true + }, + "mediaConfiguration": { + "placement": "Left", + "verticalPlacement": "Centered", + "mobilePlacement": "Above", + "imageSource": "/images/Louis Test Images/Incident-io-batch/image_fx_ (3)_nb_3.png" + }, + "_template": "imageTextBlock" + }, + { + "isStacked": true, + "heading": "Tech Wisdom from the Trenches", + "isH1": false, + "body": "At SSW, we share decades of hands-on experience in software—tackling legacy code, fixing bugs, and navigating new tech. No fluff, no jargon—just practical advice to help you build better software", + "cardStyle": 1, + "cards": [ + { + "guid": "qmlcq9", + "embed": "ocbPkNROnlc?si=VCUDDWZwfo2ad53s", + "image": "", + "altText": "Collections in .NET: The Performance Deep Dive You Didn't Know You Needed 🚀", + "chips": { + "filledChipText": ".NET User Groups", + "clearChipText": "1 hour" + }, + "heading": "Collections in .NET: The Performance Deep Dive You Didn't Know You Needed 🚀", + "description": "Think you know .NET collections? Think again. From array memory layouts to dictionary collision handling, Anton Polkanov breaks down the nitty-gritty details that separate good code from great code.", + "embeddedButton": { + "buttonText": "", + "buttonLink": "" + } + }, + { + "guid": "s76w3", + "embed": "59G9Cd-rV9w?si=Ql7MoBHGmlAi_HI3", + "image": "/images/Louis Test Images/Incident-io-batch/cloud_native_net-aspire_16-9.jpg", + "altText": "Breaking Down .NET Aspire: Your Gateway to Cloud Native Apps", + "chips": { + "filledChipText": ".NET Aspire", + "clearChipText": "1 hour " + }, + "heading": "Breaking Down .NET Aspire: Your Gateway to Cloud Native Apps", + "description": "SSW's Matt Wicks teams up with Octopus Deploy's Rob Pearson to demystify .NET Aspire. Dive into real-world orchestration, service integration, and deployment strategies that'll level up your cloud-native game.", + "embeddedButton": { + "buttonText": "", + "buttonLink": "" + } + }, + { + "guid": "s22wwo", + "embed": "Ft2JArXEXcI?si=FnoENuD0MO8JIQMJ", + "image": "/images/Louis Test Images/Incident-io-batch/dotnet_cleanarchitecture.png", + "altText": "Full-Stack Clean Architecture: The Right Way to Share Code", + "chips": { + "filledChipText": ".NET User Groups", + "clearChipText": "1 hour" + }, + "heading": "Full-Stack Clean Architecture: The Right Way to Share Code", + "description": "Stop wrestling with UI and API code! Matt Goldman (author of .NET MAUI in Action) reveals how to nail Clean Architecture across MAUI and ASP.NET Core without the classic pitfalls. Expect real demos, not just theory.", + "embeddedButton": { + "buttonText": "" + } + } + ], + "background": { + "backgroundColour": 5 + }, + "_template": "cardCarousel" + }, + { + "heading": "Frequently Asked Questions", + "body": "Need quick answers about .NET 8 migration? Here's what tech teams commonly ask us during assessment calls.", + "accordionItems": [ + { + "label": "Is .NET 8 worth the migration effort?", + "content": "Yes, if you're running applications on older .NET versions. .NET 8 offers:\n\n* Extended support until November 2026\n* Significant performance improvements\n* Better cloud integration\n* Latest security features and patches\n* Access to new C# 12 features\n" + }, + { + "label": "What about our existing dependencies?", + "content": "We audit your NuGet packages first. Most popular packages already support .NET 8. For others, we'll either:\n\n* Update to compatible versions\n* Find modern alternatives\n* Create compatibility shims\n" + }, + { + "label": "How do we prep our team for .NET8?", + "content": "Quick checklist:\n\n1. Set up .NET 8 SDK\n2. Review breaking changes\n3. Run compatibility analyzer\n4. Test on a small project\n5. Plan deployment strategy\n" + }, + { + "label": "What kind of support is available post-migration?", + "content": "Our support includes:\n\n* Performance monitoring\n* Security updates\n* Optional managed services\n* Regular health checks\n* Continuous optimization\n" + } + ], + "isMultipleOpen": true, + "background": { + "backgroundColour": 5 + }, + "_template": "accordionBlock" + }, + { + "technologyGroups": [ + { + "technologyGroup": "content/consultingv2Technologies/groups/Some-other-tech.mdx" + } + ], + "techCardStyle": 0, + "background": { + "backgroundColour": 5 + }, + "_template": "technologyCardCarousel" + }, + { + "topLabel": { + "labelText": "" + }, + "heading": "Talk to us about your .NET 8 project today", + "isH1": false, + "description": "Connect with our Account Managers to discuss how we can help.\n", + "chips": { + "filledChipText": "", + "clearChipText": "" + }, + "featureColumns": { + "twoColumns": true, + "features": [ + { + "heading": "", + "description": "" + }, + { + "heading": "", + "description": "" + } + ] + }, + "buttons": [ + { + "buttonText": "Book a FREE Initial Meeting", + "showLeadCaptureForm": true, + "colour": 0 + } + ], + "background": { + "backgroundColour": 5 + }, + "_template": "imageTextBlock" + }, + { + "topLabel": { + "labelText": "" + }, + "heading": "", + "isH1": false, + "description": "", + "chips": { + "filledChipText": "", + "clearChipText": "" + }, + "featureColumns": { + "twoColumns": true + }, + "background": { + "backgroundColour": 5 + }, + "_template": "imageTextBlock" + } + ] +} \ No newline at end of file diff --git a/content/consultingv2Technologies/technologies/Dockerv2.mdx b/content/consultingv2Technologies/technologies/Dockerv2.mdx new file mode 100644 index 0000000000..37a0762d5b --- /dev/null +++ b/content/consultingv2Technologies/technologies/Dockerv2.mdx @@ -0,0 +1,11 @@ +--- +name: Docker +icon: BiLogoDocker +readMoreSlug: 'https://www.ssw.com.au/rules/containerize-sql-server/' +associatedGroup: content/consultingv2Technologies/groups/Some-other-tech.mdx +--- + + + +Docker. +Containerize your apps for consistent deployment across environments diff --git a/content/consultingv2Technologies/technologies/GitHub-Actions.mdx b/content/consultingv2Technologies/technologies/GitHub-Actions.mdx new file mode 100644 index 0000000000..929d1a1290 --- /dev/null +++ b/content/consultingv2Technologies/technologies/GitHub-Actions.mdx @@ -0,0 +1,10 @@ +--- +name: GitHub Actions +icon: BiLogoGithub +readMoreSlug: 'https://www.ssw.com.au/rules/rules-to-better-devops-using-github/' +associatedGroup: content/consultingv2Technologies/groups/Some-other-tech.mdx +--- + + + +Automated workflows for build, test, and deployment diff --git a/content/consultingv2Technologies/technologies/Kubernetesv2.mdx b/content/consultingv2Technologies/technologies/Kubernetesv2.mdx new file mode 100644 index 0000000000..87f97d4b73 --- /dev/null +++ b/content/consultingv2Technologies/technologies/Kubernetesv2.mdx @@ -0,0 +1,10 @@ +--- +name: Kubernetes +icon: BiLogoKubernetes +readMoreSlug: 'https://www.ssw.com.au/consulting/kubernetes' +associatedGroup: content/consultingv2Technologies/groups/Some-other-tech.mdx +--- + + + +Orchestrate containers at scale with zero-downtime deployments. diff --git a/content/consultingv2Technologies/technologies/MongoDBv2.mdx b/content/consultingv2Technologies/technologies/MongoDBv2.mdx new file mode 100644 index 0000000000..261384c2a5 --- /dev/null +++ b/content/consultingv2Technologies/technologies/MongoDBv2.mdx @@ -0,0 +1,9 @@ +--- +name: MongoDB +icon: BiLogoMongodb +readMoreSlug: 'https://www.mongodb.com/' +associatedGroup: content/consultingv2Technologies/groups/Some-other-tech.mdx +--- + + +Document database perfect for microservices architecture diff --git a/content/consultingv2Technologies/technologies/PostgreSQLv2.mdx b/content/consultingv2Technologies/technologies/PostgreSQLv2.mdx new file mode 100644 index 0000000000..94cf4cd8fa --- /dev/null +++ b/content/consultingv2Technologies/technologies/PostgreSQLv2.mdx @@ -0,0 +1,9 @@ +--- +name: PostgreSQL +icon: BiLogoPostgresql +readMoreSlug: 'https://www.ssw.com.au/rules/rules-to-better-sql-databases-developers/' +associatedGroup: content/consultingv2Technologies/groups/Some-other-tech.mdx +--- + + +Open-source SQL database with excellent performance and reliability