Case Study - SEO Services in the Cloud
A leading UK software house provides advanced, highly scalable and cost effective, cloud-based SEO services and an enterprise class SEO platform with a back-end database of more then 1 trillion (no typos) links data. It is extremely effective for large corporations as a leading SEO platform with full control of all SEO processes especially for companies in highly competitive markets, delivering measurable and transparent SEO processes and digital marketing results. For small businesses, this SEO platform allows to dramatically increase traffic and to be found locally in search engines for what they do or sell, at the same time, spending less time and money on SEO analysis and research. The SEO platform provides amazing opportunities for agencies to use one integrated suite of SEO tools that work together in a flexible way increasing revenue, creating more competitive brands and opening new money making opportunities for their clients.
Technically, the services from this enterprise class SEO platform are developed with unlimited scalability in mind. To decrease time to market and have the ability to rapidly scale the whole back-end, multi-tier, component-based, service-oriented SEO architecture, Amazon EC2 was chosen as the target cloud-based infrastructure.
Zoral Labs chose to architect, design and implement this SEO platform in Java in order to leverage the full spectrum of Java enterprise technologies and frameworks and be able to run on any OS without limitations.
Many modern Java frameworks are used to simplify development and make this leading SEO platform portable, scalable, reliable and maintainable to include: Spring, Hibernate, Lucene, Ehcache, JMS (ActiveMQ), BPM/BPL workflow support, intelligent crawler technologies, Hadoop, client behavior machine learning / artificial intelligence-based analysis, Ruby on Rails for GUI / Web Application prototyping, Java-based rule engine to model business logic for links metrics management, etc. Amazon EC2, EBS and S3 services with Java (REST) API allows monitoring and controlling the state of the platform with the ability to automatically scale when customer SEO platform resource loading is high. The platform is completely self-managed (24x7) and highly configurable, thus no manual steps are required to maintain it in ‘the cloud’ production.
This cloud-based software development project is successfull and in production on time and on budget due to several factors. First, the development process is customized for this project based on Agile methodologies (Scrum and XP). Lightweight Agile requirements management saved time and allowed iteration of creative ideas for both business side and senior Java developers. Agile planning approaches helped to focus significantly on the really important business features - making each release more useful for end users. Iterative and incremental development allowed the development team to make frequent deliveries and decrease feedback cycle loop. Disciplined approach in utilizing proven software engineering best practices (unit testing, continuous integration, code review, pair programming, TDD, ATDD) allowed the senior development team to maintain commercial grade, high quality, component-based, documented code even after more than a year of heavy, non-stop development. Continuous static code analysis with Zoral Labs internal QA department saved time for code maintenance and helped to avoid productivity loss in the development of new features over time. Another important factor in the implementation success of this complex, innovative commercial product and service - is that a relatively small, collocated team of highly skilled software engineers developed the product. This approach helped to avoid team communication issues and build a common, easy to maintain development style in all product functional areas. Smaller teams are a better fit for Agile processes, providing business side with predictability and transparency during the entire software development life cycle (SDLC). Clear communication with the business side and frequent, reliable software deliveries build client trust, encourage multi-discipline team building and allow for a symbiotic relationship to be built between the client and Zoral Labs software engineering team while achieving common goals.

