The last 18 months saw the bulk of our overall infrastructure upgrade and improvements. An estimated 20 person-years were put to work, all aimed at providing our partners – and their customers, a top of the line experience and quality in digital presence and tools.

So what exactly did we do? Here we go
(tech buzzwords trigger alert!):


Stability and Reliability


  • We have standardized Logging, Probing, and Monitoring for better Observability into our Infrastructure and Applications, in an effort to make sure our System is Stable and Reliable.
  • We have standardized the deployment pipeline with develop, staging, and production phases, and fully automated the release flow - with CI/CD in-place responsible for unit tests, packaging, build, SCA (Static Code Analysis), and deployment.
  • We've made a lot of efforts making sure code is thoroughly tested through lint, unit, integration, and end-to-end testing.
Photo by Artem Kniaz on Unsplash


RESTful APIs

  • We have made a great effort on standardizing our internal APIs, and make it fully RESTful (REpresentational State Transfer).
  • A REST API (also known as RESTful API) is an application programming interface (API or web API) that conforms to the constraints of REST architectural style. 
  • We have embraced JSON API as our formal Specification, and implemented it in all new Services.
  • We've made a shift to an API-First approach across all Teams and Products/Services.

Microservice Architecture

  • We have been working, and still working hard, on decomposing business modules from the Monolith into new Microservices.
  • There are many benefits for working with microservices, among others - Increases Release Speed for features and modules, Improved resilience and stress management or in fault management (the fault is isolated to the component ‘silo’), flexibility in building and maintaining components and shorter response time in resolving faults and technical issues.
  • We have laid out all the foundations needed to make sure we succeed and overcome all challenges, including Training on new Architecture Styles and Patterns, Building Frameworks and Tooling for Reuse and Productivity, Standardization, and putting and emphasize on Team Ownership, Communication, and Cross-Teams Collaboration.
  • We have fully adapted Docker Containers and Kubernetes as our standard approach for Packaging and Delivering Microservices to Production. 
  • We have been working, and still working hard, on decomposing business modules from the Monolith into new Microservices.

Security

  • We have implemented and placed Security Controls at both the Application and the Infrastructure Levels - Reverse Proxy, STS (Security Token Service), and WAF (Web Application Firewall) in front of our Web Assets.
  • We incorporated the latest Security Standards and Protocols such as OAuth 2.0, OIDC (Open ID Connect), JWT, and Bearer Tokens.
  • We also made improvements in the way we secure Assets both in Transit and at Rest, including moving to TLS 1.2, managing configurations in a Centralized and Secured Store, and managing sensitive information such as Keys and Secrets in a Centralized Key Vault.
  • We’re working hard on Education and Training regarding Security Principles, and Awareness to Application Security Vulnerabilities and Mitigations early as possible in the SDLC (Software Development Lifecycle).
Photo by FLY:D on Unsplash

Performance

  • We enhanced the CDN to deliver images and contribute to site page speed
  • We improved the performance of front servers by refactoring site serving code to allow async IO access and using async operations for reading and writing site Cache.
  • A separation between the partner admin and SMB admin and – here too – delivering the UI components through a CDN - enable faster response rates both for partners using the accounts admin and for SMBs using their own admin to run their business.
  • This separation also makes development and maintenance for each component much easier, with test automation and other benefits – all contributing to higher quality.
  • We are currently working on a dedicated CDN for the mobile app
Photo by FLY:D on Unsplash

And finally

Over the last 18 months we overcame a lot of challenges and built strong distributed development teams, embraced new development methodologies and practices, applied new processes, and set a focus on work culture and production-readiness.

But that's not all - 
In the last year we released a bunch of new and improved modules and features. to name just a few:
 
- On websites alone:  Services​ and teams modules, new section layouts and individual sections, COVID 19 policy page, Coupon, Galley section, Commerce collections​,  and more.
- The new social modules, connecting to more social networks, 
- On boarding and intake tools,
- Content automation - and much more!

Looking ahead for the next challenges. We are ready!


Theme photo by Yasmina H on Unsplash