RabbitMQ is utilised to provide message queuing and delivery across the platform which allows us to continue to build scalable distributed microservice-based products at speed. Alert Manager coordinates real-time proactive notification of events to the squads through multiple channels.įor an insight into how we utilise observability at Swoop you can take a look at a recent blog post on the subject here Databases, Messaging & AnalyticsĪcross Swoop we utilize multiple database systems, Microsoft SQL Server, PostgreSQL and MongoDB.Īzure Storage Account Blob storage ( Azure Blob storage) is implemented across our products and services to facilitate large, scalable, secure data storage and retrieval. Prometheus Stack ( Prometheus, Grafana and Alert Manager) – Prometheus allows us to ingest millions of data points per second and provide rich visualisations and dashboards via Grafana to the engineering and operations squads. With a large microservice ecosystem to support, the engineering team utilises Distributed Tracing to allow end-to-end playback of a request from inception to completion. To achieve this, the Swoop engineering team has embraced a number of industry recognised tools to support us on this journey:Įlastic Search ( ELK) – Utilised for logging across the entire platform.Įlastic APM – Provides real-time monitoring and insights into the performance and behaviour of our workloads. Having observability across the entire platform is critical in ensuring that we can achieve a stable, performant platform that is able to evolve and flex effortlessly based on metrics ingested from multiple sources. This approach allows us to rapidly evolve and identify performance, testing and security issues early in the life cycle. Pipelines benefit from a curated set of optimised templates encompassing Snyk, SonarCloud, Docker Compose, Cypress and other consistent tooling. Deployment SolutionĪzure DevOps pipelines & releases, FluxCD are utilised to provide a uniform consistent approach to compilation, image curation and delivery. The certificates for our DNS are configured and automated by cert-manager, Azure DNS. The platform and the application secrets are declaratively stored in HashiCorp Vault and backed up by Azure services like Azure Key Vault. We take security very seriously and it is important for us to have a right set of RBAC for the sensitive information. GitOps aids us to audit and secure the configuration for the kubernetes cluster with solid governance. We embrace the declarative approach by keeping the configuration as a code ( GitOps). Terraform powers our Infrastructure-As-Code capabilities, we are presently targeting Microsoft Azure with flexibility across a number of cloud providers to offer redundancy, flexibility and scalability today and in the future. Being able to choose the most effective approach to a problem, allows for solutions as diverse as the stack itself that are built robustly with a core focus on efficient, maintainable and supportable code with modern tooling utilised throughout. The new platform embraces the need for maintaining and continuing to deliver exceptional service levels for our existing platform (built atop API’s running in Virtual Machines) whilst powering forward with the latest technologies.Īt Swoop we love to code and that is reflected in our diverse tech stack. To achieve the desired outcome a careful selection of tools and processes were selected as well as designing and building a number of innovative in-house processes and tools which have allowed us to deliver significant improvements in the areas of productivity and security. The core design goals have remained consistent throughout: Scalability, Reliability and Resilience at every stage. The squads take ownership of their work and know the ins and outs of the products they’re responsible for the cost of keeping engineering hygiene uniform across all our teams which translates to keeping pace with technology and best practices within the industry and then ensuring we inherit the practices that best adds value to the teams and company.īuilding the platform and associated stack took approximately 14 months, and it continues to evolve at a challenging pace. Although we work as autonomous squads, collaboration remains a core underpinning principle for our development practices and approaches. It is a constant challenge to keep abreast with the evolving product dynamics and the engineering hygiene. The Swoop engineering team is passionate about providing solutions to the product problems by embracing best in class technologies.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |