This document summarizes the different technology teams at Tuenti and some of their responsibilities. The Frontend team works on the mobile and web user interfaces using frameworks like JavaScript. The Backend team handles scaling the infrastructure to support millions of users and terabytes of data. The Systems team manages over 500 servers and ensures high performance and reliability. An example project described is building a large-scale web-based instant messaging service on the open-source XMPP protocol to support over a million concurrent users.
Presentie van Byte Internet (www.byte.nl) over Joomla Hosting door Gruus van Woerkom op de Joomla Dagen 2009.
Hoe kun je webservers opschalen? Hoe houd je databaseservers (MySQL) snel? Wat is databasereplicatie?
Verder wordt uitgelegd over security en hacken bij Joomla sites met statistieken over het aantal hacks dat bij Byte Internet automatisch wordt afgevangen.
Presentie van Byte Internet (www.byte.nl) over Joomla Hosting door Gruus van Woerkom op de Joomla Dagen 2009.
Hoe kun je webservers opschalen? Hoe houd je databaseservers (MySQL) snel? Wat is databasereplicatie?
Verder wordt uitgelegd over security en hacken bij Joomla sites met statistieken over het aantal hacks dat bij Byte Internet automatisch wordt afgevangen.
Large scale, cloud computing and scalability with UmbracoWarren Buckley
Alex Norcliffe from Conde Nast International Digital/Umbraco Core Team and Peter Miller from Conde Nast Digital UK will discuss umbraco on a large scale, cloud computing and scalability.
We at Mobicules are experts at designing and implementing great solutions using Symfony.
Symfony is a great framework to build sophisticated, maintainable, extendable and scalable applications using php. Following the MVC paradigm, it keeps code maintainable, and heavily minimizes the number of repetitive tasks that need to be performed while building and maintaining the application.
Symfony is very well suited for building applications in the enterprise context. With its enforcement of the MVC paradigm, configuration controls over libraries and databases, extensive debug and documentation tools, and ability to play with various relational databases, it is an excellent choice to build the most complex of web applications.
Whether you are looking for a Travel Site, a Social Network, an ERP system or any other kind of web application, trust us to come up with a robust and intelligent solution for your application using Symfony. Please send in your requirement to info@mobicules.com.
SoC Keynote:The State of the Art in Integration TechnologySrinath Perera
This talk discusses Outline of the state of the art of Enterprise Software and how we get there, as I see it. Also second part describes Ballerina, a new programming language WSO2 has built for Enterprise Computing.
It is presented as a Keynote at 11th Symposium and Summer School On Service-Oriented Computing.
Running a Megasite on Microsoft Technologiesgoodfriday
MySpace and Microsoft.com are two of the most-visited Web sites on the planet. Come to this session to hear about lessons learned using Microsoft technologies to run Web applications on a massive scale. Representatives from Microsoft.com talk about lessons learned using an all-Microsoft datacenter. Representatives from MySpace talk about the realities of using Microsoft technologies in a scalable, federated environment using SQL Server 2005, .NET 2.0 and IIS 6 on Windows Server 2003 64-bit editions. This session features an open Q&A with a panel of technical managers and engineers from MySpace and Microsoft.com.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
Todays web front-end applications architecture. All resources shared at the end of presentation.
Full sources on:
https://lnkd.in/gyQuFKK
https://lnkd.in/gZK8Sp3
This was a talk, largely on Kamaelia & its original context given at a Free Streaming Workshop in Florence, Italy in Summer 2004. Many of the core
concepts still hold valid in Kamaelia today
At Tuenti, we do 3 code pushes per week, sometimes modifying thousands of files and running thousands of automated tests and build operations before, to ensure not only that the code works but also that proper localization is applied, bundles are generated and files get deployed to hundreds of servers as fast and reliable as possible.
We use opensource tools like Mercurial, MySQL, Jenkins, Selenium, PHPUnit and Rsync among our own in-house ones, and have different development, testing, staging and production environments.
We had to fight with problems like statics bundling and versioning, syntax errors and of course the fact that we have +100 engineers working on the codebase, merging and releasing more than a 15 branches the same day. We also switched from Subversion to Mercurial to obtain more flexibility and faster branching operations.
With this talk we will explain the process of how code changes in ourcode repository end up in live code, detailing some practices and tips that we apply, problems we had and how we solved them.
Erik Schultink's closing keynote at FICOD 2011. He discusses the history of Tuenti, lessons learned along the way, our view of opportunity in the Mobile Web ecosystem today, and the vision of TU addressing that opportunity.
More Related Content
Similar to Tuenti Tech Teams. Frontend, Backend, Systems and more, working together
Large scale, cloud computing and scalability with UmbracoWarren Buckley
Alex Norcliffe from Conde Nast International Digital/Umbraco Core Team and Peter Miller from Conde Nast Digital UK will discuss umbraco on a large scale, cloud computing and scalability.
We at Mobicules are experts at designing and implementing great solutions using Symfony.
Symfony is a great framework to build sophisticated, maintainable, extendable and scalable applications using php. Following the MVC paradigm, it keeps code maintainable, and heavily minimizes the number of repetitive tasks that need to be performed while building and maintaining the application.
Symfony is very well suited for building applications in the enterprise context. With its enforcement of the MVC paradigm, configuration controls over libraries and databases, extensive debug and documentation tools, and ability to play with various relational databases, it is an excellent choice to build the most complex of web applications.
Whether you are looking for a Travel Site, a Social Network, an ERP system or any other kind of web application, trust us to come up with a robust and intelligent solution for your application using Symfony. Please send in your requirement to info@mobicules.com.
SoC Keynote:The State of the Art in Integration TechnologySrinath Perera
This talk discusses Outline of the state of the art of Enterprise Software and how we get there, as I see it. Also second part describes Ballerina, a new programming language WSO2 has built for Enterprise Computing.
It is presented as a Keynote at 11th Symposium and Summer School On Service-Oriented Computing.
Running a Megasite on Microsoft Technologiesgoodfriday
MySpace and Microsoft.com are two of the most-visited Web sites on the planet. Come to this session to hear about lessons learned using Microsoft technologies to run Web applications on a massive scale. Representatives from Microsoft.com talk about lessons learned using an all-Microsoft datacenter. Representatives from MySpace talk about the realities of using Microsoft technologies in a scalable, federated environment using SQL Server 2005, .NET 2.0 and IIS 6 on Windows Server 2003 64-bit editions. This session features an open Q&A with a panel of technical managers and engineers from MySpace and Microsoft.com.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
Todays web front-end applications architecture. All resources shared at the end of presentation.
Full sources on:
https://lnkd.in/gyQuFKK
https://lnkd.in/gZK8Sp3
This was a talk, largely on Kamaelia & its original context given at a Free Streaming Workshop in Florence, Italy in Summer 2004. Many of the core
concepts still hold valid in Kamaelia today
At Tuenti, we do 3 code pushes per week, sometimes modifying thousands of files and running thousands of automated tests and build operations before, to ensure not only that the code works but also that proper localization is applied, bundles are generated and files get deployed to hundreds of servers as fast and reliable as possible.
We use opensource tools like Mercurial, MySQL, Jenkins, Selenium, PHPUnit and Rsync among our own in-house ones, and have different development, testing, staging and production environments.
We had to fight with problems like statics bundling and versioning, syntax errors and of course the fact that we have +100 engineers working on the codebase, merging and releasing more than a 15 branches the same day. We also switched from Subversion to Mercurial to obtain more flexibility and faster branching operations.
With this talk we will explain the process of how code changes in ourcode repository end up in live code, detailing some practices and tips that we apply, problems we had and how we solved them.
Erik Schultink's closing keynote at FICOD 2011. He discusses the history of Tuenti, lessons learned along the way, our view of opportunity in the Mobile Web ecosystem today, and the vision of TU addressing that opportunity.
Tuenti Mobile by Davide Mendolia
Mobile devices are becoming one of the most used platform to connect to Internet, In Tuenti we are putting a focus on mobile platforms through applications and mobile web, discover how we are building m.tuenti.com.
Use of a palette of technologies like mobile device detection and capabilities on the server and the client side that help us to server different version as Plain HTML or HTML5.
How we try to bring the best user experience to every device adapting the possibles interactions based on the features or limitations of each them.
Tuenti is an always growing web application, constantly adding services and applications, with two or more releases per week, a lot of branches per release, 100+ engineers hacking code and keeping hundreds of servers running. Dealing with security in such an environment is a tough challenge from different perspectives.
On this talk we will explain how we keep security levels high, the most common attacks and good practices that might help you make your web applications safer. Also, some insight in how security is understood across the whole company (legal, user support, engineering) will be given, as it is crucial for us to have top knotch incident response.
At Tuenti, we do two code pushes per week, sometimes modifying thousands of files and running thousands of automated tests and build operations before, to ensure not only that the code works but also that proper localization is applied, bundles are generated and files get deployed to hundreds of servers as fast and reliable as possible.
We use opensource tools like Mercurial, MySQL, Jenkins, Selenium, PHPUnit and Rsync among our own in-house ones, and have different development, testing, staging and production environments.
We had to fight with problems like statics bundling and versioning, syntax errors and of course the fact that we have +100 engineers working on the codebase, sometimes merging and releasing more than a dozen branches the same day. We also switched from Subversion to Mercurial to obtain more flexibility and faster branching operations.
With this talk we will explain the process of how code changes in ourcode repository end up in live code, detailing some practices and tips that we apply.
The presentation starts with some basic theory on types. Later, different classifications for type systems are described, with the static/dynamic and strong/weak dimensions the ones we spend more time on.
The third topic addressed is how the mix of polimorsfism with covariance and descendant hiding affects the type system, and what new problems arise and have to be addressed by the type system.
We finished the presentation with a discussion about pros and cons of the PHP type system.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
6. Tuenti Tech Teams - Frontend
Frameworks
Javascript
Client-side Profiling
Sample perceived load times! This is what
matters to the users!
Presentation / UI
Navigation
Stick
together!
Have fun!
7. Tuenti Tech Teams - Frontend
Product teams
Developers - JS/PHP -
frontend and backend
Product managers
Designers
Do
Product development
Product design
Software design
Everybody's input
matters - it's a team
effort! Everybody has to
be proud of the result!
8. Tuenti Tech Teams - Backend
Make possible the "web scale"
20.000.000.000 page views / month
3.000.000 page views / day in tuenti mobile
2.500.000 uploaded photos / day
72 minutes per user per day
500+ servers
9. Tuenti Tech Teams - Backend
DB design ...
... forgetting about the old theory
Cache, cache, cache
Change the way you think...
... concurrency, race conditions, failures
Hard to test scalability
Every bit counts
Know your software & work closely with systems
11. Tuenti Tech Teams - Systems
Fundamental, the base of everything!!!
Network design, systems architecture
Cope with problems:
Internal network traffic, latencies, isolate traffic
Load balancers
Electricity consumption
BGP, OSPF, multiple links with providers
Know how to find problems, know how everything works.
Deep linux knowledge, know how to optimize servers for
each task.
A big challenge to maintain and monitor hundreds of servers
+500!
13. Overview
Large scale & cost-effective web-based IM service
Open source + innovative ideas
Do not reinvent the wheel
Delay product launch indefinitely
Repeat old mistakes
XMPP is a mature, open, distributed & extensible middle-ware
Next generation large-scale real-time web applications
Google Wave!
1M concurrent chatting users
...launching to everybody in a couple of days
Get a high quality IM platform: ejabberd
Extend + adapt + optimize
High performance, clustered & fault-tolerant
Open source + deployed all over the world
Implemented in Erlang/OTP
14. A glimpse at Erlang/OTP
Designed in Ericsson’s Computer Science Lab
Ericsson ⇒ AXD301 ATM switch
Nortel Networks (Alteon) ⇒ SSL accelerator
CouchDB, RabbitMQ, Yaws, MochiWeb, Tsung, ejabberd...
Distributed functional paradigm
Simple and easy to learn
High level of abstraction
High productivity
Built in solid concurrency model
Explicit or transparent distribution
Asynchronous message passing
Soft real time
Robustness
Multi-core architectures
15. The backend/systems side (I)
The challenge,
Handle even more concurrent users per server
Optimize memory & CPU consumption
Be ready for site/service growth
Smart partitioning/load balancing strategies
Integrate in existing backend
State-less instant messaging service
Data duplications / additional storage reqs
API integration
Monitoring infrastructure
Self-management when overloaded
Anti-abuse policies
Controlled client implementation + not server federation
Some cheating is allowed
16. The backend/systems side (and II)
Our strategy,
Benchmark
Optimize
Monitor
Dark launch
Optimize
Performance bottlenecks
Bugs
Launch
Probably largest Jabber/XMPP deployment in Spain
> 100M routed messages first week on-line
Continuous grown
Average 25M daily routed messages
17. The frontend side
Build a rich UI
Increase user engagement
Make them use the chat
Browser issues
Render time
CSS constraints
Technical requirements
XMPP JS library
Cross domain XHR
Fault tolerant client-side engine
Metrics
18.
19. Building a rich UI
Make the chat visible at the very first page load
Show the buddy list
One click - start chat
Unobtrusive interface
The user must be able to keep browsing the site with
minimum impact
Deal with small screen resolutions and multiple
conversations
Integrate with the rest of our site (i.e. video player)
20.
21. Browser issues
Discard IE6
SLOW javascript
Style limitations (position fixed)
Fake the behavior attaching events is expensive
Thank god the number of IE6 users is going down
IE7 render performance
Save states of the rendered elements
Reduce DOM manipulation
Reuse the buddy list module instead of repainting it
Firebug is your best friend
Webkit browsers throwing generic errors from the JS library
Build our own error wrapper
22. Technical requirements (I)
Send XMPP requests from the client to the jabber servers
Pick a JS Jabber library
Audit the code
Performance tests
Adapt and extend
Cross domain XHR requests
Can't work with the current iframe approach
Approaches
window.name
cookie transport
Finally
iframe controller file
23. Technical requirements (II)
Fault tolerant request engine
Users poor connections
Multiple connections from different browsers/computers
Gracefully recover from server errors
Metrics
Chat usage patterns
Detect possible message delivery problems
Track active chat user engagement
Browser stats